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 offers | what renderFieldMock renders |
|---|
text | text input |
textarea | textarea |
number | number input |
boolean | checkbox |
date | date input |
select | select only when options are present, otherwise a plain text input |
datetime | plain text input |
lookup | plain 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
Filed unassigned, as an observation for PM triage — surfaced while converging
ActionParamonto 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 toorigin/main831be7285in 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 publishedActionParam.type(ResolvableParamFieldType— the spec's 49-memberFieldTypeplus objectui's three declared aliases), the two panes are comparable, and they disagree.ActionDefaultInspector.tsx'sPARAM_TYPE_OPTSoffers eight spellings.ActionPreview.tsx'srenderFieldMockbranches on five, and only one of those is options-driven:renderFieldMockrenderstexttextareanumberbooleandateselectoptionsare present, otherwise a plain text inputdatetimelookupSo an author who picks
Date/timeorLookupin 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,requiredanddefaultFromRow— and nooptionscontrol, thoughselectis one of the eight types it offers andoptionsis a member of the publishedActionParamthatActionPreviewalready renders. An author pickingselectthere cannot author its choices in that panel at all; the key is reachable only through the collapsed "More fields"SchemaForm. That is also why theselectrow 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 (
ActionParamDialogcarry-over params) is the runtime dialog, not the preview mock, and the open backlog carries no card forrenderFieldMock(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