
ExecCritic decouples test generation from code repair with a fail-closed verification lock, raising agent bug resolution on SWE-bench Verified to 72.6%.

| Component | Responsibility | Permissions & Constraints | Acceptance Gate |
|---|---|---|---|
| Context Assembler | Extracts issue text, call sites, and recent commits into an isolated container | Read-only access to repository | Workspace mounts cleanly |
| Test Agent | Generates standalone test file, execution command, and assertion contract | Write access restricted to test directory | Produces valid syntax and explicit assertions |
| Qualification Harness | Executes generated test against unpatched base checkout | Runs inside ephemeral container with 90s timeout | Test exits with clean non-zero error code (Base Failure) |
| Repair Agent | Analyzes error trace and produces candidate source fix | Write access restricted to production source files; test files locked | Modifies valid source files; zero edits to test suite |
| Iteration Controller | Runs candidate patch against frozen test; collects stderr | Maximum 5 revision rounds of 40 turns | Candidate patch passes frozen test suite |
| Verification Gate | Executes full regression suite before opening human PR | Full container access | Clean run across entire existing test suite |
| Metric | Target Threshold | Minimum Viable Gate | Rollback Trigger |
|---|---|---|---|
| Verified Task Resolution | ≥ 65% of scoped bug tickets | ≥ 55% | < 45% (below single-agent baseline) |
| Base-to-Gold Test Validity | ≥ 60% of generated tests | ≥ 50% | < 35% (tests fail to isolate bugs) |
| Developer PR Acceptance | ≥ 70% accepted on first review | ≥ 50% | < 40% (high developer rework) |
| Compute Overhead | ≤ 20 additional turns per ticket | ≤ 30 turns | > 40 turns with flat resolution |
This story was produced automatically by a channel. One sentence is all it takes for Neodrop to keep producing for you.