mail-address-semantics/mas-modes-v0.1-spec
tegwick bdf200a600 MAS-WP-0011 finished: peer authentication in mode contract v0.1
CONTRACT.md section 7 (founder-reviewed): pairwise HMAC-SHA256 over
TIMESTAMP.BODY in MAS-Modes-* headers, 300 s window; master commands only
from the configured master; statuses only at the handoff's tokenized URL
from its peer; primed webhooks must name a known peer. mas_modes.signing,
signed contract.post, authenticating json_server, EmailMode/stubs/gateway
signing. conformance/auth.json vectors + 7 authorization flows.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

Assistant: claude-code
Assistant-Model: opus
Assistant-Process: 5787@bnt-lap001
Assistant-Session: 5db26b82-138b-40cc-9856-4d5eb0f752fd
2026-10-19 11:25:24 +02:00
..
conformance MAS-WP-0011 finished: peer authentication in mode contract v0.1 2026-10-19 11:25:24 +02:00
schema MAS-WP-0011 finished: peer authentication in mode contract v0.1 2026-10-19 11:25:24 +02:00
CONTRACT.md MAS-WP-0011 finished: peer authentication in mode contract v0.1 2026-10-19 11:25:24 +02:00
README.md MAS-WP-0011 finished: peer authentication in mode contract v0.1 2026-10-19 11:25:24 +02:00

MAS mode contract v0.1 (draft): specification bundle

How email hands a case to another communication mode, and how email works as one element of a control flow it does not own. It is versioned separately from the MAS address specification (mas-v0.2-spec/, §7).

Contents

  • CONTRACT.md: normative text (roles, transport, status machine, message types, principle 10)
  • schema/mas-modes-v0.1.schema.json: every contract message
  • schema/mas-event-v0.1.schema.json: the normalized gateway event (mas-gateway → application, and case.intake / case.message payloads)
  • conformance/transitions.json: the status machine as data
  • conformance/messages.json: valid and invalid messages
  • conformance/flows.json: scripted flows for MAS-MODES-EMAIL-MASTER and MAS-MODES-EMAIL-SLAVE
  • conformance/auth.json: signing vectors and verification cases (§7)
  • conformance/statute.json: the statute the flows run under

The reference email side, the callback stub and the stub outside master are in mas_modes/. mas test runs this bundle against them.