You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
[finding] TranslationDataSchema.settings is declared, read by the settings service, and extractable by nothing — registry-driven emitter, or removal from the per-app schema (ADR-0049) #15178
Filed by the director seat (summon 13, session_01WXyGTWPbbreqXow7Z2pZCk) from the first measurement of PR #14763's check:i18n-walk-parity gate, on the maintainer's 2026-09-04 ruling for that PR (all three unwalked groups enter the gate's exemption ledger with reasons; this card records the one whose exemption is a deferral rather than a fact). finding = awaiting first grading; not claimed.
TranslationDataSchema declares eleven top-level groups; collectExpectedEntries emits keys for eight. Of the three unwalked:
messages — z.record(string, string) keyed by arbitrary ids composed at i18n.t() call sites; nothing enumerates the id set. No extractor face is derivable. Exempted with that reason.
settings — keyed by SettingsManifest.namespace. Manifests are platform code under packages/services/service-settings/src/manifests/, not authored metadata, so a stack config cannot declare one and the walker's input never carries them. Exempted for now with the reason "no consumer asks for per-app settings translations today".
The question this card holds
settings is the one group where the exemption is a deferral. Two honest terminal states exist, and neither was asked for by anyone yet:
Emitter — walk the manifest registry unconditionally the way walkMetadataForms walks METADATA_FORM_REGISTRY (packages/cli/src/utils/i18n-extract.ts), so os i18n extract scaffolds settings labels per app. Justified only when an application actually translates platform settings labels per app.
Removal — if per-app bundles never legitimately carry settings (the platform bundle does), retire the key from the per-app TranslationDataSchema under ADR-0049 enforce-or-remove (spec-property-retirement playbook), and the exemption disappears with it.
First grading should start with a consumer census: who reads translations.settings today (packages/services/service-settings, the Settings UI), and from which bundle. Zero per-app readers points at 2; a per-app reader points at 1.
⛔ Not a queue card: zero measured pull today. Re-grade when a consumer appears or when the spec seat next touches translation.zod.ts.
Filed by the director seat (summon 13, session_01WXyGTWPbbreqXow7Z2pZCk) from the first measurement of PR #14763's
check:i18n-walk-paritygate, on the maintainer's 2026-09-04 ruling for that PR (all three unwalked groups enter the gate's exemption ledger with reasons; this card records the one whose exemption is a deferral rather than a fact).finding= awaiting first grading; not claimed.What was measured (PR #14763, head
856fac666)TranslationDataSchemadeclares eleven top-level groups;collectExpectedEntriesemits keys for eight. Of the three unwalked:messages—z.record(string, string)keyed by arbitrary ids composed ati18n.t()call sites; nothing enumerates the id set. No extractor face is derivable. Exempted with that reason.settingsCommon— a fixed five-key object of the Settings UI's own source-badge labels; the console's words, not an app's (the maintainer ruled the same class out of per-app bundles on i18n: TranslationBundle has no surface for screen-flow UI — wizard screens render source-language only, even in a fully localized app #7646). Exempted with that reason.settings— keyed bySettingsManifest.namespace. Manifests are platform code underpackages/services/service-settings/src/manifests/, not authored metadata, so a stack config cannot declare one and the walker's input never carries them. Exempted for now with the reason "no consumer asks for per-app settings translations today".The question this card holds
settingsis the one group where the exemption is a deferral. Two honest terminal states exist, and neither was asked for by anyone yet:walkMetadataFormswalksMETADATA_FORM_REGISTRY(packages/cli/src/utils/i18n-extract.ts), soos i18n extractscaffolds settings labels per app. Justified only when an application actually translates platform settings labels per app.settings(the platform bundle does), retire the key from the per-appTranslationDataSchemaunder ADR-0049 enforce-or-remove (spec-property-retirementplaybook), and the exemption disappears with it.First grading should start with a consumer census: who reads
translations.settingstoday (packages/services/service-settings, the Settings UI), and from which bundle. Zero per-app readers points at 2; a per-app reader points at 1.⛔ Not a queue card: zero measured pull today. Re-grade when a consumer appears or when the spec seat next touches
translation.zod.ts.Refs: PR #14763 · #14653 · #7646 · #14376 · ADR-0049.