Skip to content

finding(app-shell): the Action designer's two panes disagree on the param type vocabulary — the inspector offers datetime / lookup, the preview draws both as plain text boxes #6538

Description

@claude

Filed unassigned, as an observation for PM triage — surfaced while converging ActionParam onto its published authority (#6329, PR #6536). Not fixed there: that card's face was the two shadow declarations, and this is a rendering-fidelity question, not a type one.

Verified on the #6329 branch at e660fed22 (identical to origin/main831be7285 in both files).

What the narrowing exposed

Until #6329, both designer panes typed the param as type?: string, so nothing could compare the vocabulary the inspector offers against the vocabulary the preview renders. With both converged onto the published ActionParam.type (ResolvableParamFieldType — the spec's 49-member FieldType plus objectui's three declared aliases), the two panes are comparable, and they disagree.

ActionDefaultInspector.tsx's PARAM_TYPE_OPTS offers eight spellings. ActionPreview.tsx's renderFieldMock branches on five, and only one of those is options-driven:

inspector offerswhat renderFieldMock renders
texttext input
textareatextarea
numbernumber input
booleancheckbox
datedate input
selectselect only when options are present, otherwise a plain text input
datetimeplain text input
lookupplain text input

So an author who picks Date/time or Lookup in the inspector is shown a preview of a text box. The preview's stated job is "a faux button / dialog rendered so authors can see the visual weight before they ship it", and for two of the eight offered types it shows something the runtime dialog will not render.

A second, related observation in the same pair

The inspector's per-param editor has controls for field, name, label, type, placeholder, required and defaultFromRow — and no options control, though select is one of the eight types it offers and options is a member of the published ActionParam that ActionPreview already renders. An author picking select there cannot author its choices in that panel at all; the key is reachable only through the collapsed "More fields" SchemaForm. That is also why the select row above degrades: the panel that offers the type cannot produce the data the preview needs to draw it.

Why this is an observation and not a defect report

Nothing here is a parse rejection or a data-loss path — every spelling involved is spec-valid and saves fine. The cost is designer fidelity: two panes of one designer describing the same param differently. Severity is a triage call, not mine; recording it rather than sitting on it.

Not filed as a sub-issue of anything: #6246 (ActionParamDialog carry-over params) is the runtime dialog, not the preview mock, and the open backlog carries no card for renderFieldMock (checked by repository-scoped listing over all 251 open issues plus a local grep — the search endpoint returns 403 for this session, so its empty result is not a reading).

Related: #6329 / PR #6536 (the convergence that made the comparison possible).

Generated by Claude Code


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