Skip to content

[finding] disabled has no vocabulary at all on FormSectionSchema / PageComponentSchema — no readonly/disabled/disabledWhen key to point an author at #7887

Description

@os-zhuang

Recorded from PR #7884's report (out_of_scope_finding 2 of card #7832; filed by the PM seat because the cloud dev session cannot write issues). Filed unassigned — a recording, not a claim.

Observation, measured on the #7884 branch against origin/main

While curating alias/guidance rows for visible/showWhen/disabled on the visibleWhen-family shapes (#7832), the dev found that FormSectionSchema and PageComponentSchema (and SelectOptionSchema) declare no disabled-ish key whatsoever — no disabled, no disabledWhen, no readonly. There is no way to express "this section / page component is disabled/read-only" in view/page metadata.

Consequence for #7832's scope: disabled written on those shapes is rejected loudly (strict shapes) but with no pointer, because there is nothing on the shape to point at — an alias row would name a key the shape rejects next (alias-integrity.test.ts fails such a row outright). PR #7884 pinned these as deliberate gaps: visible-when-alias-guidance.test.ts section 3 fails if any of the three shapes ever gains a disabled-ish key, so the owed alias row becomes visible the moment it becomes writable.

The question

Whether this is a deliberate design boundary (sections/components gate visibility only; disabling is a field-level concern via readonly/readonlyWhen) or a vocabulary gap is an acceptance-surface question for domain:spec, not for the surface seat — adding any such key would widen the accepted metadata set.

If it is ruled a boundary: worth one sentence of prose on the shapes saying so (that half would return to domain:spec-surface). If it is ruled a gap: the #7884 tripwire pins already mark where the alias rows become owed.

Refs

#7832 / PR #7884 (provenance, tripwire pins), #7816 (canonical-spelling question, related vocabulary), #7751 (page-component props passthrough — adjacent but distinct: that is about the properties bag, this is about the shape's own keys).

Dedup: searched open issues for FormSectionSchema/PageComponentSchema + disabled/readonly vocabulary — nothing beyond the refs above.

Metadata

Metadata

Assignees

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions