Hard limits
Status: stub. Day 3 deliverable.
The DSL enforces these limits at the spec level and before any LLM-based linting touches the document. A hostile DSL cannot bomb the compiler — the deterministic Rust → Wasm parser refuses oversized input first.
| Limit | Value | Violation |
|---|---|---|
| AST node total | 2,048 | COMPILER_BOMB_AST_NODES |
rules[] count | 256 | COMPILER_BOMB_RULE_COUNT |
| Predicate nesting depth | 8 | COMPILER_BOMB_PREDICATE_DEPTH |
Quantifier (any / all) nesting | 2 | COMPILER_BOMB_QUANTIFIER_DEPTH |
| Variable references per predicate | 32 | COMPILER_BOMB_VAR_REFS |
Array max declaration | required | MISSING_ARRAY_MAX |
| File size | 256 KiB | COMPILER_BOMB_FILE_SIZE |
| Compiler CPU budget | 5,000 ms | COMPILER_BOMB_CPU_BUDGET |
Source of truth: Blueprint v4.0 §5.1.