Maximum number of non-fenced, non-heading candidate lines.
Maximum aggregate UTF-8 bytes retained/processed as candidate metadata.
Maximum number of body lines inspected.
Maximum aggregate UTF-8 bytes across inspected body lines.
Maximum markdown notes admitted by the incremental vault walker.
Maximum UTF-8 bytes in one decoded note.
Maximum serialized UTF-8 bytes retained in the exact top-K result heap.
Maximum UTF-8 bytes in one line sent to either matcher.
Maximum aggregate UTF-8 bytes across decoded notes.
Maximum directory entries inspected by the incremental vault walker.
Maximum candidate lines cloned into one regex worker.
Maximum aggregate line bytes cloned into one regex worker.
Maximum aggregate wall time, across the whole request, spent on regex-worker overhead — thread startup and teardown — as opposed to matching.
v4 AUD-1. Charging that overhead to the ReDoS budget was wrong (it rejected legitimate patterns on large vaults for a reason that had nothing to do with the pattern), but simply not charging it left the request with NO aggregate ceiling at all: the per-worker startup bound is per worker, and a vault with many batches multiplies it. This is the aggregate the matching budget stopped being.
Closed resource envelope for one getOpenQuestions execution.
Every limit is charged before the corresponding source text, line, candidate, worker batch, or result is retained. The optional execution override accepted by getOpenQuestions may only NARROW these defaults, which gives tests a small causal seam without letting programmatic callers weaken production admission.