Part of #4730 — the mechanically-safe carve-out of its CONFIRMED tier. The umbrella card stays open for console.objectView.* (needs a product decision: is the ListViewSchema-backed settings panel meant to exist?) and the not-yet-spot-checked smaller namespaces (configPanel, renderer, table, report, search, form, …).
Scope — exactly two namespaces, both spot-verified on the umbrella card
workflow.* — 54 of 58 keys CONFIRMED dead by scripts/check-i18n-dead-keys.mjs (the other 4 appear only as test-fixture mentions in ellipsis-glyph-3878.test.ts / untranslated-identity-4376.test.ts, not consumers — re-measure and handle per evidence: a fixture mention is not a reader). The plausible consumer, packages/plugin-designer/src/ProcessDesigner.tsx, hardcodes English labels and imports no translation hook at all — the vocabulary has zero i18n integration anywhere.publicForm.demo.* — 36/36 CONFIRMED, zero hits anywhere in the repo outside the locale packs.
Evidence standard is #4658's (PR #4731): zero call sites per the AST pass, zero textual footprint per the safety net, plus a spot-checked plausible consumer confirming no wiring exists. Re-run node scripts/check-i18n-dead-keys.mjs at your tree first — the numbers will have drifted since the umbrella card's measurement (today's merges added keys).
Deliverables
- Delete the two namespaces from all ten packs (
packages/i18n/src/locales/*.ts). - Post-deletion,
check-i18n-dead-keys.mjs no longer lists either namespace; check-i18n-call-site-keys.mjs stays green (nothing referenced them — that is the point); check-i18n-en-drift abstains (deletions are parity's business). - The four
workflow.* test-fixture mentions: update the fixtures to use live keys if the fixtures merely need a key, or delete the fixture rows if they exist to pin those specific keys — judge by what each test asserts and say which in the PR body. - Changeset:
@object-ui/i18n patch, stating the count and that no reader exists.
Explicitly out of scope
PR discipline
PR body first line: Part of #4730 — no closing keyword anywhere; this card is the one the PR closes (Fixes #<this> as sole closing keyword on line 2).
Part of #4730 — the mechanically-safe carve-out of its CONFIRMED tier. The umbrella card stays open for
console.objectView.*(needs a product decision: is theListViewSchema-backed settings panel meant to exist?) and the not-yet-spot-checked smaller namespaces (configPanel,renderer,table,report,search,form, …).Scope — exactly two namespaces, both spot-verified on the umbrella card
workflow.*— 54 of 58 keys CONFIRMED dead byscripts/check-i18n-dead-keys.mjs(the other 4 appear only as test-fixture mentions inellipsis-glyph-3878.test.ts/untranslated-identity-4376.test.ts, not consumers — re-measure and handle per evidence: a fixture mention is not a reader). The plausible consumer,packages/plugin-designer/src/ProcessDesigner.tsx, hardcodes English labels and imports no translation hook at all — the vocabulary has zero i18n integration anywhere.publicForm.demo.*— 36/36 CONFIRMED, zero hits anywhere in the repo outside the locale packs.Evidence standard is #4658's (PR #4731): zero call sites per the AST pass, zero textual footprint per the safety net, plus a spot-checked plausible consumer confirming no wiring exists. Re-run
node scripts/check-i18n-dead-keys.mjsat your tree first — the numbers will have drifted since the umbrella card's measurement (today's merges added keys).Deliverables
packages/i18n/src/locales/*.ts).check-i18n-dead-keys.mjsno longer lists either namespace;check-i18n-call-site-keys.mjsstays green (nothing referenced them — that is the point);check-i18n-en-driftabstains (deletions are parity's business).workflow.*test-fixture mentions: update the fixtures to use live keys if the fixtures merely need a key, or delete the fixture rows if they exist to pin those specific keys — judge by what each test asserts and say which in the PR body.@object-ui/i18npatch, stating the count and that no reader exists.Explicitly out of scope
console.objectView.*in any form (umbrella card, decision pending).--strictstays unwired per Dead locale strings: console.objectView.striped/bordered/virtualScroll and appDesigner.stripedRows/bordered have no call site in any of the ten packs #4658's ruling).PR discipline
PR body first line:
Part of #4730— no closing keyword anywhere; this card is the one the PR closes (Fixes #<this>as sole closing keyword on line 2).