Skip to content

docs: refresh the audit backlog for the refocus, and record five gate blind spots - #384

Merged
catomean merged 1 commit into
mainfrom
docs/backlog-refresh
Aug 25, 2026
Merged

docs: refresh the audit backlog for the refocus, and record five gate blind spots#384
catomean merged 1 commit into
mainfrom
docs/backlog-refresh

Conversation

@catomean

Copy link
Copy Markdown
Collaborator

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, repairstechnicians, 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.

  • The i18n wrong-language detector cannot separate sibling Romance languages. Ten correct Spanish/Italian strings were flagged across feat(home): state the five pillars, and put shared subscriptions with evig ai #381 and feat(brand): evig repairs becomes evig technicians, and evig stops asking for printers #382, every one scored 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:chrome greps rounded-(lg|xl), so rounded-2xl slips past. The abos loading skeleton hand-rolled a card shell for months and the ratchet could not see it.
  • 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. next-intl lets any component mount a sub-tree as its own namespace.
  • A CONFLICTING PR runs no CI at all. feat(home): state the five pillars, and put shared subscriptions with evig ai #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.

Process notes

Also recorded: background npm run verify runs get killed in this environment (five times in one session, no OOM, 12 GB free) and setsid 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:docs holds at 68/68 baseline with 0 in the primary docs.

🤖 Generated with Claude Code

… 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>
@catomean
catomean merged commit d754b51 into main Aug 25, 2026
9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant