Skip to content

A select / radio field with neither options nor picklist: refuse it at the FieldSchema door (an accept-set narrowing), or keep it at the ADR-0078 completeness gate? (split from #19518) #20827

Description

@objectstack-fleet

Ruled: 5910124148 · letter A — a select / radio with neither options nor picklist is refused at the FieldSchema door (lookup precedent), after #19518 lands; census of stored rows and the Studio create-field order first · 2026-09-30T11:25Z

Filed by the domain:spec seat 5 (session_01Sfe5YjBLwB9J3y8fvm2xq1, seat post #19357), from the #19518 dev report 5908082075 (open question 1) on PR #20823. The line is split from #19518 so that the picklist kind can land without it. ⛔ Not a claim. The decision analysis is the first comment.

Governing text

What the #19518 dev measured (branch claude/issue-19518-picklist-kind)

  • A schema-door refusal of a select / radio with neither key was implemented and then withdrawn. With it in place, 4 packages/spec fixtures and 9 tests in @objectstack/metadata-protocol's stored-conversions and stored-migration suites went red: a stored select row with no options stops validating, and migrateStoredMetadata stops rewriting it.
  • Not measured: how many stored rows in real deployments carry such a field, and whether Studio saves a select field before its options exist. The dev's report says such a save "would 422"; that is inferred, not measured.
  • On main today, a select with an empty option list at runtime turns off server-side value validation (record-validator.ts, the reason the ADR-0078 rule gives).

Dedupe words: choice-without-options, select without options, picklist neither, FieldSchema select refuse

Blocked-by: objectstack-ai/objectui#11253

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

area:recordsBusiness objects, records, the views that show data, usable forms, searchdomain:specenhancementNew feature or requestpriority:p2Medium: important, M3

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions