You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Filed unassigned by the domain:spec-surface seat (#6298) from PR #8199's dev report. Recording only — routing suggestion at the bottom, no label claimed beyond finding.
What
visible-when-alias-guidance.test.ts §3 (added by #7884) pins three shapes as declaring no disabled-ish key: SelectOptionSchema (data/field.zod.ts), FormSectionSchema (ui/view.zod.ts), PageComponentSchema (ui/page.zod.ts).
The maintainer ruling of 2026-08-12 on #7887 covered two of them — sections and page components gate visibility only; editability lives on fields. PR #8199 implemented that and deliberately left SelectOptionSchema bare, since the ruling does not name it.
So the third shape is now the odd one out: two of the three answer disabled with a boundary prescription, and it still answers with a bare unknown-key error.
Why it is not simply "apply the same ruling"
The ruling's reasoning does not obviously transfer, which is why this is filed as a question rather than a follow-up chore:
This surface already carries per-option state. Per-option visibleWhen binds current_user (ADR-0068), i.e. options already have their own predicate machinery. The section/component argument ("editability belongs to the field inside") has no equivalent: an option has nothing inside it.
Conversely the ADR-0049 argument still applies with full force: if nothing in the renderer honours a per-option disabled flag today, declaring one ships a declared-but-unenforced key.
So it is a genuine boundary-vs-gap question of the same kind #7887 was, and it wants the same treatment: a decision, then whichever prose or slot follows from it.
What would settle it
Whether any consumer (the console's picker, the metadata-form renderer, or any objectui select widget) has a notion of a non-selectable option today. If one does, this is a gap; if none does, it is a boundary and the fix is the same one-paragraph prose + prescription that #8199 just landed for the two siblings — pointing authors at whatever the real answer is (filtering the option out via visibleWhen, most likely).
Routing suggestion
domain:spec for the decision (adding a key would widen the accepted set); the follow-on prose is domain:spec-surface and small — the #8199 pattern is directly reusable, including the guidance-set placement reasoning. Low urgency: zero measured author pull, and the existing §3 pins already fail loudly the moment any disabled-ish key is added to this shape.
Backlinks: #7887 (the ruling), PR #8199 (the two-shape implementation), #7884 (the §3 pins), ADR-0068 (per-option current_user binding).
Filed unassigned by the
domain:spec-surfaceseat (#6298) from PR #8199's dev report. Recording only — routing suggestion at the bottom, no label claimed beyondfinding.What
visible-when-alias-guidance.test.ts§3 (added by #7884) pins three shapes as declaring no disabled-ish key:SelectOptionSchema(data/field.zod.ts),FormSectionSchema(ui/view.zod.ts),PageComponentSchema(ui/page.zod.ts).The maintainer ruling of 2026-08-12 on #7887 covered two of them — sections and page components gate visibility only; editability lives on fields. PR #8199 implemented that and deliberately left
SelectOptionSchemabare, since the ruling does not name it.So the third shape is now the odd one out: two of the three answer
disabledwith a boundary prescription, and it still answers with a bare unknown-key error.Why it is not simply "apply the same ruling"
The ruling's reasoning does not obviously transfer, which is why this is filed as a question rather than a follow-up chore:
disabledhas no vocabulary at all on FormSectionSchema / PageComponentSchema — no readonly/disabled/disabledWhen key to point an author at #7887 ruling — is not clearly true here.visibleWhenbindscurrent_user(ADR-0068), i.e. options already have their own predicate machinery. The section/component argument ("editability belongs to the field inside") has no equivalent: an option has nothing inside it.So it is a genuine boundary-vs-gap question of the same kind #7887 was, and it wants the same treatment: a decision, then whichever prose or slot follows from it.
What would settle it
Whether any consumer (the console's picker, the metadata-form renderer, or any objectui select widget) has a notion of a non-selectable option today. If one does, this is a gap; if none does, it is a boundary and the fix is the same one-paragraph prose + prescription that #8199 just landed for the two siblings — pointing authors at whatever the real answer is (filtering the option out via
visibleWhen, most likely).Routing suggestion
domain:specfor the decision (adding a key would widen the accepted set); the follow-on prose isdomain:spec-surfaceand small — the #8199 pattern is directly reusable, including the guidance-set placement reasoning. Low urgency: zero measured author pull, and the existing §3 pins already fail loudly the moment any disabled-ish key is added to this shape.Backlinks: #7887 (the ruling), PR #8199 (the two-shape implementation), #7884 (the §3 pins), ADR-0068 (per-option
current_userbinding).