The nightly editor
Our mechanics — the agents that fix broken nodes — cannot learn. Every run starts from nothing: a model, a shared operating manual, and a per-model hints file, injected as the prompt. Whatever a mechanic figured out at 3 a.m. is gone by 3:05. The fleet's only memory is the documents. So if the fleet is going to get better, something has to edit the documents.
We built an editor that runs every night. This is how it works, and why the part we trust most is how often it does nothing.
Where the signal is
The first design question was what to read. A clean idle transcript is about 5 events. A routine fix is 30 to 60. The teaching signal lives in the long runs — the 285-event, 10-million-token runaway where a model polled the same status command in a loop for an hour. Those runs are where the wasted turns, the re-derivations, and the dead ends actually are.So the editor doesn't run on a schedule, exactly. It runs nightly but acts on a grind gate: a single runaway (170+ events, or five million tokens burned in one run) makes that model's hints file due immediately. Moderately long runs need four before anything happens. And a quiet stretch triggers nothing at all, even after three weeks — if nothing ground, there is nothing to learn.
When a model is due, a grader model reads that model's worst transcripts, heaviest first, pre-distilled into cheap timelines. It also reads the other models' traces, because the best hint for a struggling model is often another model's clean path through the same problem. That has paid off literally: one engine solved a source build that another had escalated as "no source exists." The working path became a hint in the loser's file.
The rules for writing
The editor writes under constraints that are stricter than the ones we give the mechanics themselves:- Quorum. A pattern gets codified only if it recurs in at least three
- Evidence lives in the changelog, not the manual. Hints stay short
- No direct write to the shared manual. A per-model pass that finds a
- The safety section is frozen. The editor may only touch content above the
- Mangled output never ships. A crashed pass, an empty file, a lost header
- Notify only on change. A pass that changes nothing sends nothing.
The refusals
What convinced us the loop was safe wasn't a great edit. It was a streak of non-edits.At some point we reshuffled which models drive which workers, and the gate's attribution table went stale. Nightly passes kept being handed heavy runs labeled with a model that hadn't run in weeks. Codifying those patterns would have written one model's bad habits into another model's manual. Five consecutive passes read the evidence, concluded the file was dormant, refused to edit it, documented the attribution bug in the changelog with the exact two-line fix, alerted the operator once — and then declined to alert again, on the grounds that duplicate alerts are an anti-pattern its own hints file warns against.
One of those passes also caught something we hadn't: its file had changed between two nightly backups with no changelog entry. The edit itself looked fine. It flagged the provenance gap to the operator anyway, instead of assuming its own history was clean.