Commit 0313131
docs(agents): don't overstate the fix — updateMany still skips every rule
Adversarial verification of my own rewrite turned up the irony: "the
runtime validator enforces all 6" is itself advertising a capability the
runtime doesn't fully deliver — exactly what this directive prohibits.
evaluateValidationRules() has two call sites (engine.ts:2265 insert,
engine.ts:2440 single-id update). The options.multi/updateMany branch
never calls it, so on a bulk update all 6 rule types — plus field-level
requiredWhen and per-option visibleWhen authorization, which live inside
the same evaluator — are silent no-ops. The guard warning there is gated
on needsPriorRecord(), which returns false for format/json_schema, so
those two fail with no signal at all.
#1475's 9-vs-3 gap is genuinely closed; the switch does handle all 6.
But "declared == enforced" was true of the switch, not of the system.
Reworded to say what's true, and filed #3106 for the call-site hole
rather than expanding this docs PR into an engine fix (PD #10).
The example now carries the transferable lesson: a case label is not
enforcement — check the call site.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>1 parent d56e01a commit 0313131
1 file changed
Lines changed: 1 addition & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
71 | 71 | | |
72 | 72 | | |
73 | 73 | | |
74 | | - | |
| 74 | + | |
75 | 75 | | |
76 | 76 | | |
77 | 77 | | |
| |||
0 commit comments