Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Assistant: claude-code Assistant-Model: opus Assistant-Process: 623586@bnt-lap001 Assistant-Session: 10b30928-5b3b-4c11-9934-5ecca07367d8
2.3 KiB
MAS v0.1 Conformance
1. Test surfaces
An implementation can claim any of the following independently:
MAS-P1-PARSERMAS-P2-PARSERMAS-V0.1-GENERATORMAS-V0.1-STATUTE
2. Parser requirements
A parser claiming MAS-P1-PARSER MUST produce the expected result for every
fixture whose profile is p1.
A parser claiming MAS-P2-PARSER MUST produce the expected result for every
fixture whose profile is p2, and MUST also satisfy MAS-P1-PARSER.
The parsed object in the fixture file is normative for the test corpus.
A parser MUST NOT infer person, actor, or function from ., -, _.
3. Generator requirements
A generator:
- MUST emit only grammar-valid canonical ASCII local-parts;
- MUST NOT emit empty target, resource type, resource id, facet, or interaction;
- MUST emit
+before!; - MUST NOT emit more than one
+or one!; - MUST NOT emit
$or^; - MUST NOT emit both
+and!in v0.1; - MUST keep the encoded SMTP local-part at or below 64 octets.
Fixtures with generator_allowed: false may still be accepted by a P2 parser,
but a conforming generator MUST NOT create them.
4. Statute requirements
A statute implementation MUST validate discovery documents using
schema/mas-statute-v0.1.schema.json.
It MUST NOT apply:
- case folding,
- dot folding,
- address classification,
- resource-type semantics,
- interaction-mode semantics,
unless the exact-host statute successfully validates and declares them.
5. Discovery failure
Failure to retrieve or validate a statute:
- does not invalidate the email address;
- does invalidate any claim that MAS namespace semantics were discovered;
- falls back to ordinary email handling plus exact local configuration.
6. Inheritance
Implementations are not required to implement inherits.
Implementations that do implement it MUST:
- fetch the explicit URI only;
- detect cycles;
- treat inherited data as defaults;
- never inherit explicit
addressesregistry entries; - let the child override inherited resource types and interaction modes.
7. Test command
The bundled reference parser can be run with:
python reference/mas_parser.py --self-test
The reference parser is non-normative; the grammar, specification, schema, and fixtures are normative for this draft.