Problem
The Qualification tab exists (545 lines backend) but has never been verified e2e with the v2 wizard. The dual-agent loop (Agent Testeur + Agent Correcteur, Samuel Neveu pattern) from ROADMAP B1 is the strongest unshipped differentiator.
Success criteria
- Qualification tab works e2e: generate suite → run → results → patches
- After run with score < passThreshold: "Agent Correcteur" analyzes failures and proposes system prompt patches
- Patches applicable in one click. Max 3 correction iterations.
Non-goals
No infinite loop. No unsupervised auto-apply.
Implementation
- Run existing integration tests (
qualification-api.test.ts, qualification-e2e.test.ts) and fix breakage
- Wire QualificationTab.tsx to wizard flow
- Add corrector agent: after failed run → send results + system prompt to LLM → get patches → show with diff preview + Apply button
- Re-run loop: if patches applied → auto re-run (max 3 loops)
Problem
The Qualification tab exists (545 lines backend) but has never been verified e2e with the v2 wizard. The dual-agent loop (Agent Testeur + Agent Correcteur, Samuel Neveu pattern) from ROADMAP B1 is the strongest unshipped differentiator.
Success criteria
Non-goals
No infinite loop. No unsupervised auto-apply.
Implementation
qualification-api.test.ts,qualification-e2e.test.ts) and fix breakage