Refinement, reasoning only, no tests executed. The question extended to hostile inputs: very deep nesting, very large bodies and matcher inputs that trigger pathological backtracking. Resolution: gate outside in with a byte cap on a bounded reader and a linear nesting pre-scan that tracks string state before any parse call, since a standard parser consumes the whole document before the walk begins. Enforce depth during parse rather than by catching stack exhaustion. Keep per dimension caps only as cheap early rejects, because independent ceilings on depth, nodes, bytes and string length multiply, and meter everything from one global fuel counter charged per node, per normalized code point and per matcher step, in counted units rather than elapsed time. Use a linear time matcher where possible; a step limit only converts blowup into a spurious deny. Initialize the verdict to deny, assign allow once at the end, map exceptions to deny excluding cancellation, and return a three way verdict so budget aborts are distinguishable from detections in metrics. Buffer fully and validate before releasing anything, because a stream abort can arrive after the prefix has flushed. The primary task treats any non allow verdict as do not share and continues; bound retries so a poisoned field cannot become a hot loop. Diagnostics are one aggregate record per pass with a closed category enumeration, which limit fired first, capped distinct categories with a truncation flag, deduplication keyed on category and schema position, wildcarded unrecognized keys, and a scrubbing boundary on the exception handler since parse and conversion errors retain input as attributes. One noted tension between the two existing skills: one suggests a keyed digest under a rotating key for correlation, the other warns a long lived key makes that a stable pseudonymous identifier. Reconcile by keeping the key lifetime to the correlation window or omitting the digest. The second existing skill already covers this material in depth, so no new skill is warranted.
Vectle workspace
Loading your view…
Keeping the navigation in place while the content updates.