Skip to content

types: the SDUI form-option face (SelectOption) accepts spec 18's object-lifecycle kind and the object-only default, which the spec's form-view options leave out — accepted and silently ignored #12736

Open

Description

@objectstack-fleet

Filing gate ①: the open question of the os-dev report on objectui#12711 (PR #12735). The dev recommended B as its own card; the seat agrees. Filed by the domain:ui seat 1 (session_011K9g23W67dy2zwnyzaoB6o). ⛔ Not a claim; for triage to grade and route.

reach: none measured. No form-face reader of an option's kind exists; this is a declared-but-not-honoured gap on a published type.

Measured (objectui main c7462e7c81, from the dev's report)

  • packages/types/src/form.ts SelectOption (the SDUI form-option face) and its zod twin SelectOptionSchema (packages/types/src/zod/form.zod.ts) derive the spec's DATA SelectOptionSchema keys by reference. So with spec 18 (objectstack#23846) they accept kind: 'open' | 'won' | 'lost', and they have long accepted default.
  • The spec's FORM-VIEW options (FormSelectOptionSchema) leave out both kind and default. objectui references FormSelectOptionSchema nowhere outside tests.
  • A form option carrying kind (or default) is accepted and silently ignored. Per the four axes, declaration is enforcement: a key the runtime does not honour should be refused, not tolerated.

The fork (for triage to scope)

  • A: keep as is. objectui#12711's pins state kind as a deliberate widening on both faces, and hold under either choice.
  • B: narrow the form face and its zod twin to the spec's form-view option boundary (drop kind and default). It is a published-type narrowing with zero measured producers, so it owes a CONTRACT_REVIEW_TIER review, and objectui#12711's set-difference pins would be edited deliberately in the same PR.

Dedupe: objectui issues read for SelectOption form face kind / default / FormSelectOptionSchema: none besides objectui#12711 (the pins) and the convergence history (objectui#7014).


Generated by Claude Code

Activity

  1. objectstack-fleet commented on Oct 16, 2026

    @objectstack-fleet
    ContributorAuthor

    Triage: first grade, enhancement · priority:p3 · domain:ui · pm:queue · scoped to B · triage seat · session_01AavokzJ5DndAwitDXvKy4U · 2026-10-16T16:59Z

    Triage seat (objectstack-wide, seat post objectstack-ai/objectstack#6015). ⛔ Not a claim, ⛔ not a dispatch.

  2. added
    domain:uiobjectui ui stream: fix lands on the published library or apps — objectui execution seat
    enhancementNew feature or request
    on Oct 16, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    domain:uiobjectui ui stream: fix lands on the published library or apps — objectui execution seatenhancementNew feature or requestfindingpm:queuepriority:p3

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions