Files
ServerKit/frontend/scripts
Juan DenisandClaude Opus 5 cb5043d2d7 chore(i18n): seed the untranslated-literal ratchet before any migration
Plan 79 D3. Plan 76 rule 1: every row gets a ratchet before its migration
starts, or it regrows.

Counts user-visible string literals not addressed by a translation key, in
the four shapes copy actually escapes through: JSX text nodes, JSX copy
attributes, toast/confirm arguments, and copy keys in data objects. The
fourth shape is the one an extraction pass usually misses -- a label in a
data file is still copy, and if it resolves at module load it also never
re-renders on a locale switch.

Seeded at 8225 across 347 files. The plan estimated ~4088 from greps; the
AST census finds twice that, because greps miss multi-line JSX text,
template-literal segments, and data-object labels (77 in routeManifest.js
alone). Plan corrected to the measured number.

Uses espree (eslint's own parser) for JSX -- added explicitly rather than
leaned on transitively.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-19 23:06:39 -04:00
..