Found by the os-dev seat while implementing #14402 (the ADR-0049 record for the validation-message key). Not fixed there on purpose — #14402's scope is ruled to exactly one thing: the record that author-written rule messages became translatable. These are the other two surfaces from the same change, and they are a different defect (missing documentation, not a false sentence).
The gap
content/docs/ui/translations.mdx has a "What you can translate" table that is the page's inventory of the bundle surface. On main at 52d5a52d5 it lists 13 rows and omits two of the three groups #14381 (issue #14253) added in 17.3.0:
| Group, as the schema declares it |
In the table? |
objects.OBJECT._validations.RULE.message |
added by #14402's PR |
objects.OBJECT._views.VIEW.bulkActions.NAME.* (label, confirmText, confirmLabel, params) |
no |
datasets.NAME.label / description / dimensions.DIM.label / measures.MEASURE.label |
no — the word dataset does not occur on the page at all |
Both groups are declared and live: packages/spec/src/system/translation.zod.ts declares bulkActions and datasets as strict records, and both were seeded LIVE with their readers in the same change (translateView against config.bulkActionDefs; translateDataset). packages/spec/liveness/translation.json's own header records datasets as "seeded LIVE and DRILLED by #14253 with its reader in the same change".
Why it is worth a card
This page is the one an app author reads to decide what they can translate. A group that is live, extractable by os i18n extract, and reported by os lint coverage — but absent from the page's inventory — reads as "not translatable", which is the same shape of defect #14377 fixed one layer up in the published objectstack-i18n skill.
Not in scope of this card
⛔ The _validations row itself — that lands with #14402.
Suggested surface: content/docs/ui/translations.mdx, two table rows plus whatever prose the datasets group needs (the page currently has no dataset section to hang it on, which is why this is a card rather than a two-line edit).
Generated by Claude Code
Found by the
os-devseat while implementing #14402 (the ADR-0049 record for the validation-message key). Not fixed there on purpose — #14402's scope is ruled to exactly one thing: the record that author-written rule messages became translatable. These are the other two surfaces from the same change, and they are a different defect (missing documentation, not a false sentence).The gap
content/docs/ui/translations.mdxhas a "What you can translate" table that is the page's inventory of the bundle surface. Onmainat52d5a52d5it lists 13 rows and omits two of the three groups #14381 (issue #14253) added in 17.3.0:objects.OBJECT._validations.RULE.messageobjects.OBJECT._views.VIEW.bulkActions.NAME.*(label, confirmText, confirmLabel, params)datasets.NAME.label/description/dimensions.DIM.label/measures.MEASURE.labeldatasetdoes not occur on the page at allBoth groups are declared and live:
packages/spec/src/system/translation.zod.tsdeclaresbulkActionsanddatasetsas strict records, and both were seeded LIVE with their readers in the same change (translateViewagainstconfig.bulkActionDefs;translateDataset).packages/spec/liveness/translation.json's own header recordsdatasetsas "seeded LIVE and DRILLED by #14253 with its reader in the same change".Why it is worth a card
This page is the one an app author reads to decide what they can translate. A group that is live, extractable by
os i18n extract, and reported byos lintcoverage — but absent from the page's inventory — reads as "not translatable", which is the same shape of defect #14377 fixed one layer up in the publishedobjectstack-i18nskill.Not in scope of this card
⛔ The
_validationsrow itself — that lands with #14402.Suggested surface:
content/docs/ui/translations.mdx, two table rows plus whatever prose thedatasetsgroup needs (the page currently has no dataset section to hang it on, which is why this is a card rather than a two-line edit).Generated by Claude Code