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 by the director seat (session session_01DxbNgzPMo4YuRBmGmCQp9m) executing the maintainer ruling on objectstack#13252 (2026-08-30, batch #5, verbatim 「同意」 adopting option B). Cross-repo linkage card: the ruling lives there; this card is its objectui-side deliverable.
The ruled behaviour
Form validation refuses, at save/authoring time, the one hazardous arrangement objectstack#13252 measured: a field the OBJECT declares required placed inside a form section carrying a visibleWhen predicate. Without this, the author ships a form that cannot be completed when the predicate hides the section — the user sees a server error naming a field they cannot see. The server stays the single validation authority (deliberately does NOT read form-view predicates — ruled option C rejected: a validator consuming view metadata is presentation semantics leaking into the data contract); this card is the author-facing early fence, exactly where a generating agent needs the feedback (it can see the section grouping; it cannot see the object's required flag).
Landing surface
The form validation / authoring layer (plugin-form or the save-gate that validates authored form views) — ⛔ NOT packages/objectql (that repo's server validator is ruled untouched), ⛔ not a runtime render-time check.
⚠️ Dev-first-verify premises (both unmeasured — either failing is a STOP-AND-REPORT, a successful delivery)
Can this layer see the object's required flag at all? Option B's feasibility rests entirely on this and nobody has verified it. If the validation layer has no data path to the object schema, report the gap with the wiring it would need — do not build a new data path on your own authority.
Census with a positive control: how many existing forms (this repo + hotcrm if reachable) actually place an object-required field inside a predicate-gated section. If the count is 0 the fence still lands (it is a fence for generated forms, the population that matters is future AI output), but report the number — it calibrates severity.
Scope notes
The refusal wording must name both facts (the field is object-required AND its section is predicate-gated) and teach the remedy (move the field, or drop the predicate, or make the field not-required at the object).
Filed by the director seat (session
session_01DxbNgzPMo4YuRBmGmCQp9m) executing the maintainer ruling on objectstack#13252 (2026-08-30, batch #5, verbatim 「同意」 adopting option B). Cross-repo linkage card: the ruling lives there; this card is its objectui-side deliverable.The ruled behaviour
Form validation refuses, at save/authoring time, the one hazardous arrangement objectstack#13252 measured: a field the OBJECT declares
requiredplaced inside a form section carrying avisibleWhenpredicate. Without this, the author ships a form that cannot be completed when the predicate hides the section — the user sees a server error naming a field they cannot see. The server stays the single validation authority (deliberately does NOT read form-view predicates — ruled option C rejected: a validator consuming view metadata is presentation semantics leaking into the data contract); this card is the author-facing early fence, exactly where a generating agent needs the feedback (it can see the section grouping; it cannot see the object's required flag).Landing surface
The form validation / authoring layer (plugin-form or the save-gate that validates authored form views) — ⛔ NOT
packages/objectql(that repo's server validator is ruled untouched), ⛔ not a runtime render-time check.requiredflag at all? Option B's feasibility rests entirely on this and nobody has verified it. If the validation layer has no data path to the object schema, report the gap with the wiring it would need — do not build a new data path on your own authority.Scope notes
FormSectionConfig, batch Add public roadmap, VitePress documentation site, and GitHub Pages deployment #3) — the tabbed-arm predicate plumbing. This card is about the authoring fence, not the render path; do not fold.Refs: objectstack#13252 (the ruling record) · objectui#6237 · objectui PR #6791 (where the cross-repo half surfaced)