Skip to content

Roadmap: the order we are working in, and why #24

Description

@leggetter

This issue is the roadmap. It carries the order and the reasoning; the milestones
carry the contents. Nothing is listed twice, so nothing can disagree with itself.

Where we are, 29 August

The page is live. /evals and /evals.md publish from a release rather than from
whatever ran last, so an automated run can no longer move the public numbers.

Three releases cut. v0.1.0 the baseline, v0.2.0 a correction: eight of the twenty
failures published in v0.1.0 turned out to be our own scoring, in two scenarios, both
cases of a scorer asserting how an outcome was reached rather than whether it was.
Corrected, frontier agents came out level at 3 failures of 30 each — which closed the
"nearly every failure is Codex" finding as not confirmed.

The leak is contained and the page is live. Publishing is not finished: the release
helper is unbuilt. The two gaps that shipped knowingly — the page never saying what the
paired columns mean, and the weaker model published without a caption — were closed as
not planned on 29 August
. The page carries the scoreboard; anyone wanting method comes
here. #29 and #30 carry the reasoning.

Publishing is held right now, and the next thing anyone does should account for it.
#62 put "Do not ask clarifying questions" into the base prompt on 27 August — the one
string every cell shares — so every row measured before then was measured under a
different treatment. EVALS_PUBLISH=false until a snapshot exists that was measured end
to end under the current prompt. #66 carries the reason and the condition for clearing
it
; do not clear it from memory of this paragraph.

Three days of instrument work sit behind that. The order they happened in matters,
because each one found the next:

  1. Six issues fixed on 25 August had stayed open — both PRs referenced them in headings
    rather than closing keywords, so milestone 4 read as eleven items when it was five.
  2. The weak-model skills delta was −2, not −3. Both −3 readings are from 13 August,
    the credit-outage day, and no run since reproduced them.
  3. Chasing an apparent skills win in verification-002 found it was one execution
    republished into seven snapshots
    . That produced A published snapshot mixes execution dates, so counting snapshots overcounts measurements #60.
  4. Chasing that found the arms reach documentation differently — which produced The -no-skills arm reaches documentation differently, so part of the skills delta is not skills #61,
    and then a correction to The -no-skills arm reaches documentation differently, so part of the skills delta is not skills #61: split per experiment, both Claude arms sit at 0% empty
    searches and every Codex arm between 26% and 83%. The dominant variable is the agent,
    not the arm, and a pooled aggregate hid it.
  5. An agent that stops to ask a question scores zero, and we do not track how often #57 was decided by surveying six benchmarks giving five different answers, then
    measured: the detector went 4 → 0 for about $3.

The through-line is that every one of those was an instrument defect wearing the costume
of a result
, and each was found by looking at a row rather than at a rate. That is the
same lesson as Loops 1 and 2 and it has now happened often enough to expect.

The order, and why it is this order

Reordered on 20 August. The page is live and the numbers behind it are trustworthy enough
to publish, so the work that matters now is what the benchmark is for: covering the
product properly, and settling whether the skills earn their place. Trust and publishing
work continues behind those.

1. Cover the product

Outpost went from one scenario to five, published as v0.3.0, and the runs against them
showed the coverage was the easy half. Four of the five are passed by every agent, and an
audit found scorer patterns that could pass an agent which did nothing — a leftover tenant
satisfying every check, a delivery "attempt" counted as a delivery, and a scenario that
threw away the checks describing its own worst failures.
Console still has none, and no stage but build has more than three.

First because the page is live and the Product pivot names a per-product score. The number
most likely to be wrong in a way that matters is no longer "a product scored from one
test" — it is a product scored from tests that pass regardless.

2. Prove the skills earn their place

Skills must improve the product or there is no point having them.

Currently measured at +1 for Claude, 0 for GPT-5.6 and −2 for the deliberately weak
model — so they help where the agent is strong and hurt where it is not, and nobody knows
why. This paragraph said −3 until 26 August. Both −3 readings are from 13 August, the
credit-outage day, and the eight runs since read −2 (one read 0), so the sign is
replicated and the magnitude was not. #2 carries the recomputation.

The composition matters more than the number and has changed completely.
transform-001-reshape-payload is worse with skills in all ten published runs, which no
other scenario manages. The other three that made up the original −3 dissolved into no
difference, and verification-002 — the scenario the shared-cause theory was built on —
inverted to a skills win that has held for eight consecutive runs, with no skill change
to explain it (the submodule pin has not moved since 12 August).

The one controlled measurement since went the other way from what its first run claimed. A
24-cell Outpost run put the delta at 2 cells in 24, not the 9–0 an earlier run
suggested — because that earlier run was measuring a harness omission of ours, and a
+skills arm that had never been given the Outpost skill. Expect that shape again: most
of an apparent skills win is our own instrument until proven otherwise.

Settling it means both arms at three attempts on the current scorers — about $64, and the
run this milestone exists for. Worth saying in advance: if the answer is that skills are
neutral for frontier agents and negative for weaker ones, that is a finding and it gets
published. The alternative is shipping something because we built it.

Three things stood between that run and an interpretable answer, all found after this
milestone was written. One is now decided; two remain.
Running before they are settled
spends the better part of $100 on a number that cannot be read:

The run itself is now costed at $90–$110 rather than $64: nineteen scenarios rather
than fifteen, and --runs 3 at about 1.11× because attempts stop at the first pass.
Preferring more attempts to more instruction is now a convention in AGENTS.md — it is the
cheaper correction and it does not touch the one string every cell shares.

#61 and #60 both came out of chasing a single scenario in #2 that looked like a clean
skills win and was one execution republished seven times. That is the third time an
apparent skills result has dissolved under a control, which is the reason this milestone
is worth doing properly rather than quickly.

3. Finish publishing

The page is live and publishes from a release rather than from whatever ran last. The
release helper is half built (#13), and publishing is held until a snapshot exists that was
measured end to end under the current base prompt (#66).

The two explanatory gaps are closed as not planned. #29 was described here as a
prerequisite for reading the milestone-2 result, and it is not.
The redesign labels the
arms Baseline and With skills, clearer than -no-skills/+skills was; a reader
wanting to know how the arms differ comes to this repository. #30 went the same way for a
sharper reason: the case for captioning the weaker model rested on it outranking a frontier
agent, which turned out to be arithmetic on the website rather than anything a caption
would have fixed.

What replaced them is a question about the numbers rather than the copy. The redesign
briefly scored the page on checks passed instead of scenarios completed. Our scorers stop
as soon as there is nothing left to check, so a total failure returns 0/1 where a
near-miss returns 4/5 — failing worse is cheaper than failing partially. On the 25 August
snapshot that ranked the deliberately weaker model above a frontier agent, 97% to 95%,
where by scenarios they tie at 89%. The definition now lives in AGENTS.md rather than only
in the consumer that renders it.

4. Trust the numbers

Substantially done, and more so than the milestone showed until 26 August: six
issues fixed by #55 and #56 on 25 August stayed open because both PRs referenced
them in headings rather than closing keywords, so the phase read as eleven items
when it was five.

Substantially done. Three independent causes of moving results were found and handled:
fixed sleeps against asynchronous ingestion, a rubric that contradicted its own scenario,
and configuration readable before it is enforced.

Substantially done for the three causes found before 20 August. Three more surfaced in
the Outpost runs and none of them is theoretical: a killed container is still scored as an
agent's answer, an agent can wipe shared deployment config for every later run, and
nothing detects a run that reads this repository. A project reset that adopts leftovers as
pristine and a silently drifting submodule pin remain.

5. Sustain

Cadence and budget, durable transcripts, cost reporting, and the product findings this
repository cannot close itself (#25).

What this order is not

It is not a schedule and has no dates. The later phases can move in parallel where
they do not collide.

It is also not a commitment to do everything. An issue that stops being worth doing should
be closed with the reason — #3 was closed as a duplicate of #19, and #4 as not confirmed.

Keeping this current

Update this issue when the reasoning changes: a phase reordered, dropped, or finished.
Do not list individual issues here; that is what milestones are for, and a list kept in
two places goes stale in one of them. This repository has learned that three times.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions