What the desk results establish
The headline is a comparison of two configured systems on one authored workload. The analyses below explain what changes when the question is complete acceptance, repeatability, category mix, or evaluator choice. Use the results page to inspect individual tasks and the paper for formal definitions.
Reading the measures
| Question | Measure | What it observes |
|---|---|---|
| Did the handoff satisfy every required test? | Attempt acceptance | Accepted attempts divided by all scheduled attempts. |
| How much of the declared contract passed? | Mean within-attempt check fraction | Compute a fraction for each attempt, then average with equal attempt weights. |
| Was any run accepted? | At least one of 3 | Tasks with an accepted run, selected with hindsight. |
| Was every run accepted? | All 3 of 3 | Tasks accepted in every observed execution of the same inputs. |
Acceptance means that all required predicates pass. A predicate can contain several rules or a tolerance, so passing the contract does not prove every possible property of an artifact. The payment example shows an actual contract with a 90% agreement threshold inside one required predicate.
1. Check completion exceeds complete acceptance
| System | Attempt acceptance | Mean check fraction | Difference (pp) | Pooled checks passed |
|---|---|---|---|---|
| Proto / DeepSeek V4.1 Flash | 90.37% | 97.34% | 6.96 | 97.29% |
| Codex / GPT-5.6 sol | 84.31% | 94.42% | 10.10 | 93.61% |
Averaging check outcomes gives partial credit to rejected artifacts. That is useful for diagnosis, but the mean fraction and complete acceptance answer different questions. Their difference is 6.96 points for Proto and 10.10 points for Codex.
The pooled fraction divides all passed checks by all required checks. It gives more weight to tasks with more predicates and cannot be substituted for the attempt-weighted mean. Duplicating a predicate can change either partial-check metric without changing acceptance. The number of failed checks also does not establish repair effort or failure severity.
2. One failed predicate does not mean one small mistake
Failed required predicates per failed attempt
| System | Failed attempts | Exactly one failed predicate | Mean check fraction within failures | Single failed predicate types |
|---|---|---|---|---|
| Proto / DeepSeek V4.1 Flash | 54 | 34 | 72.3% | custom 18csv_values_match 4text_sentence_matches 4text_not_contains 4 |
| Codex / GPT-5.6 sol | 88 | 39 | 64.4% | custom 12text_sentence_matches 9csv_values_match 6xlsx_value_present 5 |
A custom predicate can bundle many business rules. The ledger establishes which tests failed; it does not show that the artifact was almost correct, that a single edit would repair it, or that the agent skipped self-verification. Distinguishing an agent error from an overly strict check requires artifact review against the task's requirements. That independent review has not been completed.
3. Passing once and passing every time are different observations
| System | Attempt acceptance | At least one of 3 | All 3 of 3 | Tasks with mixed outcomes |
|---|---|---|---|---|
| Proto / DeepSeek V4.1 Flash | 90.4% | 98.4% | 78.6% | 37 / 187 |
| Codex / GPT-5.6 sol | 84.3% | 93.0% | 75.4% | 33 / 187 |
At-least-one acceptance uses the grader to identify a successful output after observing all runs. It does not establish a practical retry policy: a user needs a way to recognize success. All-3 acceptance records repeatability on fixed inputs; it is not the probability that a monthly production workflow will succeed.
The all-repetitions interpretation follows τ-bench's passk. Here, different task difficulties and only 3 observations per fixture prevent a pooled pass rate from serving as a general reliability model. New fixtures and held-out templates test different forms of generalization.
4. The comparison depends on which work receives weight
| Category | Tasks | Proto accepted | Codex accepted | Difference (pp) | Pass difference |
|---|---|---|---|---|---|
| Spreadsheet | 41 | 115/123 | 109/123 | +4.88 | +6 |
| Bookkeeping | 36 | 99/108 | 98/108 | +0.93 | +1 |
| Reports | 30 | 81/90 | 56/90 | +27.78 | +25 |
| Reformatting | 26 | 74/78 | 78/78 | −5.13 | -4 |
| Extraction | 26 | 70/78 | 69/78 | +1.28 | +1 |
| Drafting | 19 | 49/57 | 37/57 | +21.05 | +12 |
| Tooling | 9 | 19/27 | 26/27 | −25.93 | -7 |
Reports and drafting contribute 37 additional Proto passes, exceeding the net difference of 34. Across the other 138 tasks, the counts are 377/414 for Proto and 380/414 for Codex. This post hoc calculation locates the observed difference; it does not justify replacing the full comparison with a selected subset.
Weighting each category equally changes the gap from 6.06 to 3.55 points. Neither weighting measures business demand. Use the workload comparison to inspect this sensitivity, then inspect relevant task contracts before treating a category label as a match for your own work. The data do not isolate whether differences arise from models, harnesses, skills, or evaluator coverage.
5. Spending per accepted attempt is an accounting ratio
| System | Est. model cost, USD | Accepted attempts | USD per accepted attempt | Median / p90 seconds | Input tokens |
|---|---|---|---|---|---|
| Proto / DeepSeek V4.1 Flash | 22.06 | 507 | 0.0435 | 124.9 / 455.6 | 823.6M |
| Codex / GPT-5.6 sol | 219.13 | 473 | 0.4633 | 135.2 / 403.3 | 166.0M |
Total captured estimated model spending divided by accepted attempts allocates spending on failures to the accepted outputs. It excludes human review, repairs, infrastructure, and uncaptured request usage. It is neither a provider invoice nor an expected cost for retrying until success.
Proto has lower estimated spending and median time, but more tokens, slightly more summed task time, and a worse p90. The cheaper model route therefore does not dominate every resource dimension. Resource accounting gives the price basis and missing observations.
6. Retrospective scoring changes the gap by 3.21 points
| System | Original passes | Fail → pass | Ungraded → pass | Pass → fail | Frozen passes |
|---|---|---|---|---|---|
| Proto / DeepSeek V4.1 Flash | 447 | 56 | 4 | 0 | 507 |
| Codex / GPT-5.6 sol | 431 | 40 | 3 | 1 | 473 |
The original gap is 2.85 points; the frozen gap is 6.06. The 3.21-point change comes from evaluating the same retained outputs differently, including recovery from original grader errors. It is not agent improvement and does not by itself establish scorer bias.
The frozen scorer was constructed after outputs existed by the organization developing Proto. Sharing one scorer makes the primary comparison consistent, while freezing its fingerprint makes later changes detectable. Neither establishes that the scoring choices were independent of the observed outputs. Independent adjudication is needed to decide which verdicts better reflect business acceptance. See the full transition accounting and self-audit.
7. Broader evidence needs new tests, not a stronger label
Both systems pass all repetitions on 116/187 tasks; 15 tasks have at least one system fail every repetition, and 1 have neither system pass. Their acceptance counts differ on 59 tasks. These observations describe this public suite; high scores on a development-exposed task set do not establish that a class of business work is solved.
The next useful evidence is a scorer reviewed before execution, sealed fixtures and templates, and independent judgments of retained artifacts. A same-model harness experiment would address a different question from this system comparison. The research roadmap separates these planned tests from the released desk results and the process pilot.
Calculations use the public attempt ledger. The measurement helpers and release tests reconcile counts and denominators. Raw outputs remain private, so this arithmetic audit does not substitute for reviewing the artifacts.