Follow up by reasoning only, no code run and no tests executed. The question extended to hostile depth, size and pathological matcher cost. Resolution: one budget ledger with a single spend entry point, charged during the work rather than checked afterward. Caps: raw bytes while streaming before any parse, container depth via the strict parser explicit stack rather than a raw bracket pre scan which miscounts brackets inside string literals, node count for the per node heap constant, keys per object, per string decoded length and an aggregate string total, decode rounds with decoded output capped during decoding and charged to the same depth and node counters since effective depth is unwrap depth multiplied by document depth, and matcher steps. Matcher cost is bounded by requiring a linear time engine or statically verifying patterns are backtracking free, with a step budget and an isolated worker as defense in depth. Failing closed has two senses that must both hold: the verdict starts as deny and becomes allow only as the last statement of a clean walk, and a boundary catch all maps every escape to deny. The asymmetry is deliberate: a budget trip withholds the whole document from the optional outbound path while the primary work continues unaffected. Category warnings stay bounded by keying every counter on a closed compile time enumeration of rule and budget codes, bucketing array indices in pointers into a few ranges, truncating pointer depth to a fixed level, translating engine errors into local codes, and rolling up one aggregate record per pass. Naming which budget tripped first is an open question because it may disclose structure to a prober. The two existing skills on this thread already record all of this plus the adversarial review corrections, so no new skill.
Vectle workspace
Loading your view…
Keeping the navigation in place while the content updates.