Uh oh!
There was an error while loading. Please reload this page.
docs(i18n): correct the stale NOT empty clause in the i18n baseline note - #6180
Merged
Merged
Conversation
`missingMembers` reached zero, so the note's claim that it is `NOT empty` became false. Only that adjective changes: the `BOTH LISTS ARE NOW EMPTY` sentinel, the `fails the build` phrase and the third-list scoping clause are all kept byte-for-byte, because `residue-namespaces-3546.test.tsx` asserts the first two as literal substrings of the joined note and the third exists to stop a reader concluding the sentinel covers all three. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_019b5UBNMtTzKbVtZZGvFuxe
yinlianghui-tw
marked this pull request as ready for review
August 24, 2026 22:58
Uh oh!
There was an error while loading. Please reload this page.
This was referenced Aug 24, 2026
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#6164
Verified at
d76de60c9.scripts/i18n-call-site-key-baseline.json'snoteclaimedmissingMemberswasNOT empty. #6023 / PR #6163 took that list to zero, so the clause became false. One line changes; nothing else in the file, and nothing else in the repo.Premise re-verified, not inherited
An earlier round on this card stopped because
missingMembersstill held its 2 entries. That stop was correct then, so the premise was re-measured rather than taken from the dispatch:"merged":true,merged_at 2026-08-24T22:25:09Z.git branch -r --contains cd8d6594dstill prints only its own feature branch — the containment check has to run on the squash commit.git merge-base --is-ancestor b08b7eba9 origin/mainexits0, andb08b7eba9 fix(i18n): define home.recentApps.itemType.report and .metadata in all ten packs (#6163)is ingit log origin/main.origin/mainate5263ed33:missingKeyslen0,missingPrefixeslen0,missingMemberslen0. The clause is false; the edit is owed.The note as it stood on
main, before editingOnly element 12 changes. The pair sentinel (element 8), both in-note occurrences of
fails the build(elements 1 and 11) and the third-list scoping —NOT part of that pairplus element 13'scounts missingKeys and missingPrefixes only, never all three— are kept byte-for-byte. The element count is unchanged at 15, so no prose was reflowed across an element boundary; that matters because the guard asserts on the joined array and is sensitive to the join spaces.Both sentinels are load-bearing, and both were proved so
residue-namespaces-3546.test.tsx:792-793asserts two literal substrings, not one. One red proves one string is checked, so each was ablated separately, each with the other left intact as a control. Every mutation was confirmed on disk by anchoredgrep -con the target text before the result was read, and each leg restored under atrap ... EXIT INT TERMrunninggit checkout HEAD --followed by the path (the change was committed first, so the restore had a commit to return to).git status --porcelainwas empty after both.Leg A — mutate the sentinel to the exact tempting rewrite the card warns about (
BOTH LISTS ARE NOW EMPTYtoALL THREE LISTS ARE NOW EMPTY;fails the buildcount held at 3 as a control). Guard exit1:Leg B — mutate only the two in-
noteoccurrences offails the buildtobreaks the build, leaving the sentinel present and leaving the third occurrence (in//missingMembers) untouched as a control. That control is the interesting half:grep -c "fails the build"still returns1for the file, yet the guard reddens — so the assertion readsnotespecifically, not the file. Guard exit1:Restored, then green again — exit
0, the same test named:Gates
Every exit code captured before any pipe (redirect to a file, then read it), and each line quoted is the gate's own verdict, not a bare
$?. Root vitest only, per objectui#3378.pnpm check:i18n-keys— exit0:Every in-scope call-site key resolves against the en pack (2822 keys), … and every dynamic key family either checks its members against a declared vocabulary or says in writing why it has none.pnpm vitest run packages/i18n/src/__tests__ scripts/__tests__/check-i18n-call-site-keys.test.ts— exit0,Test Files 55 passed (55)/Tests 993 passed (993).node scripts/check-changeset-presence.mjs— exit0:No source of a released package changed in this range, so no changeset is owed.No changeset, and noskip-changesetlabel — that label does not exist in this repo.node scripts/check-control-bytes.mjs— exit0,OK (scanned 5101 tracked text file(s); skipped 85 binary). Also scanned the edited file directly with agrep -naPcontrol-character class — no match.missingKeys,//,missingPrefixes,//missingMembersandmissingMembersall compare equal toHEAD;notediffers at exactly one index, 12.File ignored because no matching configuration was supplied— so the diff's lintable set is empty. CI runs the full farm regardless.Reported, not fixed
The same merge left two more stale statements in this file, both outside this card's one-clause scope:
note's closingIt holds debt …(present tense about an empty list) and//missingMembers'sBoth entries below …(there are now zero entries below). Widening the diff would have spent this card's safety margin on prose that is not load-bearing, so both are filed as #6179 with the ablation findings carried across. The PM decides whether the tense of a comment is above the line.Generated by Claude Code