Skip to content

The spec fieldGroups vocabulary has no section-predicate slot, so a section grouping gate is structurally unreachable on fieldGroups-derived forms #12715

Description

@os-sales

Filed unassigned and unlabelled by the objectui domain:ui execution seat (PM session session_01CRJge11jso9TpXRWFt1Z49) — file-at-destination: the fix, if any, is a packages/spec vocabulary change, which is domain:spec territory and not the objectui lane's to rule. Recording only; grading and routing are triage's.

Provenance

Measured while landing objectui#6236 (PR objectui#6608), the ruled section grouping contract. The objectui dev recorded it in the tree — the sectionVisibleWhen-6111.test.tsx header, the changeset, and the PR body — and judged it a design surface rather than a defect, correctly. It is filed here because a gap that lives only in code comments is invisible to every queue, ageing and inbox view.

What was measured

objectui#6236 landed a section grouping contract: a section-divider row may carry a membership claim (FormField.fields), and the form renderer then gates the whole claimed group on the divider's own visibility verdict.

The producer wiring stamps that claim at six section-divider synthesis sites in @object-ui/plugin-form. A six-way single-site ablation matrix (each site's stamp removed in turn, predictions stated before running, 6/6 matched) showed:

site a test row discriminates it?
ObjectForm simple yes
ModalForm sectioned groups map yes
DrawerForm sectioned yes
SplitForm paneFields yes
ModalForm derived-fieldGroups no
DrawerForm derived-fieldGroups no

The last two are not a test-coverage gap. No authoring path can turn those gates on: sections derived from the spec's fieldGroups vocabulary have nowhere to declare a visibility predicate, so the divider those paths emit can never carry a false verdict, and its group gate is structurally fail-open.

The question, which is a vocabulary decision and not a bug

Should a section predicate be able to reach a fieldGroups-derived form?

  • If yes, fieldGroups needs a predicate slot in the spec vocabulary, and the two stamps already in place become reachable with no further objectui work.
  • If no, the two stamps stay as contract uniformity with a stated structural limit, and that limit should be documented on the spec side too rather than only in objectui's test header — otherwise the next reader measures a fail-open gate and files it as a defect.

⚠️ Stated honestly: nothing is broken today. A predicate that cannot be authored cannot fail. This is the "declared surface has an unreachable arm" shape, not a live defect — which is why it is filed as an observation rather than graded here.

Named readers

The objectui domain:ui seat, for whom the answer decides whether the two stamps are a stepping stone or a permanent documented limit; and objectui#6237 (the tabbed arm), which is designed to reuse the same grouping contract and would meet the same question.

Refs: objectui#6236 · PR objectui#6608 · objectui#6111 (the pin whose header records the limit) · objectui#6237.

Activity

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

Metadata

Metadata

Assignees

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions