Skeleton first: four agents, told to render early vs told how

ops-dashboard · 24 runs · horizon 420s · 163 distinct screenshots · showing the first 240s, by when every run had ended

00:00 / 00:00
1 cc-sonnet-5.5 AUC 0.953told
cc-sonnet-5.5 at the current time
-- first render 19.6s · reviewable 19.6s report
2 cc-sonnet-5.5 AUC 0.953told
cc-sonnet-5.5 at the current time
-- first render 19.9s · reviewable 19.9s report
3 cc-sonnet-5.5 AUC 0.941told
cc-sonnet-5.5 at the current time
-- first render 24.9s · reviewable 24.9s report
4 pi-gpt-5.5 AUC 0.936told
pi-gpt-5.5 at the current time
-- first render 27.1s · reviewable 27.1s report
5 pi-gpt-5.5 AUC 0.932told
pi-gpt-5.5 at the current time
-- first render 28.4s · reviewable 28.4s report
6 pi-gpt-5.5 AUC 0.927told
pi-gpt-5.5 at the current time
-- first render 30.6s · reviewable 30.6s report
7 cc-opus-5.5 AUC 0.926told
cc-opus-5.5 at the current time
-- first render 31.1s · reviewable 31.1s report
8 cc-opus-5.5 AUC 0.921told
cc-opus-5.5 at the current time
-- first render 33.0s · reviewable 33.0s report
9 cc-opus-5.5 AUC 0.912told
cc-opus-5.5 at the current time
-- first render 36.9s · reviewable 36.9s report
10 pi-gemini-3.8-flash AUC 0.895told
pi-gemini-3.8-flash at the current time
-- first render 44.0s · reviewable 44.0s report
11 pi-gemini-3.8-flash AUC 0.893told
pi-gemini-3.8-flash at the current time
-- first render 45.1s · reviewable 45.1s report
12 pi-gemini-3.8-flash AUC 0.892told
pi-gemini-3.8-flash at the current time
-- first render 45.3s · reviewable 45.3s report
13 cc-sonnet-5.5 AUC 0.942skeleton first
cc-sonnet-5.5 at the current time
-- first render 7.5s · reviewable 26.9s report
14 cc-opus-5.5 AUC 0.942skeleton first
cc-opus-5.5 at the current time
-- first render 13.7s · reviewable 29.3s report
15 cc-sonnet-5.5 AUC 0.931skeleton first
cc-sonnet-5.5 at the current time
-- first render 7.5s · reviewable 34.0s report
16 cc-sonnet-5.5 AUC 0.931skeleton first
cc-sonnet-5.5 at the current time
-- first render 8.7s · reviewable 32.7s report
17 cc-opus-5.5 AUC 0.930skeleton first
cc-opus-5.5 at the current time
-- first render 12.7s · reviewable 28.6s report
18 pi-gpt-5.5 AUC 0.929skeleton first
pi-gpt-5.5 at the current time
-- first render 20.9s · reviewable 29.3s report
19 cc-opus-5.5 AUC 0.928skeleton first
cc-opus-5.5 at the current time
-- first render 16.6s · reviewable 31.2s report
20 pi-gemini-3.8-flash AUC 0.916skeleton first
pi-gemini-3.8-flash at the current time
-- first render 16.1s · reviewable 37.5s report
21 pi-gpt-5.5 AUC 0.907skeleton first
pi-gpt-5.5 at the current time
-- first render 27.5s · reviewable 38.1s report
22 pi-gemini-3.8-flash AUC 0.881skeleton first
pi-gemini-3.8-flash at the current time
-- first render 28.3s · reviewable 57.1s report
23 pi-gemini-3.8-flash AUC 0.874skeleton first
pi-gemini-3.8-flash at the current time
-- first render 19.9s · reviewable 61.7s report
24 pi-gpt-5.5 AUC 0.806skeleton first
pi-gpt-5.5 at the current time
-- first render 12.5s · reviewable 27.8s report

Correctness over time

0.00 0.25 0.50 0.75 1.000s40s80s120s160s200s240s cc-sonnet-5.5cc-sonnet-5.5cc-sonnet-5.5pi-gpt-5.5pi-gpt-5.5pi-gpt-5.5cc-opus-5.5cc-opus-5.5cc-opus-5.5pi-gemini-3.8-fpi-gemini-3.8-fpi-gemini-3.8-fcc-sonnet-5.5cc-opus-5.5cc-sonnet-5.5cc-sonnet-5.5cc-opus-5.5pi-gpt-5.5cc-opus-5.5pi-gemini-3.8-fpi-gpt-5.5pi-gemini-3.8-fpi-gemini-3.8-fpi-gpt-5.5

The chart stops at 240s because every run had ended by then. Each curve holds its last value from there to the 420s horizon, and the AUC is integrated over all of it.

Follow-up edits

Once the first build was on screen, every agent got the same follow-up prompts in its live session. Each edit is replayed from the moment its prompt was sent, so the panels show the same edit at the same moment however long each agent took over the first build.

0.0s
1 cc-sonnet-5.5
cc-sonnet-5.5 during the edit
--
2 cc-sonnet-5.5
cc-sonnet-5.5 during the edit
--
3 cc-sonnet-5.5
cc-sonnet-5.5 during the edit
--
4 pi-gpt-5.5
pi-gpt-5.5 during the edit
--
5 pi-gpt-5.5
pi-gpt-5.5 during the edit
--
6 pi-gpt-5.5
pi-gpt-5.5 during the edit
--
7 cc-opus-5.5
cc-opus-5.5 during the edit
--
8 cc-opus-5.5
cc-opus-5.5 during the edit
--
9 cc-opus-5.5
cc-opus-5.5 during the edit
--
10 pi-gemini-3.8-flash
pi-gemini-3.8-flash during the edit
--
11 pi-gemini-3.8-flash
pi-gemini-3.8-flash during the edit
--
12 pi-gemini-3.8-flash
pi-gemini-3.8-flash during the edit
--
13 cc-sonnet-5.5
cc-sonnet-5.5 during the edit
--
14 cc-opus-5.5
cc-opus-5.5 during the edit
--
15 cc-sonnet-5.5
cc-sonnet-5.5 during the edit
--
16 cc-sonnet-5.5
cc-sonnet-5.5 during the edit
--
17 cc-opus-5.5
cc-opus-5.5 during the edit
--
18 pi-gpt-5.5
pi-gpt-5.5 during the edit
--
19 cc-opus-5.5
cc-opus-5.5 during the edit
--
20 pi-gemini-3.8-flash
pi-gemini-3.8-flash during the edit
--
21 pi-gpt-5.5
pi-gpt-5.5 during the edit
--
22 pi-gemini-3.8-flash
pi-gemini-3.8-flash during the edit
--
23 pi-gemini-3.8-flash
pi-gemini-3.8-flash during the edit
--
24 pi-gpt-5.5
pi-gpt-5.5 during the edit
--

Ranking

RunAUCFinal First renderFirst reviewable By AUCBy finalWindow closed by
Told the clock is running
cc-sonnet-5.5 0.9531.00 19.6s19.6s 1 1 signal
cc-sonnet-5.5 0.9531.00 19.9s19.9s 2 1 ≠ signal
cc-sonnet-5.5 0.9411.00 24.9s24.9s 3 1 ≠ signal
pi-gpt-5.5 0.9361.00 27.1s27.1s 4 1 ≠ signal
pi-gpt-5.5 0.9321.00 28.4s28.4s 5 1 ≠ signal
pi-gpt-5.5 0.9271.00 30.6s30.6s 6 1 ≠ signal
cc-opus-5.5 0.9261.00 31.1s31.1s 7 1 ≠ signal
cc-opus-5.5 0.9211.00 33.0s33.0s 8 1 ≠ signal
cc-opus-5.5 0.9121.00 36.9s36.9s 9 1 ≠ signal
pi-gemini-3.8-flash 0.8951.00 44.0s44.0s 10 1 ≠ signal
pi-gemini-3.8-flash 0.8931.00 45.1s45.1s 11 1 ≠ signal
pi-gemini-3.8-flash 0.8921.00 45.3s45.3s 12 1 ≠ signal
Told to save a skeleton first, then one section per save
cc-sonnet-5.5 0.9421.00 7.5s26.9s 1 1 signal
cc-opus-5.5 0.9421.00 13.7s29.3s 2 1 ≠ signal
cc-sonnet-5.5 0.9311.00 7.5s34.0s 3 1 ≠ signal
cc-sonnet-5.5 0.9311.00 8.7s32.7s 4 1 ≠ signal
cc-opus-5.5 0.9301.00 12.7s28.6s 5 1 ≠ signal
pi-gpt-5.5 0.9291.00 20.9s29.3s 6 1 ≠ signal
cc-opus-5.5 0.9281.00 16.6s31.2s 7 1 ≠ signal
pi-gemini-3.8-flash 0.9161.00 16.1s37.5s 8 1 ≠ signal
pi-gpt-5.5 0.9071.00 27.5s38.1s 9 1 ≠ signal
pi-gemini-3.8-flash 0.8811.00 28.3s57.1s 10 1 ≠ signal
pi-gemini-3.8-flash 0.8741.00 19.9s61.7s 11 1 ≠ signal
pi-gpt-5.5 0.8060.86 12.5s27.8s 12 12 signal

Highlighted rows rank differently by trajectory than by final score — the disagreement the trajectory metric exists to surface. Playback shows the frames the scores were computed from, on one shared clock, so the ranking above and the pictures below cannot disagree.

What naming the stages was worth

RunAUC skeletonAUC told Δ AUCFirst render skeleton toldEffect on first render
claude-code:claude-opus-5-5 medians of 3/3 0.9300.921 +0.008 13.7s33.0s 19.3s sooner
pi:gemini-3.8-flash medians of 3/3 0.8810.893 −0.012 19.9s45.1s 25.2s sooner
claude-code:claude-sonnet-5-5 medians of 3/3 0.9310.953 −0.022 7.5s19.9s 12.4s sooner
pi:gpt-5.5 medians of 3/3 0.9070.932 −0.025 20.9s28.4s 7.5s sooner

Paired: the same agent on the same brief, told to render early either way, with one difference — whether it was also told how: a skeleton save first, then one section per save. Positive means the skeleton instruction helped. First render and area under the curve can move in opposite directions here: an early skeleton scores little, and every extra save is another model turn before the page is complete.