mail-address-semantics/mas-v0.2-spec/CHANGELOG.md
tegwick a12e1c4370 MAS-WP-0005-T07: v0.2 draft bundle; mas_core accepts v0.1 and v0.2 statutes
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

Assistant: claude-code
Assistant-Model: opus
Assistant-Process: 252470@bnt-lap001
Assistant-Session: ad628c8f-4be2-4979-94c9-76c7ed6f8241
2026-10-18 22:19:34 +02:00

2.5 KiB

MAS specification changelog

v0.2 (draft)

New features, opt-in per statute with "mas_version": "0.2" (mail-address-semantics MAS-WP-0005; proposals SCP-6 and SCP-7 in docs/spec-change-proposals.md).

  • Stand-ins (SCP-6), §6.3. -- for = and --- for !, fixed by the spec and switched on by alternate_syntax.resource and alternate_syntax.interaction. Matching order: interaction first, then resource. No stand-in for +.

  • Destination transforms (SCP-6), §12.1 and §12.2. There is a closed set of five generator transforms. The canonical form is preferred, and the generator refuses when the statute does not permit a needed transform. An informative section covers integrations, with IONOS and Google Groups as examples.

  • Resource-identifier case (SCP-7), §8. equivalence.resource_id_case: exact | insensitive.

  • Length, §13. The length is re-checked after transforms.

  • SCP-1, quoted equivalence. A quoted local-part whose content is a valid canonical MAS local-part (no quoted-pairs) is equivalent to the unquoted form. Receivers treat them identically; generators emit the unquoted form; canonical parsers still reject the quoted form (§4). Fixture p1-040 note updated.

v0.1.1 (errata)

Errata from the reference experiment and the live provider test (mail-address-semantics MAS-WP-0002/0003). Proposals and evidence: docs/spec-change-proposals.md in the implementation repository.

  • SCP-2, resource types are lower-case. resource-type is now lower-case words of a-z/0-9 joined by single - or _ (§6.1, grammar, statute schema resource_types key pattern). Ticket=PR42, my--type=X and type-=X are no longer canonical. New fixtures: p1-042 to p1-045.

  • SCP-3, type intake. Address registry entries may carry intake_for: TYPE (statute schema). This explicitly makes a function address the intake for a declared resource type (§7). An opaque target equal to a type name has no intake semantics without it.

  • SCP-5, intake auto-reply bounds. New §14 item 10: auto-replies to intake or interaction addresses SHOULD require an authenticated sender, MUST be volume-bounded, and MUST NOT go to automated mail.

  • SCP-7, case-robust identifiers (recommendation). §6.2: generators SHOULD use identifiers whose meaning does not depend on case, and receivers SHOULD match them case-insensitively. The statute field resource_id_case is deferred to v0.2.

v0.1

Initial draft.