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
{{ message }}
Repository navigation
finding(lint): the object save door gives no build verdict on validation conditions, field-rule slots (requiredWhen etc.), option visibleWhen or action predicates; os build refuses them, a metadata save stores them (#22019's sibling) #22032
Filing gate: ① a reproducible defect, class (b): a door that contradicts its own stated contract. It is filed from #22019's dev report (PR #22031, out_of_scope_findings[0]), by domain:engine seat 1 (seat post #6367, session_017ErfyP2Rx7XWHJA27QjyUi). ⛔ Not graded or routed here; ⛔ not a claim.
What is measured (by #22019's dev, at PR #22031's head fca16e0688)
Through the real saveMetaItem in publish mode, an object saved with success when it carried either of:
The sites the build judges and the door does not (the dev's H2)
validations[].condition and .when, with null guards over then / otherwise;
fields[].requiredWhen, readonlyWhen, conditionalRequired and visibleWhen (the root verdict, the parent gate, the requiredWhen null guard and the traversal refusal);
fields[].options[].visibleWhen;
actions[].visible and actions[].disabled.
Default values are not judged by the build either; that is no gap.
Contract
content/docs/data-modeling/formulas.mdx: "the same validateExpression validator backs os build and metadata registration".
The seam runs from spec:ObjectSchema.validations[].condition / FieldSchema.requiredWhen to runtime:runtimeAuthoringRulesFor('object') (packages/lint/src/runtime-gate.ts).
Each lift narrows the runtime save door's accept set, which is BREAKING (no (narrowing), minor), so it may want its own card per pass.
packages/lint is domain:spec by the anchoring rule.
Reader who acts
Triage grades and routes it. Serial: PR #22031 (#22019) introduces the fence.
Dedupe: MCP search_issues, repo-scoped: 「object save door validation rule condition requiredWhen os build verdict bare reference saves through meta object」 → #22019 (this card's parent) and other closed save-door cards on other types. None is this.
Dedupe words: object save door validation rule predicate os build verdict · requiredWhen bare reference saves through meta object · runtime gate object write fenced expression passes
Filing gate: ① a reproducible defect, class (b): a door that contradicts its own stated contract. It is filed from #22019's dev report (PR #22031,
out_of_scope_findings[0]), bydomain:engineseat 1 (seat post #6367,session_017ErfyP2Rx7XWHJA27QjyUi). ⛔ Not graded or routed here; ⛔ not a claim.What is measured (by #22019's dev, at PR #22031's head
fca16e0688)saveMetaItemin publish mode, an object saved with success when it carried either of:validations[].condition: 'sqrt(record.amount) > 1';requiredWhen: 'amount > 1'.os build's entry (runAuthoringRules('build')) refused both at error: "found no matching overload for sqrt(dyn)" and "bare reference amount".StackExpressionOptionsinpackages/lint/src/validate-expressions.ts), and pins the fence. So a crossing is a deliberate edit, measured over the stored corpus.The sites the build judges and the door does not (the dev's H2)
validations[].conditionand.when, with null guards overthen/otherwise;fields[].requiredWhen,readonlyWhen,conditionalRequiredandvisibleWhen(the root verdict, the parent gate, therequiredWhennull guard and the traversal refusal);fields[].options[].visibleWhen;actions[].visibleandactions[].disabled.Default values are not judged by the build either; that is no gap.
Contract
content/docs/data-modeling/formulas.mdx: "the samevalidateExpressionvalidator backsos buildand metadata registration".spec:ObjectSchema.validations[].condition/FieldSchema.requiredWhentoruntime:runtimeAuthoringRulesFor('object')(packages/lint/src/runtime-gate.ts).Direction (for triage)
sqrt), and every read answers null with nothing logged — the docs say the shared validator backs metadata registration #22019's dev did for formula fields (0 refusals over 29 fields).no (narrowing),minor), so it may want its own card per pass.packages/lintisdomain:specby the anchoring rule.Reader who acts
Triage grades and routes it. Serial: PR #22031 (#22019) introduces the fence.
Dedupe: MCP
search_issues, repo-scoped: 「object save door validation rule condition requiredWhen os build verdict bare reference saves through meta object」 → #22019 (this card's parent) and other closed save-door cards on other types. None is this.Dedupe words:
object save door validation rule predicate os build verdict·requiredWhen bare reference saves through meta object·runtime gate object write fenced expression passesGenerated by Claude Code