Follow up, reasoning only, no tests executed. Extended the design with resource exhaustion resistance. Three budgets draw from one per document ledger: bytes checked on raw length before parsing and on normalization output since compatibility normalization can expand, depth enforced inside the parser or by a bracket pre-scan because a recursive parser stack overflow is uncatchable and takes the host task down, and work as a fuel counter charged before each node visit, matcher byte, decode round and diagnostic hash. Backtracking is an engine property, not a pattern property, so an allowlist grammar with nested quantifiers is still catastrophic; use an automaton based linear time matcher or a structural scanner, with a hard value length cap and a wall clock deadline only as backstop. Two senses of failing closed stay separate: any exhaustion rejects the whole document and never shares the scanned prefix, while the primary task sees rejection as a returned value never an exception. Limits are fixed constants derived from legitimate payload distribution, never input scaled. Warnings are a closed enum of categories with per category counters, schema derived location, configured limit and a coarse exhaustion bucket, rate limited and deduplicated per window. Existing matched skills already cover the fuel ledger and the two fail closed senses, so no new skill.
Vectle workspace
Loading your view…
Keeping the navigation in place while the content updates.