Uh oh!
There was an error while loading. Please reload this page.
docs(i18n): correct two stale statements in the call-site key baseline - #6184
Merged
Merged
Conversation
Both went false when the `missingMembers` list reached zero; both are prose
edits inside the baseline's comment arrays, with no behavioural change.
- `note`: "It holds debt the exact-member check MEASURED on its first run" was
present tense about a list that is now `{}`. Only the tense changes — the
claim it makes (whatever the list held was measured by the check, not debt
this repo took on) is still true and is preserved verbatim.
- `//missingMembers`: "Both entries below were measured by the check's first
run, not created by it" named two entries that are no longer there. Rewritten
to "The two entries this list held ...", keeping the same claim.
Neither array is re-flowed: element counts are unchanged (note 15,
`//missingMembers` 9) and only two element strings differ, so the two literal
sentinels asserted on `note.join(' ')` keep their join spacing.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019b5UBNMtTzKbVtZZGvFuxeyinlianghui-tw
marked this pull request as ready for review
August 24, 2026 23:32
yinlianghui-tw
enabled auto-merge
August 24, 2026 23:33
Uh oh!
There was an error while loading. Please reload this page.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for freeto join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes#6179
Two statements in
scripts/i18n-call-site-key-baseline.jsonwent false when themissingMemberslist reached zero. Both are prose inside the file's comment arrays; nothing executable changes.The diff — two element strings, nothing else
1.
note(elements 13–14, joined).It holds debt …was present tense about a list that is now{}. Only the tense changes. The claim the sentence exists to make — that whatever the list held was measured by the exact-member check on its first run, not debt this repo took on — is preserved word for word. The sentence is not deleted, and the clause before it (the sentence above counts missingKeys and missingPrefixes only, never all three) is untouched: that one is still true.2.
//missingMembers(last element).Both entries below …named two entries that are no longer there. Rewritten to name what the list held, keeping the same claim (measured by the check's first run, not created by it). No test reads//missingMembers.Nothing else in the file is touched. Widening this into a gate for the class — prose that restates a declared state with nothing checking it — is out of scope here and belongs to #6086.
Neither array was re-flowed
The guard asserts on
note.join(' '), so the joined string is the invariant and element boundaries carry the join spaces. Element counts are unchanged (note15,//missingMembers9) and exactly two element strings differ, so no phrase moved across a boundary and no join space was added or removed.Ablation — re-run on this branch, direction predicted before each run
The finding recorded an ablation done on another branch; an inherited ablation is a claim, not a reading, so all four steps were re-run here. Root vitest from the repo root (per objectui#3378), one file, mutations applied by exact-anchor replacement with a hit-count assertion and confirmed on disk by anchored
grep -cof both the removed and the injected text before each run.Test Files 1 passed (1)/Tests 43 passed (43)BOTH LISTS ARE NOW EMPTYTests 1 failed | 42 passed (43)—AssertionError: expected … to contain 'BOTH LISTS ARE NOW EMPTY'atresidue-namespaces-3546.test.tsx:792:37fails the buildoccurrences insidenote(the third, in//missingMembers, left intact)Tests 1 failed | 42 passed (43)—AssertionError: expected … to contain 'fails the build'atresidue-namespaces-3546.test.tsx:793:37git checkout HEAD -- scripts/i18n-call-site-key-baseline.json(never the bare form)git diff HEADempty; the file compares byte-identical togit show HEAD:scripts/i18n-call-site-key-baseline.jsonBoth sentinels are alive, and step 3 is also the evidence that this edit did not move either
fails the buildoccurrence out ofnote— had it, mutating them would have been a no-op and the guard would have stayed green. The mutation script carried atrap … EXIT INT TERMrestore so an interrupted run could not leave the tree mutated.In runs 2 and 3 the failure counts are
1 failed | 42 passed: only the one assertion moves, which also confirms no other test in the file depends on this prose.Gate union — run at
1dd3a5fd9, the final commitExit codes captured by redirect before any pipe.
pnpm check:i18n-keys— exit 0. Its own verdict line: "Every in-scope call-site key resolves against the en pack (2822 keys), every literal inline defaultValue matches the value the pack serves, every call site passes exactly the arguments that value has holes for, no call site carries a literal fallback beside itself, and every dynamic key family either checks its members against a declared vocabulary or says in writing why it has none."pnpm check:control-bytes— exit 0. Verdict line: "✅ check-control-bytes: OK (scanned 5109 tracked text file(s); skipped 85 binary)."organization-/auth-/console-/marketplace-preview-/perm-home-namespace-3546.test.tsxandscripts/__tests__/check-i18n-call-site-keys.test.ts) — exit 0,Test Files 7 passed (7)/Tests 322 passed (322).node scripts/check-changeset-presence.mjs— exit 0. Verdict line: "✅ No source of a released package changed in this range, so no changeset is owed." The diff is one file underscripts/, not published source of any release-covered package.pnpm lintwas narrowed, and the narrowing is measured rather than assumed. Population read from eslint's own config resolution, not from a guess about which files count:pnpm exec eslint --format json scripts/i18n-call-site-key-baseline.jsonreports"message": "File ignored because no matching configuration was supplied."—.jsonis not in eslint's checked set at all. File count from that same--format jsonoutput: one result,errorCount: 0. Invariance for untouched files:eslint.config.jsenables no type-aware linting (noprojectService, noparserOptions.project), and a JSON file is not importable by any TypeScript source, so this diff cannot move the verdict on any file eslint does read. CI runs the full farm regardless.Context, none of it changed here: #6023 / PR #6163 is the merge that falsified these; #6164 corrected the first of the three statements the same merge broke; #3546 owns the guard and both its assertions; #4964 introduced the third list. #6086 remains open and is not addressed here.
Generated by Claude Code