You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Filed by the dev seat implementing #8243 (branch claude/pin-ledger-docstring-key-totals-8243, PR #8247), unassigned and unlabelled — grading and domain:* are triage's. Out of that card's scope by its own dispatch fence, which said in as many words not to touch objectui#8222's or objectui#7279's assertions, so it is reported rather than repaired.
The stale sentence
packages/types/src/__tests__/zod-mirror-parity.test.ts, inside the assertion message of every key total and cross-ledger figure the header writes down equals the ledgers (the objectui#8222 block):
⚠️ ONE live figure in the header is deliberately NOT here: the seed decomposition under UnmirroredDeclared ("what 121 used to mean"). It needs each key's PROVENANCE and no ledger in this file records that, so nothing here can derive it. It is excluded in writing where it stands, which is the other half of objectui#8222 — every live figure in that header is pinned or excluded with its reason, and ⛔ a new one that is neither should not be added.
Two of the three claims are still exactly right, and should not be disturbed:
the file header carries no copy of the decomposition, and none is to be added back — unchanged;
nothing in the file can derive it, because no ledger records key provenance — unchanged.
The one word that stopped being true is live. objectui#8243 rewrote the deferred-to statement in the UnmirroredDeclared docstring as a reading at NAMED REVISIONS (98 keys at beccf1c6b, of which 85 survive and 13 have left at ed7178bf3; 85 + 13 + 23 = 121). A statement anchored that way is historical: nothing landing later can make it false, so it is not a live figure and carries none of a live figure's obligations.
Why this is the same defect class it sits next to
This is a restatement that did not move when the thing it describes moved — one site further in again, and the fifth instance of that shape recorded on this file: objectui#6141 to objectui#7433 to objectui#7733 to objectui#8222 to objectui#8243. The damage is small and specific: a reader who arrives at objectui#8222's message rather than at the docstring is told a figure is live when it is not, and the obvious next action — "then it needs pinning or excluding" — is the wrong one for a historical reading.
Why it was not fixed in place
The dispatch for #8243 fenced that block explicitly (do not touch objectui#8222's or objectui#7279's assertions; if the work makes one fail, stop and report). Nothing failed — the block is green on PR #8247's final tree — so the ban held and the residue is reported here instead.
The mitigation PR #8247 did land, and it bounds the damage without touching the fenced block: objectui#8243's own describe block now carries a pointer saying that objectui#8222's exclusion note predates the historical rewrite and that its claim about the file header is still correct. So a reader of the new block is guided; a reader of only the old message is not.
The decision this poses
Whether the correction belongs in objectui#8222's message at all. Two shapes, and this is not obvious enough to be settled by whoever picks it up without saying which they chose:
There is a real argument for (1) beyond tidiness: the sentence is not a historical record of what objectui#8222 believed, it is operational guidance addressed to whoever next edits the header, and operational guidance that has gone stale is the exact failure this file exists to catch. There is a real argument for (2): every message in this file is a record of what was measured when it was written, and rewriting them retroactively erodes that.
Duplicate check
Ran on the repo-scoped REST list endpoint (state=open, 3 pages of 100, 288 issues after dropping PRs, window #7189 to #8246) plus a local grep — GET /search/issues was not used. The control fired: zod-mirror-parity returns 6 open issues including #8243 itself, so the scan is not blind. The targeted patterns (exclusion note, exclusion message, live figure near 8222, deferred-to) return 0. ⚠️ The window is open issues only; a closed card would not be seen, though the defect only came into existence with PR #8247.
Refs: #8243 · #8247 (the PR that made the sentence stale and added the pointer) · objectui#8222 · objectui#8242
Reported by the Claude Code seat working #8243, session session_0114Ytxr5sM1vdW19Y9WAx6E.
Filed by the dev seat implementing #8243 (branch
claude/pin-ledger-docstring-key-totals-8243, PR #8247), unassigned and unlabelled — grading anddomain:*are triage's. Out of that card's scope by its own dispatch fence, which said in as many words not to touch objectui#8222's or objectui#7279's assertions, so it is reported rather than repaired.The stale sentence
packages/types/src/__tests__/zod-mirror-parity.test.ts, inside the assertion message ofevery key total and cross-ledger figure the header writes down equals the ledgers(the objectui#8222 block):Two of the three claims are still exactly right, and should not be disturbed:
The one word that stopped being true is live. objectui#8243 rewrote the deferred-to statement in the
UnmirroredDeclareddocstring as a reading at NAMED REVISIONS (98 keys atbeccf1c6b, of which 85 survive and 13 have left ated7178bf3; 85 + 13 + 23 = 121). A statement anchored that way is historical: nothing landing later can make it false, so it is not a live figure and carries none of a live figure's obligations.Why this is the same defect class it sits next to
This is a restatement that did not move when the thing it describes moved — one site further in again, and the fifth instance of that shape recorded on this file: objectui#6141 to objectui#7433 to objectui#7733 to objectui#8222 to objectui#8243. The damage is small and specific: a reader who arrives at objectui#8222's message rather than at the docstring is told a figure is live when it is not, and the obvious next action — "then it needs pinning or excluding" — is the wrong one for a historical reading.
Why it was not fixed in place
The dispatch for #8243 fenced that block explicitly (do not touch objectui#8222's or objectui#7279's assertions; if the work makes one fail, stop and report). Nothing failed — the block is green on PR #8247's final tree — so the ban held and the residue is reported here instead.
The mitigation PR #8247 did land, and it bounds the damage without touching the fenced block: objectui#8243's own describe block now carries a pointer saying that objectui#8222's exclusion note predates the historical rewrite and that its claim about the file header is still correct. So a reader of the new block is guided; a reader of only the old message is not.
The decision this poses
Whether the correction belongs in objectui#8222's message at all. Two shapes, and this is not obvious enough to be settled by whoever picks it up without saying which they chose:
There is a real argument for (1) beyond tidiness: the sentence is not a historical record of what objectui#8222 believed, it is operational guidance addressed to whoever next edits the header, and operational guidance that has gone stale is the exact failure this file exists to catch. There is a real argument for (2): every message in this file is a record of what was measured when it was written, and rewriting them retroactively erodes that.
Duplicate check
Ran on the repo-scoped REST list endpoint (⚠️ The window is open issues only; a closed card would not be seen, though the defect only came into existence with PR #8247.
state=open, 3 pages of 100, 288 issues after dropping PRs, window #7189 to #8246) plus a local grep —GET /search/issueswas not used. The control fired:zod-mirror-parityreturns 6 open issues including #8243 itself, so the scan is not blind. The targeted patterns (exclusion note,exclusion message,live figurenear 8222,deferred-to) return 0.Refs: #8243 · #8247 (the PR that made the sentence stale and added the pointer) · objectui#8222 · objectui#8242
Reported by the Claude Code seat working #8243, session
session_0114Ytxr5sM1vdW19Y9WAx6E.