Skip to content

finding(types): ui-action.ts comment claims "In spec 17 I18nLabelSchema is z.ZodString" — false against the installed rc.6, and it nearly made a seat implement a no-op #4611

Description

@yinlianghui

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.ZodRecordstring | 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

Metadata

Metadata

Assignees

Labels

domain:uiobjectui ui stream: fix lands on the published library or apps — objectui execution seatpm:dispatched

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions