Filing gate ① — a defect with a named landing site, finding class (b): governed text that contradicts a recorded ruling.
Reader, and what they do: the domain:skills seat, because docs/adr/** is a governed surface. It corrects one ADR sentence in a Tier H PR, which lands on the maintainer's approval.
Found by the #17152 dev (PR #20181, out_of_scope_findings), which corrected the same rule in the two code-side sites: packages/spec/src/migrations/types.ts and the hand-written header of packages/spec/src/migrations/registry.ts. Filed by domain:spec seat 2 (session_01QcAS3qiYYZNezaxZxaUdMV, seat post #18549). ⛔ Not graded or routed here.
The ruling
#17152 was ruled B (director seat, class-one self-adjudication 5615360777, restated at 5634031140) on the authority of the maintainer's ruling on #15954 (comment 5559778263, verbatim 「one ADR-0087 D3 semantic entry per family … its D3 entry says so」). Ruling B: every retirement family has one D3 entry, even when a lossless D2 conversion also exists; D2 carries the mechanical data repair only.
The contradicting text (origin/main)
docs/adr/0087-metadata-protocol-upgrade-contract.md, the migration-chain paragraph (around line 175): 「Two sources feed each major's step: semantic changes authored for that major (the residue D2 cannot express losslessly), and graduated conversions (D2 entries retired from the load path).」
The parenthesis defines the D3 semantic list as only the residue D2 cannot express, which is the pre-ruling rule. The other sentence the dev flagged (around line 152, 「Semantic changes are excluded. A change whose old shape has no lossless mapping cannot be converted; it goes to D3.」) states D2's scope and does not contradict ruling B. ⛔ It needs no change.
Reach: a named producer. Retirement cards and their devs read ADR-0087 to decide what a retirement owes. Once PR #20181 lands, the ADR is the last source that still teaches the pre-ruling rule. The contradiction is what #17152 was filed about: 「这个约定每张退役卡都会再撞一次」.
Dedupe
Query (mcp__github__search_issues, repo-scoped, semantic, closed included): ADR-0087 text semantic D3 entries only for residue D2 cannot express losslessly contradicts one D3 entry per retirement family ruling → 8 hits, 0 duplicates. The only related hit is #17152 itself; the others are unrelated retirements (#19939, #12867, #19408, #15247, #16320, #15513, #3855).
Dedupe words: ADR-0087 semantic residue D2 cannot express · D3 per family ADR text · migration chain two sources residue ruling B
Generated by Claude Code
Filing gate ① — a defect with a named landing site, finding class (b): governed text that contradicts a recorded ruling.
Reader, and what they do: the
domain:skillsseat, becausedocs/adr/**is a governed surface. It corrects one ADR sentence in a Tier H PR, which lands on the maintainer's approval.Found by the #17152 dev (PR #20181,
out_of_scope_findings), which corrected the same rule in the two code-side sites:packages/spec/src/migrations/types.tsand the hand-written header ofpackages/spec/src/migrations/registry.ts. Filed bydomain:specseat 2 (session_01QcAS3qiYYZNezaxZxaUdMV, seat post #18549). ⛔ Not graded or routed here.The ruling
#17152 was ruled B (director seat, class-one self-adjudication
5615360777, restated at5634031140) on the authority of the maintainer's ruling on #15954 (comment5559778263, verbatim 「one ADR-0087 D3 semantic entry per family … its D3 entry says so」). Ruling B: every retirement family has one D3 entry, even when a lossless D2 conversion also exists; D2 carries the mechanical data repair only.The contradicting text (
origin/main)docs/adr/0087-metadata-protocol-upgrade-contract.md, the migration-chain paragraph (around line 175): 「Two sources feed each major's step: semantic changes authored for that major (the residue D2 cannot express losslessly), and graduated conversions (D2 entries retired from the load path).」The parenthesis defines the D3 semantic list as only the residue D2 cannot express, which is the pre-ruling rule. The other sentence the dev flagged (around line 152, 「Semantic changes are excluded. A change whose old shape has no lossless mapping cannot be converted; it goes to D3.」) states D2's scope and does not contradict ruling B. ⛔ It needs no change.
Reach: a named producer. Retirement cards and their devs read ADR-0087 to decide what a retirement owes. Once PR #20181 lands, the ADR is the last source that still teaches the pre-ruling rule. The contradiction is what #17152 was filed about: 「这个约定每张退役卡都会再撞一次」.
Dedupe
Query (
mcp__github__search_issues, repo-scoped, semantic, closed included):ADR-0087 text semantic D3 entries only for residue D2 cannot express losslessly contradicts one D3 entry per retirement family ruling→ 8 hits, 0 duplicates. The only related hit is #17152 itself; the others are unrelated retirements (#19939, #12867, #19408, #15247, #16320, #15513, #3855).Dedupe words:
ADR-0087 semantic residue D2 cannot express·D3 per family ADR text·migration chain two sources residue ruling BGenerated by Claude Code