MAS-WP-0005-T02: SCP-2 lower-case resource types (spec v0.1.1)

Grammar, statute schema key pattern, parser (is_resource_type, also used
by statute lint), reference parser, spec 6.1 and a new CHANGELOG. Fixtures
p1-042..045; prop-case-001 Ticket=PR42 is now invalid.

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
This commit is contained in:
tegwick 2026-10-18 18:08:36 +02:00
parent 6ee9e4dd54
commit 5b57a9941e
14 changed files with 155 additions and 25 deletions

View file

@ -49,8 +49,11 @@ lower-case in the grammar.
**Options:**
- **(a) recommended:** restrict `resource-type` in the grammar to lower-case
ALPHA, DIGIT and `-`. `Ticket=PR42` then parses as an opaque target, which
is the safe outcome under §6.1 ("no semantics solely because of `=`").
ALPHA, DIGIT and `-`. (Correction during implementation: `Ticket=PR42`
does **not** become an opaque target, because opaque targets cannot
contain `=`. It becomes a non-canonical address, rejected with
`invalid-resource-type` and carried as ordinary email. That is stricter
and still safe under §6.1.)
- (b) keep the grammar and state in §8 that the statute's equivalence policy
also applies to the type name.