MAS v0.2 final (MAS-WP-0009 finished); residual MAS-WP-0014

Founder decision after the second implementation: close the two open gaps,
then declare v0.2 final. Section 13: parsers MUST reject over 64 octets
(fixtures p1-050/051); section 8: equivalence is between targets, key format
not normative. Draft markers removed, CHANGELOG dated 2026-10-19,
MAS_VERSION 0.2, mas_conformance vendors the v0.2 addresses.json. Mode
contract v0.1 stays draft: MAS-WP-0014 (independent email side).

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
This commit is contained in:
tegwick 2026-10-19 13:35:10 +02:00
parent a841ceec73
commit f07576451a
16 changed files with 178 additions and 40 deletions

View file

@ -7,8 +7,10 @@ Reference implementation and spec workbench for Mail Address Semantics
framework. Contents: parser, statute discovery, pure policy, generator,
CLI, mail gateway, reference ticket service, a tested Postfix integration
profile, and the mode contract with an email side that works as master or
slave. It implements address spec v0.1.1, the v0.2 draft and mode contract
v0.1 (draft).
slave. It implements address spec v0.1.1 and v0.2 (final), and mode
contract v0.1 (draft). A second, independent implementation in
JavaScript (`impl/js/`) validates v0.2 and the master side of the mode
contract.
## Core Idea
@ -23,9 +25,13 @@ delivery stays external.
## In Scope
- **Normative bundles.** `mas-v0.1-spec/` (v0.1.1 errata) and
`mas-v0.2-spec/` (draft: stand-ins, destination transforms,
`mas-v0.2-spec/` (final 2026-10-19: stand-ins, destination transforms,
`resource_id_case`). Spec changes go through
`docs/spec-change-proposals.md`.
- **`impl/js/`.** The second implementation: parser, statute-aware rules,
signing, outside master. Zero dependencies; `tests/test_js_impl.py` and
the differential test `tests/test_differential.py` run it when Node is
available.
- **`mas_core`.** Parser, model, statute validation and lint, exact-host
discovery with explicit `inherits`, policy, and the generator with v0.2
destination transforms.
@ -62,9 +68,8 @@ delivery stays external.
- Real non-email modes (telephony, chat, SMS, video), connectors to real
CMS or ticketing products, and the multimodal framework itself. Other
modes exist here only as contract-speaking test stubs.
- Implementations in other languages (TypeScript, Go), until a second
consumer exists. That is also the gate for declaring v0.2 final
(MAS-WP-0009).
- Further language implementations beyond `impl/js/`, and `impl/js/` as
a published package.
- Postfix policy daemon, Exim profile (until there is demand), mail-client
plugins and inspectors, browser extensions, a web composer.
- Central MAS registry, signed statutes, implicit parent-domain
@ -81,26 +86,28 @@ delivery stays external.
- Status: active. The reference experiment (MAS-WP-0002) passed its
decision gate on 2026-10-18; the findings are in
`docs/experiment-review.md`.
- Finished: MAS-WP-0001 to 0006, 0008, 0010 and 0011 (peer
authentication in the mode contract). Postfix profile, v0.1.1
- Finished: MAS-WP-0001 to 0006 and 0008 to 0013. That covers v0.2,
which is final; the mode contract with authentication, one outbound
path and harness-independent flows; and the second implementation. Postfix profile, v0.1.1
errata, v0.2 draft, address composer, v0.2 conformance cases, and the
mode contract with its reference implementation.
- Open: MAS-WP-0007 (retire the live MX; backlog, kept by decision),
MAS-WP-0009 (declare v0.2 final; waits for a second implementation),
and MAS-WP-0012 and 0013 (proposed).
- v0.2 stays a draft (founder, 2026-10-19).
- Open: MAS-WP-0007 (retire the live MX; backlog, kept by decision) and
MAS-WP-0014 (finalize mode contract v0.1; waits for an independent email
side).
- v0.2 is final (founder, 2026-10-19, after MAS-WP-0009). Mode contract
v0.1 stays a draft.
- P2 is decided: `!MODE` requests a handoff (founder, 2026-10-19; SCP-8,
v0.2 §7.1). The mode contract v0.1 draft and the reference
implementation are done (MAS-WP-0010); `mas test` runs the contract
corpus.
- The live MX runs image `mas-live:v0.2-a95f848` (redeployed 2026-10-19)
and is kept up by founder decision (MAS-WP-0007 stays in backlog).
Open follow-ups: MAS-WP-0012 (one outbound path and cap), 0013
(harness-independent flows), 0009 (second implementation, now covering
both drafts).
- Tests: `.venv/bin/pytest` runs 249 tests, offline apart from loopback
fixtures and the Docker probe. `mas test` runs four corpora: parser
62, statute 16, v0.2 statute-aware 29, mode contract 194.
The deployment with MAS-WP-0012 (one outbound path) is recorded in
MAS-WP-0007.
- Tests: `.venv/bin/pytest` runs 274 tests, offline apart from loopback
fixtures, the Docker probe and Node for `impl/js/`. `mas test` runs
four corpora: parser 64, statute 16, v0.2 statute-aware 33, mode
contract 195. `cd impl/js && node --test` runs 85 more.
- Assessments: `history/` (latest: `2026-10-19T090725Z-scope-vs-intent.md`).
## Getting Oriented