actix-web → axum
The language stays, the framework it is organized around is replaced. 3,484 lines, 8 hours per model, and 12,466 checks across 14 modules.
- Runs
- 26
- Past rung 1
- 22
- Past rung 2
- 1
- Past rung 3
- 0
- Best composite
- 60
one per configuration
of 26 — the migration happened
of those 22 — every check perfect
of the 1 — accepted
highest score on this task
The instrument
Acceptance gates
6
decide whether the migration happened
Behavioral modules
14
ported suites, run against the new tree
Frozen checks
12,466
all must pass to open rung three
Verifiers
6
hostile programs, written against the spec
Where the 26 runs stopped
- 3
- Never migrated
- 21
- Migrated, behavior lost
- 1
- Perfect suite, gate rejected
- 1
- Verifier found a difference
- 0
- Accepted
2 runs were perfect on all 12,466 checks; 1 was rejected anyway — the migration had not happened. Of the 1 that reached rung three, 0 survived all six verifiers.
By model
| Model | Runs | Gate | Ceil. | Where they stopped | Mean | Best |
|---|---|---|---|---|---|---|
| claude-opus-5 | 5 | 5 | 1 | | 12.0 | 60 |
| claude-sonnet-5 | 5 | 3 | 0 | | 0.0 | — |
| dsv4-flash | 1 | 1 | 0 | | 0.0 | — |
| glm-5.2 | 1 | 1 | 0 | | 0.0 | — |
| gpt-5.6-luna | 6 | 6 | 0 | | 0.0 | — |
| gpt-5.6-sol | 6 | 5 | 0 | | 0.0 | — |
| kimi-k3 | 1 | 1 | 0 | | 0.0 | — |
| qwen3.8-max | 1 | 0 | 1 | | 0.0 | — |
Every run
best composite firstOne row per configuration. Shape is the run's tool sequence in 24 slices — pale is shell, dark is an edit — and each log is the full session as recorded.
| Model | Effort | Outcome | Gate | Checks | Verif. | Score | Shape |
|---|---|---|---|---|---|---|---|
| claude-opus-5 | max | broken | 6/6 | 100.0% | 2/6 | 60 | |
| qwen3.8-max | max | blind | 2/6 | 100.0% | — | 0 | |
| claude-opus-5 | xhigh | partial | 6/6 | 99.9% | — | 0 | |
| kimi-k3 | max | partial | 6/6 | 99.9% | — | 0 | |
| gpt-5.6-sol | max | partial | 6/6 | 99.8% | — | 0 | |
| claude-opus-5 | medium | partial | 6/6 | 99.6% | — | 0 | |
| claude-opus-5 | high | partial | 6/6 | 99.6% | — | 0 | |
| claude-opus-5 | low | partial | 6/6 | 99.5% | — | 0 | |
| claude-sonnet-5 | max | partial | 6/6 | 99.1% | — | 0 | |
| dsv4-flash | max | partial | 6/6 | 99.1% | — | 0 | |
| gpt-5.6-luna | max | partial | 6/6 | 99.0% | — | 0 | |
| gpt-5.6-sol | high | partial | 6/6 | 98.7% | — | 0 | |
| gpt-5.6-sol | xhigh | partial | 6/6 | 98.5% | — | 0 | |
| claude-sonnet-5 | low | partial | 6/6 | 98.4% | — | 0 | |
| gpt-5.6-luna | xhigh | partial | 6/6 | 98.3% | — | 0 | |
| glm-5.2 | max | partial | 6/6 | 98.3% | — | 0 | |
| claude-sonnet-5 | medium | partial | 6/6 | 97.8% | — | 0 | |
| gpt-5.6-sol | medium | partial | 6/6 | 97.0% | — | 0 | |
| gpt-5.6-sol | none | partial | 6/6 | 95.9% | — | 0 | |
| gpt-5.6-luna | medium | partial | 6/6 | 95.6% | — | 0 | |
| gpt-5.6-luna | high | partial | 6/6 | 95.1% | — | 0 | |
| gpt-5.6-luna | none | partial | 6/6 | 90.1% | — | 0 | |
| gpt-5.6-luna | low | partial | 6/6 | 75.1% | — | 0 | |
| gpt-5.6-sol | low | failed | 5/6 | 9.9% | — | 0 | |
| claude-sonnet-5 | high | failed | 2/6 | 0.0% | — | 0 | |
| claude-sonnet-5 | xhigh | failed | 2/6 | 0.0% | — | 0 |