- mas_core: P2-maximal parser with required_profile, generator, statute schema + semantic lint + defaults-only inheritance, exact-host discovery with typed failures and same-origin redirects, pure policy resolver - mas_conformance: vendored spec fixtures (drift-tested) + property and statute cases - mas CLI: parse / explain / discover / lint-statute / test - mas-gateway: generic mail -> MAS event -> HTTP (MTA pipe + webhook) - examples: static great-service.example statute, reference ticket service - docs/experiment-review.md: first-pass findings; live MTA test still open 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
315 lines
6.5 KiB
JSON
315 lines
6.5 KiB
JSON
[
|
|
{
|
|
"id": "p1-001",
|
|
"local_part": "bernd.worsch",
|
|
"profile": "p1",
|
|
"valid": true,
|
|
"parsed": {
|
|
"target": "bernd.worsch",
|
|
"target_kind": "opaque",
|
|
"facet": null,
|
|
"interaction": null
|
|
}
|
|
},
|
|
{
|
|
"id": "p1-002",
|
|
"local_part": "anne-marie.schmidt",
|
|
"profile": "p1",
|
|
"valid": true,
|
|
"parsed": {
|
|
"target": "anne-marie.schmidt",
|
|
"target_kind": "opaque",
|
|
"facet": null,
|
|
"interaction": null
|
|
}
|
|
},
|
|
{
|
|
"id": "p1-003",
|
|
"local_part": "support",
|
|
"profile": "p1",
|
|
"valid": true,
|
|
"parsed": {
|
|
"target": "support",
|
|
"target_kind": "opaque",
|
|
"facet": null,
|
|
"interaction": null
|
|
}
|
|
},
|
|
{
|
|
"id": "p1-004",
|
|
"local_part": "invoice-reviewer_backup",
|
|
"profile": "p1",
|
|
"valid": true,
|
|
"parsed": {
|
|
"target": "invoice-reviewer_backup",
|
|
"target_kind": "opaque",
|
|
"facet": null,
|
|
"interaction": null
|
|
}
|
|
},
|
|
{
|
|
"id": "p1-005",
|
|
"local_part": "happy-helper.v2",
|
|
"profile": "p1",
|
|
"valid": true,
|
|
"parsed": {
|
|
"target": "happy-helper.v2",
|
|
"target_kind": "opaque",
|
|
"facet": null,
|
|
"interaction": null
|
|
}
|
|
},
|
|
{
|
|
"id": "p1-010",
|
|
"local_part": "ticket=PR42",
|
|
"profile": "p1",
|
|
"valid": true,
|
|
"parsed": {
|
|
"target": "ticket=PR42",
|
|
"target_kind": "resource",
|
|
"resource_type": "ticket",
|
|
"resource_id": "PR42",
|
|
"facet": null,
|
|
"interaction": null
|
|
}
|
|
},
|
|
{
|
|
"id": "p1-011",
|
|
"local_part": "invoice=RE=2026-4711",
|
|
"profile": "p1",
|
|
"valid": true,
|
|
"parsed": {
|
|
"target": "invoice=RE=2026-4711",
|
|
"target_kind": "resource",
|
|
"resource_type": "invoice",
|
|
"resource_id": "RE=2026-4711",
|
|
"facet": null,
|
|
"interaction": null
|
|
}
|
|
},
|
|
{
|
|
"id": "p1-012",
|
|
"local_part": "ticket=PR42+comments",
|
|
"profile": "p1",
|
|
"valid": true,
|
|
"parsed": {
|
|
"target": "ticket=PR42",
|
|
"target_kind": "resource",
|
|
"resource_type": "ticket",
|
|
"resource_id": "PR42",
|
|
"facet": "comments",
|
|
"interaction": null
|
|
}
|
|
},
|
|
{
|
|
"id": "p1-013",
|
|
"local_part": "bernd.worsch+github",
|
|
"profile": "p1",
|
|
"valid": true,
|
|
"parsed": {
|
|
"target": "bernd.worsch",
|
|
"target_kind": "opaque",
|
|
"facet": "github",
|
|
"interaction": null
|
|
}
|
|
},
|
|
{
|
|
"id": "p1-020",
|
|
"local_part": "=PR42",
|
|
"profile": "p1",
|
|
"valid": false,
|
|
"error": "empty resource type"
|
|
},
|
|
{
|
|
"id": "p1-021",
|
|
"local_part": "ticket=",
|
|
"profile": "p1",
|
|
"valid": false,
|
|
"error": "empty resource id"
|
|
},
|
|
{
|
|
"id": "p1-022",
|
|
"local_part": "ticket=PR42+",
|
|
"profile": "p1",
|
|
"valid": false,
|
|
"error": "empty facet"
|
|
},
|
|
{
|
|
"id": "p1-023",
|
|
"local_part": "ticket=PR42+comments+attachments",
|
|
"profile": "p1",
|
|
"valid": false,
|
|
"error": "multiple facet operators"
|
|
},
|
|
{
|
|
"id": "p1-024",
|
|
"local_part": "ticket=PR42$4.99",
|
|
"profile": "p1",
|
|
"valid": false,
|
|
"error": "reserved operator"
|
|
},
|
|
{
|
|
"id": "p1-025",
|
|
"local_part": "ticket=PR42^1h",
|
|
"profile": "p1",
|
|
"valid": false,
|
|
"error": "reserved operator"
|
|
},
|
|
{
|
|
"id": "p1-026",
|
|
"local_part": ".bernd",
|
|
"profile": "p1",
|
|
"valid": false,
|
|
"error": "leading dot"
|
|
},
|
|
{
|
|
"id": "p1-027",
|
|
"local_part": "bernd.",
|
|
"profile": "p1",
|
|
"valid": false,
|
|
"error": "trailing dot"
|
|
},
|
|
{
|
|
"id": "p1-028",
|
|
"local_part": "bernd..worsch",
|
|
"profile": "p1",
|
|
"valid": false,
|
|
"error": "repeated dot"
|
|
},
|
|
{
|
|
"id": "p1-029",
|
|
"local_part": "ticket=PR.42",
|
|
"profile": "p1",
|
|
"valid": true,
|
|
"parsed": {
|
|
"target": "ticket=PR.42",
|
|
"target_kind": "resource",
|
|
"resource_type": "ticket",
|
|
"resource_id": "PR.42",
|
|
"facet": null,
|
|
"interaction": null
|
|
}
|
|
},
|
|
{
|
|
"id": "p1-030",
|
|
"local_part": "ticket=PR%2B42",
|
|
"profile": "p1",
|
|
"valid": true,
|
|
"parsed": {
|
|
"target": "ticket=PR%2B42",
|
|
"target_kind": "resource",
|
|
"resource_type": "ticket",
|
|
"resource_id": "PR%2B42",
|
|
"facet": null,
|
|
"interaction": null
|
|
},
|
|
"note": "%2B is literal data; MAS v0.1 does not percent-decode"
|
|
},
|
|
{
|
|
"id": "p2-001",
|
|
"local_part": "ticket!callback",
|
|
"profile": "p2",
|
|
"valid": true,
|
|
"parsed": {
|
|
"target": "ticket",
|
|
"target_kind": "opaque",
|
|
"facet": null,
|
|
"interaction": "callback"
|
|
},
|
|
"generator_allowed": true
|
|
},
|
|
{
|
|
"id": "p2-002",
|
|
"local_part": "ticket=PR42!web",
|
|
"profile": "p2",
|
|
"valid": true,
|
|
"parsed": {
|
|
"target": "ticket=PR42",
|
|
"target_kind": "resource",
|
|
"resource_type": "ticket",
|
|
"resource_id": "PR42",
|
|
"facet": null,
|
|
"interaction": "web"
|
|
},
|
|
"generator_allowed": true
|
|
},
|
|
{
|
|
"id": "p2-003",
|
|
"local_part": "ticket=PR42+comments!callback",
|
|
"profile": "p2",
|
|
"valid": true,
|
|
"parsed": {
|
|
"target": "ticket=PR42",
|
|
"target_kind": "resource",
|
|
"resource_type": "ticket",
|
|
"resource_id": "PR42",
|
|
"facet": "comments",
|
|
"interaction": "callback"
|
|
},
|
|
"generator_allowed": false
|
|
},
|
|
{
|
|
"id": "p2-010",
|
|
"local_part": "ticket!",
|
|
"profile": "p2",
|
|
"valid": false,
|
|
"error": "empty interaction"
|
|
},
|
|
{
|
|
"id": "p2-011",
|
|
"local_part": "ticket!callback!chat",
|
|
"profile": "p2",
|
|
"valid": false,
|
|
"error": "multiple interaction operators"
|
|
},
|
|
{
|
|
"id": "p2-012",
|
|
"local_part": "ticket!callback+comments",
|
|
"profile": "p2",
|
|
"valid": false,
|
|
"error": "non-canonical operator order"
|
|
},
|
|
{
|
|
"id": "p1-031",
|
|
"local_part": "ticket!callback",
|
|
"profile": "p1",
|
|
"valid": false,
|
|
"error": "interaction not enabled in P1"
|
|
},
|
|
{
|
|
"id": "p2-013",
|
|
"local_part": "ticket=PR42+comments!callback$4.99",
|
|
"profile": "p2",
|
|
"valid": false,
|
|
"error": "reserved operator"
|
|
},
|
|
{
|
|
"id": "p2-014",
|
|
"local_part": "ticket=PR42+comments!call.back",
|
|
"profile": "p2",
|
|
"valid": true,
|
|
"parsed": {
|
|
"target": "ticket=PR42",
|
|
"target_kind": "resource",
|
|
"resource_type": "ticket",
|
|
"resource_id": "PR42",
|
|
"facet": "comments",
|
|
"interaction": "call.back"
|
|
},
|
|
"generator_allowed": false
|
|
},
|
|
{
|
|
"id": "p1-040",
|
|
"local_part": "\"ticket=PR42\"",
|
|
"profile": "p1",
|
|
"valid": false,
|
|
"error": "quoted local-part outside canonical MAS v0.1"
|
|
},
|
|
{
|
|
"id": "p1-041",
|
|
"local_part": "tïcket=PR42",
|
|
"profile": "p1",
|
|
"valid": false,
|
|
"error": "non-ASCII outside canonical MAS v0.1"
|
|
}
|
|
]
|