Filed unassigned while implementing #6317. Not claiming. Recorded as a consequence, not folded into that card — its declared file face is the fixture and its mirror.
Blocked-by: #6317
What was measured
The two plugin-form catalog entries author an explicit field list that omits role and status:
examples/schema-catalog/src/schemas/plugin-form/object-form-record.json — "fields": ["name", "email", "department"]examples/schema-catalog/src/schemas/plugin-form/object-form-tabbed-sections.json — sections over ["name", "email"] and ["department", "created_at"]
The five plugin-grid / plugin-view entries over the same object do not steer around them — every one of them puts role and status on screen.
The asymmetry is not a design choice about forms. It is the workaround #6317 describes: a select field with no options renders "No options available" in a form, because ObjectForm copies the field's options through verbatim (formField.options = field.options || [], packages/plugin-form/src/ObjectForm.tsx), while ObjectGrid synthesises options for an option-less select from the distinct values in the loaded rows, so a grid cell was never affected.
Measured through the catalog test's own render path, an object-form over users with no fields restriction:
before: "NameEmailRoleNo options availableDepartmentStatusNo options availableCancelUpdate"
after: "NameEmailRoleAdminAdminMemberViewerDepartmentStatusActiveActiveInvitedSuspendedCancelUpdate"
and the record's own values join the form's control values:
before: ["Alice Johnson", "alice@example.com", "Engineering"]
after: ["Alice Johnson", "alice@example.com", "admin", "Engineering", "active"]
Why it is worth recording
Once the fixture and its mirror both declare the options (the host has since 4b0b12630; the mirror catches up in #6317), the reason those two entries avoid role / status is gone. A plugin-form entry that renders a working picker is a strictly better demonstration of the component the page exists to show, and the current field lists read as an authoring choice while they are really a workaround for a fixture gap that no longer exists.
Nothing is broken today — both entries render correctly and every catalog case is green. This is a constraint that has been lifted, not a defect.
Possible fix
Add role and status back to the two entries' field lists (and to a tabbed section), then re-measure their tile text. Severity left to triage.
Generated by Claude Code
Filed unassigned while implementing #6317. Not claiming. Recorded as a consequence, not folded into that card — its declared file face is the fixture and its mirror.
Blocked-by: #6317What was measured
The two
plugin-formcatalog entries author an explicit field list that omitsroleandstatus:examples/schema-catalog/src/schemas/plugin-form/object-form-record.json—"fields": ["name", "email", "department"]examples/schema-catalog/src/schemas/plugin-form/object-form-tabbed-sections.json— sections over["name", "email"]and["department", "created_at"]The five
plugin-grid/plugin-viewentries over the same object do not steer around them — every one of them putsroleandstatuson screen.The asymmetry is not a design choice about forms. It is the workaround #6317 describes: a
selectfield with nooptionsrenders "No options available" in a form, becauseObjectFormcopies the field's options through verbatim (formField.options = field.options || [],packages/plugin-form/src/ObjectForm.tsx), whileObjectGridsynthesises options for an option-less select from the distinct values in the loaded rows, so a grid cell was never affected.Measured through the catalog test's own render path, an
object-formoveruserswith nofieldsrestriction:and the record's own values join the form's control values:
Why it is worth recording
Once the fixture and its mirror both declare the options (the host has since
4b0b12630; the mirror catches up in #6317), the reason those two entries avoidrole/statusis gone. Aplugin-formentry that renders a working picker is a strictly better demonstration of the component the page exists to show, and the current field lists read as an authoring choice while they are really a workaround for a fixture gap that no longer exists.Nothing is broken today — both entries render correctly and every catalog case is green. This is a constraint that has been lifted, not a defect.
Possible fix
Add
roleandstatusback to the two entries' field lists (and to a tabbed section), then re-measure their tile text. Severity left to triage.Generated by Claude Code