findings

What our
experiments show.

Agents that start with API context are less likely to make the same mistakes again.

Two experiments got Sannr to where it is today. For each one: what we expected, what we ran, what we found, and the benchmark each one sets.

accumulation

Notes
carried forward.

The benchmark

1.06 incidents a session, cold (no context)
0.06 incidents a session, warm (with context)

The number a rerun on the current build has to match: one trap hit in 16 warm sessions.

Hypothesis
If each agent inherits the notes the agents before it wrote about an API, later agents will stop repeating their mistakes.
What we ran
40 sessions: four independent lanes, each running five generations of agents in two arms side by side. Cold (no context) started from nothing every generation. Warm (with context) inherited the notes its own lane had written so far. A rule we fixed before the run set generation 1 aside as calibration, which left 16 comparable pairs. One small service with one planted, undocumented trap. We counted incidents: hits on the trap, plus calls to routes the contract never declared.
What we found
Cold agents averaged 1.06 incidents a session. Warm agents averaged 0.06: one trap hit in 16 sessions. Task success was 100 percent in both arms.
Conclusion
Inheriting the notes didn’t change whether agents finished the work. It changed how often they hit the trap the agents before them had already found.

changing API

Context through
an API change.

The benchmark

81 persisted incidents, cold (no context)
6 persisted incidents, warm (kept current)
5 persisted incidents, warm (carried forward)

Across 18 sessions per arm after the change. The bar for carrying context through a change.

Hypothesis
When an API changes underneath what agents have learned, their old notes could do more harm than none, and a pass that keeps the notes current should prevent that.
What we ran
Six replicates of five generations on the same small service; at generation three the API changed, adding a second unstated precondition to one call. Three arms: cold (no context), starting from nothing every generation; warm (kept current), whose notes a maintenance pass updated between generations; and warm (carried forward), whose notes passed on untouched. 18 sessions in each arm after the change. We counted persisted incidents: trap hits whose order was still broken when the session ended.
What we found
Cold agents ended with 81 persisted incidents. Warm agents ended with 6 when their notes were kept current and 5 when they were carried forward untouched.
Conclusion
Context still helped after the API changed under it. Agents that carried it through the change left far fewer mistakes behind than agents that started over.