Keep the loop's own measuring stick honest while it runs unattended.
Eight lessons on running a self-improving coding-agent loop without it quietly editing the thing that measures it: a locked scorer, a four-test loop-worthiness screen, a ratchet with a revert rule, a tiered spend cascade, a four-layer goal hierarchy, a triage score for the idea pile, the canary discipline for spreading a working loop across more than one project, and the answer key that gives a fleet a bar before it starts.
Take this course first
- Harness Engineering. Loop Engineering assumes a single agent loop already runs reliably inside a harness. This course adds the guard rails for letting that loop run unattended and, eventually, across more than one project.
You finish holding something.
You leave with every guard rail a self-improving loop needs before you let it run overnight unattended: a locked scorer, a worthiness screen, a ratchet, a spend budget, a goal hierarchy, a triage sheet, and a canary-and-ledger process for scaling it to more than one project.
The artifact
A running overnight loop you don't have to babysit: a locked-scorer hook, a loop-worthiness checklist, a ratchet ledger, a tiered spend table, a goal-hierarchy file, a triage-score sheet, and an upgrade ledger with a canary checklist, all wired to your own repository.
The loop you learn
Gate → Lock → Ratchet → Scale
Every lesson has the same shape.
You know what you are buying before you buy it.
01The failure
A specific self-improving loop that broke, with the symptom and what it cost, before any term is introduced.
02The mechanism
Why the failure happens structurally, and the smallest guard rail that removes it.
03The build
The ledger, checklist, hook or schema field added to your own loop, in full, inline.
04The proof
The negative control or adversarial check that shows the guard rail holds under pressure to game it, not just once on a clean run.
Why it is built this way.
Three decisions that shaped every lesson.
If the agent can edit the ruler, the ruler will shrink to fit the agent
A scorer is a file like any other: readable, writable, versioned. The only thing that makes it different is a decision that it should be off-limits, and that decision has to live somewhere the agent cannot overrule by reasoning its way around it.
A commit with no dated verdict is a guess wearing a timestamp
Every cycle declares a metric before touching anything, measures a noise floor from reruns, and keeps or reverts against that floor. Without the ledger, nobody can say which of hundreds of nightly commits actually improved anything.
Propagate like a release, not like a merge
A canonical layer defines what counts as correct and barely moves; a per-instance layer defines how one project explores and should diverge immediately. Spreading a fix across projects means pin, diff, canary one instance, watch a real cycle, then fan out — never a blind push.
6 modules, 8 entries.
The whole path is public. Nothing is hidden until you pay — only the bodies are gated.
MOD 01Lock what you measure
Before a loop runs unattended, make the one file that decides whether its work counted something it cannot write to itself.
- 01A Loop That Can Edit Its Score Will Edit Its ScoreRead · 19m · concise path · 4 quiz · free · updated 2026-10-04
You end with: loop/protected-paths.md + loop/locked-scorer-hook.json — a permission-layer deny rule scoped to the files that decide whether your loop's work counted, keyed on a session marker the loop itself cannot mint.
MOD 02Screen the candidate
Not every recurring annoyance is a loop. Run the cheap four-gate screen before spending an hour building automation for it.
- 02Most Tasks Do Not Deserve a LoopRead · 19m · concise path · 4 quiz · updated 2026-10-04
You end with: loop/loop-worthiness-checklist.md — four yes/no gates (repeated, token budget named, machine-checkable score, agent can run its own output) run against any candidate task, with the failing gate recorded.
MOD 03Run the ratchet
Snapshot before every change, declare one metric, and keep it only if the number moved past the noise floor — then price what each cycle actually cost.
- 03Keep It Only If The Number Moved: The RatchetRead · 20m · concise path · 4 quiz · updated 2026-10-05
You end with: loop/ratchet-ledger.md — a dated, append-only keep/revert ledger with a noise-floor-based revert rule and a decaying probation tag for proven-noisy metrics.
- 04Spend Tokens In Tiers, Not In LoopsRead · 20m · concise path · 4 quiz · updated 2026-10-04
You end with: loop/spend-tiers.md — a free/cheap/expensive tiered budget table plus cost_usd, tokens_in and tokens_out fields added to your trace schema.
MOD 04Aim, then triage
Split the goal into four tiers that move at different speeds, then score the idea pile before any real tokens get spent on it.
- 05Write the Goal in Four Layers and Let Only One Layer MoveRead · 21m · concise path · 4 quiz · updated 2026-10-04
You end with: harness/goal-hierarchy.md — a north star, a project objective with non-goals, a loop-owned per-cycle backlog, and a guardrail list, each tier naming who may edit it and what has to be true before it does.
- 06Triage the Pile: Score, Try Cheap, Then DecideRead · 21m · concise path · 4 quiz · updated 2026-10-04
You end with: harness/triage-score.md — a five-axis scoring formula with evidence-class and reversibility caps, a three-stage cheap-to-expensive screen, and a niche-archive table keyed on mechanism and layer.
MOD 05Scale across instances
Once more than one project runs the same self-improving loop, canary every template change before it fans out, and never let an instance write back into the shared template.
- 07A loop that improves loops: factory, instances, canaryRead · 20m · concise path · 4 quiz · updated 2026-10-04
You end with: harness/upgrade-ledger.md + harness/canary-checklist.md — a dated propagation ledger and a canary-before-fan-out checklist for spreading template changes across instances.
MOD 06Settle the bar
A fleet of builders and critics needs a bar that exists before it starts. When there is nothing finished to copy, settle every open question first and compile the answers into a key the fleet cannot edit.
- 08Settle the Bar Before the Loop StartsRead · 20m · concise path · 4 quiz · updated 2026-10-09
You end with: loop/fog-map.md + loop/answer-key.md — every undecided question about a build tagged decided or fog, and a pass/fail answer key compiled only from decided lines, each check naming the decision it came from.
Start with the free lesson.
Engineers who already run at least one coding-agent loop and want it to run overnight without gaming its own score, burning its budget, or drifting off its real goal.
- One-time price, lifetime updates
- Every course included — this one and the next
- 30-day money-back guarantee
- No card required to start