mail-address-semantics/mas-v0.2-spec
tegwick a841ceec73 MAS-WP-0009 T01: independent JS implementation (impl/js), differential test, SCP-9
impl/js (Node, zero deps, written from the specs): parser, v0.2
statute-aware rules, signing, outside master. Passes addresses.json,
statute-aware.json and auth.json unchanged; its master passes the 11
slave-setup mode flows against the Python email side (ExternalMaster).
Differential testing vs mas_core found two unstated stand-in rules, now
SCP-9 in the v0.2 draft with fixtures si-011..013, dt-109; ABNF comments
no longer say v0.1. Runner: external masters, step errors fail the flow.

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 13:22:22 +02:00
..
conformance MAS-WP-0009 T01: independent JS implementation (impl/js), differential test, SCP-9 2026-10-19 13:22:22 +02:00
examples MAS-WP-0005-T07: v0.2 draft bundle; mas_core accepts v0.1 and v0.2 statutes 2026-10-18 22:19:34 +02:00
grammar MAS-WP-0009 T01: independent JS implementation (impl/js), differential test, SCP-9 2026-10-19 13:22:22 +02:00
reference MAS-WP-0005-T07: v0.2 draft bundle; mas_core accepts v0.1 and v0.2 statutes 2026-10-18 22:19:34 +02:00
schema MAS-WP-0005-T07: v0.2 draft bundle; mas_core accepts v0.1 and v0.2 statutes 2026-10-18 22:19:34 +02:00
CHANGELOG.md MAS-WP-0009 T01: independent JS implementation (impl/js), differential test, SCP-9 2026-10-19 13:22:22 +02:00
CONFORMANCE.md MAS-WP-0010 finished: email slave role, stub outside master, contract flows, SCP-8 2026-10-19 11:03:16 +02:00
README.md MAS-WP-0008: v0.2 wording pass, statute-aware conformance corpus in the bundle 2026-10-19 09:31:30 +02:00
SPECIFICATION.md MAS-WP-0009 T01: independent JS implementation (impl/js), differential test, SCP-9 2026-10-19 13:22:22 +02:00

Mail Address Semantics (MAS) v0.2 (draft) — Specification Bundle

This bundle is the draft of MAS v0.2. It extends v0.1.1 (see CHANGELOG.md).

Contents

  • SPECIFICATION.md — normative protocol/convention text (v0.2 draft)
  • CHANGELOG.md — errata applied since v0.1
  • grammar/mas-v0.2.abnf — canonical ASCII local-part grammar (unchanged from v0.1.1)
  • schema/mas-statute-v0.2.schema.json — statute discovery document schema
  • examples/mas-statute.example.json — example statute
  • CONFORMANCE.md — parser/generator/statute conformance rules
  • conformance/addresses.json — positive and negative address fixtures
  • conformance/statute-aware.json — v0.2 stand-in, equivalence and destination-transform cases
  • reference/mas_parser.py — small non-normative reference parser

Profiles

  • P1 / Naming + Resource: naming hints, = resource binding, + facet
  • P2 / Interaction: optional ! interaction preference
  • P3 / Economic: reserved only; $ and ^ have no v0.2 semantics

The normative machine grammar is deliberately ASCII-only. SMTPUTF8/Unicode addresses may exist, but Unicode MAS semantics are not part of the canonical grammar.

Discovery status

/.well-known/mas is specified here as the intended discovery location. RFC 8615 requires new well-known URI suffixes to be registered for general Internet use. Until such registration exists, this path should be considered a draft/controlled-deployment convention rather than an IANA-registered Internet-wide well-known URI.