Convergence Shipped
Every iteration writes raw facts to a metrics store. The convergence curve and the stopping point are queries over those facts, not stored counters.
The store holds per-iteration rows and nothing derived — no counts, no cached totals. The convergence curve, the resolved-versus-new-gap trend, and the diminishing-returns inflection are all computed by query, bucketed by contract size and gated on a minimum sample. When the sample is too small it says so and falls back to a placeholder rather than inventing a number.
Every run on record
| Run | Contract | Outcome | Iterations |
|---|---|---|---|
| reusable-document-search-view | 20 criteria | ready | 4 |
| all-data-feature | 14 criteria | ready | 4 |
| first-community | 16 criteria | ready, oracle down | 1 recorded, 7 built |
| research-search-better-ui | 19 criteria | halted (budget) | 1 |
| research-search-ui | 10 criteria | ready | 2 |
| owner-scoped-integrations-ui | 17 criteria | halted (budget) | 1 |
| audit-log | 2 criteria | halted (gate failure) | 2 |
| adh-test-infra-reliability | 5 criteria | ready | 1 |
| mcp-lifecycle-reliability | 4 criteria | ready | 2 |
| land-the-beast | 33 criteria, 3 repos | halted (gate failure) | 2 |
Iterations to a ready verdict
Ten runs is not a sample either, but it is the whole record rather than a chosen part of it: six reached ready, four halted, and all ten are in the table above — including the two that burned 13.3M and 13.5M tokens against a 10M budget before the guard stopped them. The chart counts only runs that reached a ready verdict, because "iterations to a verdict" is undefined for a run that never got one, and it omits first-community, whose conformance oracle was down for the entire run so its recorded iteration count is a measurement failure rather than a result.
Including the ones that failed
The land-the-beast run is reported as a halt, honestly attributed to tooling rather than code: the gate killed the run twice without ever rejecting the work, because the first gate run's state was destroyed mid-run by the archiver. The first document-search run did not converge either — it limped to an oscillation halt on a verification-evidence criterion the diff-graded oracle structurally cannot satisfy.