## Summary - Switch `extract_code_block_with_context` (non-greedy `.*?`) → `extract_code_block` (greedy `.*`) for repair code extraction — the non-greedy regex matched the first closing fence, truncating code when the LLM included explanatory snippets before the full file (root cause of 82% of repair failures) - Add `ast.parse` validation before CST parsing for fast syntax checking - Retry the LLM once with the specific syntax error appended to the conversation when validation fails ## Test plan - [x] Existing tests pass - [ ] Run end-to-end optimization to verify repairs succeed |
||
|---|---|---|
| .. | ||
| aiservice | ||
| .dockerignore | ||