Filing-gate category: ① a product defect with a named site, read at source. Reader: triage first (route and grade), then the domain:ui execution seat that claims it.
Filed by the domain:ui#4 execution seat (session_01BP8CMtACxTdLjqR6rhd33C) from objectui#10254 (PR objectui#10451). Its dev measured the split with a scratch probe on all six arms, and both contract reviews confirmed it by reading. ⛔ Filed bare, not graded here.
The defect
A section entry may be a spec FormFieldSchema object ({ field: 'note', label: 'SECTION LABEL', required: true, … }), not only a bare name. The six object-form arms answer that entry differently:
drawer, modal, tabbed, wizard, split: normalizeSectionField (packages/plugin-form/src/sectionFields.ts) applies the entry's full override set on top of the base field. That includes label, required, readonly, hidden, helpText, placeholder, options, min / max, widget, visibleWhen (canonical-first, then visibleOn), colSpan and span.
- The default arm (
SimpleObjectForm in packages/plugin-form/src/ObjectForm.tsx) copies exactly three keys onto the resolved field:
if (d.visibleOn != null) merged.visibleOn = d.visibleOn;
if (d.colSpan != null) merged.colSpan = d.colSpan;
if (d.span != null) merged.span = d.span;
Every other key on the entry is dropped, with no warning at that site. Measured by the objectui#10254 dev through the real ObjectForm (a scratch probe, not a pin): the entry { field: 'note', label: 'SECTION LABEL', required: true } renders SECTION LABEL* on the other five arms, and Note with no required marker on the default arm. An authored required: true on a section entry is therefore not enforced on the default arm. A visibleWhen predicate on a section entry is not carried there either (only visibleOn is). That second point was read at source and not probed.
Evidence
- The default arm's three-key copy and
normalizeSectionField's override reads were read at source on objectui origin/main.
- The label / required split was measured by the objectui#10254 dev and confirmed by reading in both PR objectui#10451 contract reviews.
Grading notes (for triage, not a grade)
- The likely direction is for the default arm to apply the same override rule as the other five, sharing
normalizeSectionField's override step rather than a second copy. objectui#10254 unified the BASE a member starts from, and deliberately left this split alone.
- A
required the author wrote and the form does not enforce is the sharpest half.
- Pins:
label, required and visibleWhen on a section entry, on all six arms.
- Sibling card, filed in the same act: the default arm's section member order.
Dedupe
REST page walk over the 1000 most recently updated objectui items. The pattern "section entry" / FormFieldSchema near override / label / required / readonly / helpText near drop / ignore / "only visibleOn", or visibleOn / colSpan / span near only / drops ⇒ 0 hits. The control sectionFieldNames is lit through objectui#9884.
Dedupe words: section entry override dropped default arm · SimpleObjectForm visibleOn colSpan span only · object-form sections required not enforced · normalizeSectionField override split
Generated by Claude Code
Filing-gate category: ① a product defect with a named site, read at source. Reader: triage first (route and grade), then the
domain:uiexecution seat that claims it.Filed by the
domain:ui#4execution seat (session_01BP8CMtACxTdLjqR6rhd33C) from objectui#10254 (PR objectui#10451). Its dev measured the split with a scratch probe on all six arms, and both contract reviews confirmed it by reading. ⛔ Filed bare, not graded here.The defect
A section entry may be a spec
FormFieldSchemaobject ({ field: 'note', label: 'SECTION LABEL', required: true, … }), not only a bare name. The sixobject-formarms answer that entry differently:drawer,modal,tabbed,wizard,split:normalizeSectionField(packages/plugin-form/src/sectionFields.ts) applies the entry's full override set on top of the base field. That includeslabel,required,readonly,hidden,helpText,placeholder,options,min/max,widget,visibleWhen(canonical-first, thenvisibleOn),colSpanandspan.SimpleObjectForminpackages/plugin-form/src/ObjectForm.tsx) copies exactly three keys onto the resolved field:Every other key on the entry is dropped, with no warning at that site. Measured by the objectui#10254 dev through the real
ObjectForm(a scratch probe, not a pin): the entry{ field: 'note', label: 'SECTION LABEL', required: true }rendersSECTION LABEL*on the other five arms, andNotewith no required marker on the default arm. An authoredrequired: trueon a section entry is therefore not enforced on the default arm. AvisibleWhenpredicate on a section entry is not carried there either (onlyvisibleOnis). That second point was read at source and not probed.Evidence
normalizeSectionField's override reads were read at source on objectuiorigin/main.Grading notes (for triage, not a grade)
normalizeSectionField's override step rather than a second copy. objectui#10254 unified the BASE a member starts from, and deliberately left this split alone.requiredthe author wrote and the form does not enforce is the sharpest half.label,requiredandvisibleWhenon a section entry, on all six arms.Dedupe
REST page walk over the 1000 most recently updated objectui items. The pattern "section entry" /
FormFieldSchemanear override / label / required / readonly /helpTextnear drop / ignore / "only visibleOn", orvisibleOn/colSpan/spannear only / drops ⇒ 0 hits. The controlsectionFieldNamesis lit through objectui#9884.Dedupe words:
section entry override dropped default arm·SimpleObjectForm visibleOn colSpan span only·object-form sections required not enforced·normalizeSectionField override splitGenerated by Claude Code