| Filename | Latest commit message | Latest commit date |
|---|---|---|
case-insensitive, the bidi set is pinned per-point, and the title rule refuses two more separators Soul's RS-L second-fix pass found identity() exposed but never adopted: key derivation and every derived PartialEq/Ord/Hash still ran on the raw string, so GameCult/Epiphany and gamecult/epiphany were two stewardships and two store keys (S-1). The .git refusal was case-sensitive, so a case variant reached an identity() the validator itself refused (S-2). Only U+202E was pinned in the bidi match arm; every other code point's test fixture was a lone character the alphanumeric rule already refused, so cargo-mutants could not see a class-member deletion (S-3). is_control() is Cc only, so U+2028/U+2029 (Zl/Zp) slipped through the widened title rule and a one-line field could carry a hard line break (S-4). The Title schema description lost the bytes-versus-characters caveat the original RS-L cut carried (S-5). - S-1: `OrgRepo` is pulled out of the `bounded_text!` macro (which has no per-member override) and given hand-written PartialEq, Eq, Hash, PartialOrd and Ord, all defined over identity(). Every other `bounded_text!` member keeps the macro's derives untouched. Key derivation for Stewardship and HandOff (lib.rs's Stewardship/HandOff arms of pipeline_key) now escapes repo.identity() instead of the raw string. - S-2: org_repo_text's `.git` suffix check is ASCII-case-insensitive. identity() stays valid for every value validate_org_repo accepts, since lowercasing never changes the outcome of any rule in the grammar. - S-3: title_text's control check also refuses U+2028 and U+2029 alongside is_control(); everything else, including ZWJ/ZWNJ, is unaffected. - S-5: Title's doc comment (the schema description) regains "enforced by admission; JSON Schema length counts characters". Tests add: OrgRepo equality/ordering by identity, a HashMap and a BTreeMap each keyed by both spellings holding one entry, identity() always itself valid, case-insensitive .git fixtures (a/b.GIT, a/.GIT, A/B.GIT), one Stewardship store key for both spellings, all eleven bidi code points pinned with embedded (`a<cp>b`) fixtures instead of lone characters, and U+2028/U+2029 refused embedded. Schemas regenerated in the next commit. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> |
||
| .. | ||
| src | ||
| Cargo.toml | ||