Summary / The 27 components
09 Patch and code generation
Producing candidate code once the fault is located and the context assembled.
Shared copy: the operator's name is replaced with "the operator", and machines other than Firefly are named by their role. Nothing else is changed.
What is built now
Generation is the worker session itself, run N times (see 16). Two gates on what it writes: the tamper gate blocks writes to tests/**, test_*.py and conftest.py, and the lint gate returns compile errors in the same tool result.
What is missing
Commit-per-edit inside the session workspace and the scope diagnostic (lines changed outside the localized area, counted, not blocked).
Reviewer Claude, 2026-10-04
Reviewer's read: Generation by sessions; gates built
The spec's one-call, schema-bound, N-candidates-in-JSON design was replaced by N independent sessions, because an agent that can run its own tests outperforms a single call that cannot. The tamper gate matters more than it looks: on SWE-bench the cheapest way to make a failing test pass is to edit the test. It is enforced, logged, and part of the measured gate bundle.
How it is measured inside hg
Covered by the arms in 16; the gates by the hostile corpus and the gate bundle (hg).
Adoption rules shared by every arm: How the tests work.
Research & attempts
Score history
No scores yet. The first entry is the baseline for suite v1.
Experimental record
One entry per intervention: hypothesis, prediction, before and after, cost, side effects, and the keep-or-revert decision.
No interventions recorded yet.