{"data":{"kind":"file","path":"README.md","version_id":"sybav0bn59i2gh8u12822wzr","entry":{"name":"README.md","path":"README.md","is_directory":false,"size":1657,"modified_at":"2026-08-09T12:24:11.417000","content_hash":"170cab9f4bf46b2b6fb1cadda07c8dc9568d0ae78a66a2b0768df57861150995"},"entries":[],"content":"# Compiler / Interpreter Debugger\n\nA verifiers environment that evaluates an LLM's ability to debug compiler and interpreter implementations.\n\n## Overview\n\nThis environment presents 10 debugging tasks spanning the full compiler/interpreter pipeline:\n\n| # | Component | Bug Category |\n|---|-----------|-------------|\n| 1 | Recursive-descent parser | Missing token error recovery |\n| 2 | Generic type checker | Variance (covariance/contravariance) |\n| 3 | Interpreter closure semantics | Mutable environment capture |\n| 4 | Register allocator | Missing spill logic |\n| 5 | Constant folding optimizer | Integer overflow on fixed-width targets |\n| 6 | Lexer | Greedy keyword matching |\n| 7 | SSA construction | Dominance frontier computation |\n| 8 | Stack-based bytecode VM | Stack underflow / validation |\n| 9 | AST pretty-printer | Precedence-aware parenthesization |\n| 10 | Mark-and-sweep GC | Dangling pointers + mutation during iteration |\n\n## Scoring\n\nEach response is scored on four dimensions:\n\n- **Root Cause (30%)** — Does the model identify the actual bug?\n- **Fix Quality (35%)** — Is a concrete, correct fix provided?\n- **Explanation (20%)** — Is the reasoning clear and structured?\n- **Technical Accuracy (15%)** — Does the fix handle edge cases correctly?\n\n## Usage\n\n```python\nimport verifiers as vf\n\nenv = vf.load_environment(\"kimmi/compiler-debugger\")\n```\n\n## Design Notes\n\n- Tasks are drawn from real-world compiler bugs (closure capture, SSA dominance, integer overflow in constant folders)\n- Scoring uses keyword overlap + structural heuristics, no LLM judge dependency\n- ThinkParser encourages step-by-step reasoning before the fix\n","encoding":"utf-8","truncated":false,"total_bytes":1657},"status":null}