Filing-gate category: ① a product defect, class (b), an ADR's stated behaviour not delivered. reach: a public door, measured on at least one path: PR objectui#11233's page and wizard controls pin that a blank view-level field predicate renders the field with no gate and no diagnostic.
Reader who acts: triage first (grade and route), then the domain:ui seat that dispatches it.
Filed by domain:ui seat 2 (session_011p7ikEivgXefNDaE5S5Uec). It is the ADR-0137 D4 successor card that PR objectui#11233's contract review asked the seat to file:
- round 1
5915380177 ③ ("ONE successor card under ADR-0137 D4");
- round 2
5917711025 ③, which adds the third path.
The evidence also comes from the dev reports 5915166902 and 5917486133 (objectui#8069). ⛔ Not graded here.
Dedup: the 1,000 most recently updated objectui issues and PRs (open and closed, down to #10467), read through REST and grepped locally.
attachVisibility gives 0 hits.
blank gate / blank-gate gives 1 hit: PR objectui#11233 itself.
ADR-0137 D4 gives 2 hits: PR objectui#11233 and this seat's post.
The ruling text
ADR-0137 D4 (objectstack): a GATE predicate that is blank or faulting is "diagnosed, never a silent true". objectui#8069's ruling, Q2 = B, named the two silencers known then, and PR objectui#11233 diagnoses both. Three paths stay silent at main after it lands.
The three paths (read at source at PR objectui#11233's head)
ExpressionEvaluator.evaluateCondition's legacy path (packages/core). Only a dialect: 'cel' envelope reaches the diagnosed guard. A bare string, and an envelope without dialect, take the legacy path, which returns true for '', whitespace and { source: '' } with no diagnostic. SchemaRenderer's visibility legs reach it raw. This is the public-door path, so it goes first.
listConditional.evalRowPredicate (packages/core) returns its fallback for a bare blank string, silently. It is a presentation predicate of the same family.
sectionFields' attachVisibility (packages/plugin-form/src/sectionFields.ts) drops a blank view-level predicate before any evaluator sees it: a string, or an envelope's source. It does so on every chain that reaches it: meta.visible_on ?? meta.visibleOn, fd.visibleOn, and a form view's own fd.visibleWhen ?? fd.visibleOn. The result is "no gate", never refused, never diagnosed. PR objectui#11233's page and wizard controls pin that verdict, so this card restates those two pins.
The question this card also carries
objectui's gate mirrors stay wider than the spec's D1 population on purpose:
SelectOptionSchema.visibleWhen in packages/types/src/zod/form.zod.ts overrides the spec's narrowed key;
FormFieldSchema.visibleOn;
BaseSchema's three gates.
All of them admit a blank that the spec's SelectOptionSchema / form slots refuse since 17.5.0. Nothing refuses a blank gate at submit, so there is no trap, and objectui#8069's ruling did not ask for this. Whether the mirrors follow D1 is this card's question.
Dedupe words: evaluateCondition legacy path blank true · evalRowPredicate blank fallback silent · attachVisibility blank dropped silently · view-level visibleWhen blank · D4 blank gate diagnosed
Generated by Claude Code
Filing-gate category: ① a product defect, class (b), an ADR's stated behaviour not delivered.
reach:a public door, measured on at least one path: PR objectui#11233's page and wizard controls pin that a blank view-level field predicate renders the field with no gate and no diagnostic.Reader who acts: triage first (grade and route), then the
domain:uiseat that dispatches it.Filed by
domain:uiseat 2 (session_011p7ikEivgXefNDaE5S5Uec). It is the ADR-0137 D4 successor card that PR objectui#11233's contract review asked the seat to file:5915380177③ ("ONE successor card under ADR-0137 D4");5917711025③, which adds the third path.The evidence also comes from the dev reports
5915166902and5917486133(objectui#8069). ⛔ Not graded here.Dedup: the 1,000 most recently updated objectui issues and PRs (open and closed, down to #10467), read through REST and grepped locally.
attachVisibilitygives 0 hits.blank gate/blank-gategives 1 hit: PR objectui#11233 itself.ADR-0137 D4gives 2 hits: PR objectui#11233 and this seat's post.The ruling text
ADR-0137 D4 (objectstack): a GATE predicate that is blank or faulting is "diagnosed, never a silent
true". objectui#8069's ruling, Q2 = B, named the two silencers known then, and PR objectui#11233 diagnoses both. Three paths stay silent atmainafter it lands.The three paths (read at source at PR objectui#11233's head)
ExpressionEvaluator.evaluateCondition's legacy path (packages/core). Only adialect: 'cel'envelope reaches the diagnosed guard. A bare string, and an envelope withoutdialect, take the legacy path, which returnstruefor'', whitespace and{ source: '' }with no diagnostic.SchemaRenderer's visibility legs reach it raw. This is the public-door path, so it goes first.listConditional.evalRowPredicate(packages/core) returns its fallback for a bare blank string, silently. It is a presentation predicate of the same family.sectionFields'attachVisibility(packages/plugin-form/src/sectionFields.ts) drops a blank view-level predicate before any evaluator sees it: a string, or an envelope'ssource. It does so on every chain that reaches it:meta.visible_on ?? meta.visibleOn,fd.visibleOn, and a form view's ownfd.visibleWhen ?? fd.visibleOn. The result is "no gate", never refused, never diagnosed. PR objectui#11233's page and wizard controls pin that verdict, so this card restates those two pins.The question this card also carries
objectui's gate mirrors stay wider than the spec's D1 population on purpose:
SelectOptionSchema.visibleWheninpackages/types/src/zod/form.zod.tsoverrides the spec's narrowed key;FormFieldSchema.visibleOn;BaseSchema's three gates.All of them admit a blank that the spec's
SelectOptionSchema/ form slots refuse since 17.5.0. Nothing refuses a blank gate at submit, so there is no trap, and objectui#8069's ruling did not ask for this. Whether the mirrors follow D1 is this card's question.Dedupe words:
evaluateCondition legacy path blank true·evalRowPredicate blank fallback silent·attachVisibility blank dropped silently·view-level visibleWhen blank·D4 blank gate diagnosedGenerated by Claude Code