docs: refresh the audit backlog for the refocus, and record five gate blind spots - #384
Merged
Conversation
… blind spots
The backlog described the state before the 2026-08-25 refocus, so a session
reading it would have re-derived findings that are already fixed and, worse,
re-litigated decisions that were deliberately made.
Records what the refocus settled (divisions removed, repairs → technicians,
five pillars, no printers, the charity line) as "do not re-litigate", and
keeps the genuinely open items.
The section worth reading is the gate blind spots, all five learned the hard
way in this pass:
- The i18n wrong-language detector cannot separate sibling Romance
languages. Ten correct Spanish/Italian strings were flagged, every one
scored `own 0` — the words are simply absent from its word list for that
language, so it falls through to whichever sibling has a hit. Read before
accepting; a flag does not mean a bad translation.
- `lint:chrome` greps `rounded-(lg|xl)`, so `rounded-2xl` slips past. The
abos skeleton hand-rolled a card shell for months, unseen.
- A missing-key audit cannot see a WRONG value. `itHelp.hub.subtitle` sat as
literal English in five locales with the key present, so nothing flagged
it. Only reading the rendered page found it.
- Dead-key detection must grep the NAMESPACE PREFIX, not just call sites.
`home.newsletter` appears in no `t()` call in page.tsx and is very much
alive via `useTranslations('home.newsletter')` in another component.
- A CONFLICTING PR runs no CI at all. #380 went DIRTY and only Snyk
reported — which passes on everything — so it read as "waiting on CI"
rather than "will wait forever". Check `mergeable` first.
Also records that background `npm run verify` runs get killed in this
environment (five times, no OOM, 12 GB free) and that `setsid nohup` survives,
and that CI green is not live — every merge in this pass was re-probed against
production, which is how the stale divisions subtitle was caught rendering
under a heading that correctly read "3 Bereiche".
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
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 free
to 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.
The backlog described the state before the 2026-08-25 refocus, so a session reading it would have re-derived findings that are already fixed and — worse — re-litigated decisions that were deliberately made.
It now records what the refocus settled as do not re-litigate (divisions removed,
repairs→technicians, the five pillars, no printers, the charity line), and keeps only the genuinely open items.The part worth reading: five gate blind spots
All five were learned the hard way in this pass. Each is a case where a green gate meant less than it appeared to.
own 0— the words are simply absent from its word list for that language, so it falls through to whichever sibling happens to have a hit. Read before accepting into the baseline; a flag does not mean a bad translation.lint:chromegrepsrounded-(lg|xl), sorounded-2xlslips past. The abos loading skeleton hand-rolled a card shell for months and the ratchet could not see it.itHelp.hub.subtitlesat as literal English in five locales with the key present, so nothing flagged it. Only reading the rendered page found it.home.newsletterappears in not('…')call inpage.tsxand is very much alive viauseTranslations('home.newsletter')in another component. next-intl lets any component mount a sub-tree as its own namespace.DIRTYand only Snyk reported — which passes on everything — so it read as "waiting on CI" rather than "will wait forever". Checkmergeablefirst.Process notes
Also recorded: background
npm run verifyruns get killed in this environment (five times in one session, no OOM, 12 GB free) andsetsid nohup … &survives them; and CI green is not live — every merge in this pass was re-probed against production, which is how the stale divisions subtitle was caught rendering directly under a heading that correctly read "3 Bereiche".Docs-only.
lint:docsholds at 68/68 baseline with 0 in the primary docs.🤖 Generated with Claude Code