mail-address-semantics/mas-modes-v0.1-spec/README.md
tegwick ecb1ba47f6 MAS-WP-0013 finished: mode contract flows runnable from the bundle alone
conformance/FLOWS.md defines setup, steps, captures and expectations, all
observable at the contract boundary. flows.json carries setups (peer ids),
fixed test keys, statute, scenario and explicit assign steps;
scenarios.json holds the callback scenarios (the stub loads them).
CONTRACT.md defines the case.assign response. Runner reads only the
bundle and rejects undefined keys; new flow s-006 (held over cap).

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 12:49:15 +02:00

26 lines
1.3 KiB
Markdown

# 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`, with setups and test keys; runnable from the
bundle alone
- `conformance/FLOWS.md`: the flow format: steps, captures and expectations
- `conformance/scenarios.json`: the callback stub's scenarios
- `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.