Filed by the PM from the #4580 round-2 seat's report (note 3). Observation-class.
What
A comment in packages/types/src/ui-action.ts asserts that in spec 17 I18nLabelSchema is z.ZodString — i.e. that I18nLabel is a plain string. Measured against the installed @objectstack/spec@17.0.0-rc.6, that is false: I18nLabelSchema is z.ZodUnion of z.ZodString and z.ZodRecord — string | Record< string, string > — the inline locale map that rc.6 introduced (see #4163's rc.5→rc.6 quote of the same declarations).
Why it matters
The #4580 round-2 seat read this comment while implementing the BaseSchema.label/.description widening to string | I18nLabel. Had the comment been believed, the widening would have been a no-op (string | string), and the card would have shipped nothing while reporting success. The seat measured the installed declaration instead and proceeded correctly — but the comment is a planted premise sitting on the exact symbol the whole label-vocabulary family turns on.
Gate coverage note
This is the CONTENT-WRONG-CLAIM class: the cited symbol (I18nLabelSchema) is LIVE, so neither rule 2's tie test nor #4607's citation-aware sharpening can see it — both judge whether a claim has something behind it, not whether what it says about a live symbol is true. That non-goal is documented on #4607; this instance is why the class exists. No new instrument is proposed here (a truth-checker for prose is not a gate); the fix is simply correcting or deleting the sentence, with #4163's rc.6 quote as the reference.
Fix shape
One comment edit in packages/types/src/ui-action.ts (locate the exact line; the seat did not record it). Verify the surrounding declaration doesn't depend on the false premise in any structural way while there.
Refs #4580, PR #4608, #4163, #4607.
Generated by Claude Code
Filed by the PM from the #4580 round-2 seat's report (note 3). Observation-class.
What
A comment in
packages/types/src/ui-action.tsasserts that in spec 17I18nLabelSchemaisz.ZodString— i.e. thatI18nLabelis a plain string. Measured against the installed@objectstack/spec@17.0.0-rc.6, that is false:I18nLabelSchemaisz.ZodUnionofz.ZodStringandz.ZodRecord—string | Record< string, string >— the inline locale map that rc.6 introduced (see #4163's rc.5→rc.6 quote of the same declarations).Why it matters
The #4580 round-2 seat read this comment while implementing the
BaseSchema.label/.descriptionwidening tostring | I18nLabel. Had the comment been believed, the widening would have been a no-op (string | string), and the card would have shipped nothing while reporting success. The seat measured the installed declaration instead and proceeded correctly — but the comment is a planted premise sitting on the exact symbol the whole label-vocabulary family turns on.Gate coverage note
This is the CONTENT-WRONG-CLAIM class: the cited symbol (
I18nLabelSchema) is LIVE, so neither rule 2's tie test nor #4607's citation-aware sharpening can see it — both judge whether a claim has something behind it, not whether what it says about a live symbol is true. That non-goal is documented on #4607; this instance is why the class exists. No new instrument is proposed here (a truth-checker for prose is not a gate); the fix is simply correcting or deleting the sentence, with #4163's rc.6 quote as the reference.Fix shape
One comment edit in
packages/types/src/ui-action.ts(locate the exact line; the seat did not record it). Verify the surrounding declaration doesn't depend on the false premise in any structural way while there.Refs #4580, PR #4608, #4163, #4607.
Generated by Claude Code