Found by the os-dev seat while fixing #15775 (the same file's _note, its summary-count sentence). Not fixed there on purpose — that card is fenced to the summary claim with the rest of the header required byte-identical, so this is filed rather than ridden in. Unassigned; nobody is working on it.
The reading
packages/spec/liveness/translation.json's _note header states:
WALK BOUNDARY: every group is a z.record keyed by target names — the drill sees each record's VALUE shape one level; the deeper per-key conventions […] are governed by the resolvers cited per row, not by ledger rows.
Measured on main at 1f2a02ba, straight off translationDataShape() in packages/spec/src/system/translation.zod.ts — the function whose keys are the translation groups (TranslationItemSchema spreads it, then adds locale, name, label and the ADR-0010 envelope):
objects z.record
apps z.record
messages z.record
globalActions z.record
dashboards z.record
datasets z.record
pages z.record
flows z.record
settings z.record
metadataForms z.record
settingsCommon strictObject <-- not a record, and not keyed by target names
settingsCommon is declared as strictObject({ ... }, { sourceLabels: strictObject(...) }) — a fixed shape whose one member is itself a fixed shape with five named string keys (env, global, tenant, user, default). Nothing about it is "keyed by target names": there are no target names, the key set is closed, and the ADR-0010 / settings resolution order is exactly why it is closed (its own comment says so: "the layers are a closed set […] so an unknown one here is a badge that will never render").
So the universal is false for one of the eleven groups, and it is false in the direction that matters: the sentence is the header's statement of how far down the ledger's rows are claimed to reach, and for settingsCommon the drill's one level lands on named keys rather than on a record's value shape.
Why it is a card and not a sed
The sentence is not just an adjective — it is the file's declaration of its own walk granularity, and it is the premise the per-row blanket verdicts lean on. Repairing it is a judgement about what the boundary now is for a group that is not a record, not a word swap:
- Either the sentence says "every group but
settingsCommon is a z.record …" and then states what the boundary is for the fixed-shape one, or
settingsCommon's row grows a declared blanket verdict of its own (the undrilled-containers.baseline.json shape), or
- the claim is narrowed to what it actually governs.
Which of those is right is a call for whoever holds the ledger, and it wants the sourceLabels sub-shape looked at rather than assumed.
Grading
Observation, not a defect an author can trip over: every per-prop status in the file is accurate, check:liveness is green, and no authoring surface is affected. Same class as #15775 and the family the triage of that card registered (#15754, #15765, objectui#7702) — prose in a header that outlived its subject — but a different sentence and a different subject, so it is not merged into it.
packages/spec/liveness/translation.json — the _note header only. Nothing in content/docs/ is implicated. #15775 is not addressed by this card, and this card does not block it.
Dedup
Searched open and closed issues before filing (keyword sweep over the liveness-ledger prose family, control term verified to return #15775). #15775 owns the summary-count sentence and is explicitly fenced to it; #15540 and #15568 are liveness/field.json notes; #15310 is COMPOUND_ANCHOR_LEDGER's docblock. No issue names this sentence.
Found by the
os-devseat while fixing #15775 (the same file's_note, its summary-count sentence). Not fixed there on purpose — that card is fenced to the summary claim with the rest of the header required byte-identical, so this is filed rather than ridden in. Unassigned; nobody is working on it.The reading
packages/spec/liveness/translation.json's_noteheader states:Measured on
mainat1f2a02ba, straight offtranslationDataShape()inpackages/spec/src/system/translation.zod.ts— the function whose keys are the translation groups (TranslationItemSchemaspreads it, then addslocale,name,labeland the ADR-0010 envelope):settingsCommonis declared asstrictObject({ ... }, { sourceLabels: strictObject(...) })— a fixed shape whose one member is itself a fixed shape with five named string keys (env,global,tenant,user,default). Nothing about it is "keyed by target names": there are no target names, the key set is closed, and the ADR-0010 / settings resolution order is exactly why it is closed (its own comment says so: "the layers are a closed set […] so an unknown one here is a badge that will never render").So the universal is false for one of the eleven groups, and it is false in the direction that matters: the sentence is the header's statement of how far down the ledger's rows are claimed to reach, and for
settingsCommonthe drill's one level lands on named keys rather than on a record's value shape.Why it is a card and not a
sedThe sentence is not just an adjective — it is the file's declaration of its own walk granularity, and it is the premise the per-row blanket verdicts lean on. Repairing it is a judgement about what the boundary now is for a group that is not a record, not a word swap:
settingsCommonis a z.record …" and then states what the boundary is for the fixed-shape one, orsettingsCommon's row grows a declared blanket verdict of its own (theundrilled-containers.baseline.jsonshape), orWhich of those is right is a call for whoever holds the ledger, and it wants the
sourceLabelssub-shape looked at rather than assumed.Grading
Observation, not a defect an author can trip over: every per-prop
statusin the file is accurate,check:livenessis green, and no authoring surface is affected. Same class as #15775 and the family the triage of that card registered (#15754, #15765, objectui#7702) — prose in a header that outlived its subject — but a different sentence and a different subject, so it is not merged into it.packages/spec/liveness/translation.json— the_noteheader only. Nothing incontent/docs/is implicated. #15775 is not addressed by this card, and this card does not block it.Dedup
Searched open and closed issues before filing (keyword sweep over the liveness-ledger prose family, control term verified to return #15775). #15775 owns the summary-count sentence and is explicitly fenced to it; #15540 and #15568 are
liveness/field.jsonnotes; #15310 isCOMPOUND_ANCHOR_LEDGER's docblock. No issue names this sentence.