Kaelvorn: build and redesign benchmark

One Claude Code orchestrator on Claude Opus 5.5 commissioned research, art, implementation and reviews through the delegate skill. The result is the live Kaelvorn site: 37 prerendered pages for a fictional upcoming MMORPG, with 13 Callings, four full dossiers, skill trees and a painted atlas. The redesign brought the implementation closer to its painted concepts, adding a central HUD, a heraldic logo, brush masks, crown moulding and painted interface icons.

Summary

Stage Runs / turns Summed agent time Images made Agents USD Orchestrator USD Combined USD Orchestrator share
Build 43 / 50 9h 07m 37s (9.1269 h) 111 $72.77 $24.20 $96.97 24.96%
Redesign 18 / 20 5h 09m 12s (5.1533 h) 36 $68.19 $37.42 $105.61 35.43%
Both stages 61 / 70 14h 16m 49s (14.2803 h) 147 $140.95 $61.62 $202.57 30.42%

These are Standard list-price usage valuations, not subscription invoices. Image output uses the first benchmark's high-quality assumption and explicitly declared size proxies; reasoning is not charged twice. All values are rounded only for display. Agent time sums overlapping run durations, not elapsed delivery time; orchestrator hours are unmeasured.

Kaelvorn: build and redesign cost by agent Stacked horizontal bars in US dollars at Standard list prices. Dark segments represent the build; light segments the redesign. Image output costs are separated from text agent costs. The orchestrator is one shared Claude Code session. All figures and formulas are in BENCHMARK.md. The cost of making Kaelvorn Standard list-price USD · image output estimates included Build · darker Redesign · lighter $0 $20 $40 $60 $80 Codex · text $77.99 Cursor · GPT-5.6 Sol $30.24 Cursor · Grok 4.7 $2.71 Antigravity · text $8.90 Gemini API · text $1.13 Nano Banana images $1.41 Codex images $18.56 Orchestrator $61.62
Dark = build; light = redesign. Totals beside each bar use unrounded component costs.

The fixed source snapshot is usage.json, orchestrator.json, prices.md (sources read 2026-10-26), the decision log, image ledger, redesign plan and benchmark brief. Build means the recorded codex-1…25, antigravity-1…9, cursor-1…6 and gemini-api-1…3 records, including cursor-2-nested-codex. There is no cursor-3 record. Redesign means codex-26…33, cursor-7…12 and antigravity-10…13. This writer (codex-34) is absent and excluded; 61 runs are present, including four quota attempts.

Cost and usage per agent

Each stage cell reports USD; runs / turns; time (hours); fresh / cached / output / reasoning tokens (F/C/O/R); images. Image-model rows split output charges from their owners' text costs without adding delegations or hours: Nano Banana was invoked inside antigravity-7 in the build and cursor-7…10 in the redesign; Codex image calls were inside Codex runs. Thus text rows show zero images allocated to that row, rather than claiming the harness generated none.

Agent / model Build Redesign Both stages
Codex · GPT-6.1 Sol¹ $37.34; 26 runs / 31 turns; 6h 04m 49s (6.0803 h); F/C/O/R 4,265,451 / 171,732,608 / 842,527 / 287,450; 0 images³ $40.65; 8 runs / 13 turns; 4h 06m 49s (4.1136 h); F/C/O/R 2,303,944 / 134,502,272 / 534,066 / 222,488; 0 images³ $77.99; 34 runs / 44 turns; 10h 11m 38s (10.1939 h); F/C/O/R 6,569,395 / 306,234,880 / 1,376,593 / 509,938; 0 images³
Cursor · GPT-5.6 Sol¹ $6.52; 2 runs / 2 turns; 0h 34m 31s (0.5753 h); F/C/O/R 369 / 14,523,120 / 35,692 / 0; 0 images³ $23.72; 6 runs / 7 turns; 1h 02m 23s (1.0397 h); F/C/O/R 1,410 / 51,902,941 / 147,466 / 0; 0 images³ $30.24; 8 runs / 9 turns; 1h 36m 54s (1.6150 h); F/C/O/R 1,779 / 66,426,061 / 183,158 / 0; 0 images³
Cursor · Grok 4.7¹ $2.71; 3 runs / 3 turns; 0h 19m 53s (0.3314 h); F/C/O/R 339,157 / 2,794,880 / 106,036 / 0; 0 images³ $0.00; 0 runs; 0 h; F/C/O/R 0/0/0/0; 0 images $2.71; 3 runs / 3 turns; 0h 19m 53s (0.3314 h); F/C/O/R 339,157 / 2,794,880 / 106,036 / 0; 0 images³
Antigravity · Gemini 4 Argon¹ $8.90; 9 runs / 10 turns; 1h 49m 52s (1.8311 h); F/C/O/R 1,911,744 / 19,322,338 / 314,789 / 73,737; 0 images³ $0.00 recorded; 4 quota attempts; 0 turns / 0 h recorded; F/C/O/R not supplied; 0 images $8.90; 13 runs / 10 turns; 1h 49m 52s (1.8311 h); F/C/O/R 1,911,744 / 19,322,338 / 314,789 / 73,737; 0 images³
Gemini API text · Gemini 4 Argon¹ $1.13; 3 runs / 4 turns; 0h 18m 32s (0.3089 h); F/C/O/R 93,929 / 0 / 94,453 / 0; 0 images³ $0.00; 0 runs; 0 h; F/C/O/R 0/0/0/0; 0 images $1.13; 3 runs / 4 turns; 0h 18m 32s (0.3089 h); F/C/O/R 93,929 / 0 / 94,453 / 0; 0 images³
Nano Banana 2.1 images² $0.40; 8 images; runs/hours: counted with owner; F/C/O/R: not supplied $1.01; 20 images; runs/hours: counted with owner; F/C/O/R: not supplied $1.41; 28 images; runs/hours: counted with owner; F/C/O/R: not supplied
Codex images · GPT Image 2³ $15.75; 103 images; runs/hours: counted with owner; F/C/O/R: not supplied $2.81; 16 images; runs/hours: counted with owner; F/C/O/R: not supplied $18.56; 119 images; runs/hours: counted with owner; F/C/O/R: not supplied
All agents (recorded) $72.77; 43 runs / 50 turns; 9h 07m 37s; F/C/O/R 6,610,650 / 208,372,946 / 1,393,497 / 361,187; 111 images $68.19; 18 runs / 20 turns; 5h 09m 12s; F/C/O/R 2,305,354 / 186,405,213 / 681,532 / 222,488; 36 images $140.95; 61 runs / 70 turns; 14h 16m 49s; F/C/O/R 8,916,004 / 394,778,159 / 2,075,029 / 583,675; 147 images
Orchestrator · Claude Opus 5.5⁴ $24.20; 1 shared session / 274 responses; hours unmeasured; F/C/O/R 630 / 86,957,211 / 149,021 / not supplied; 1h cache writes 478,599; 0 images $37.42; 1 shared session / 182 responses; hours unmeasured; F/C/O/R 408 / 119,417,957 / 126,761 / not supplied; 1h cache writes 1,374,455; 0 images $61.62; 1 shared session / 456 responses; hours unmeasured; F/C/O/R 1,038 / 206,375,168 / 275,782 / not supplied; 1h cache writes 1,853,054; 0 images

¹ Text formula and tier. For each run, USD = (F × fresh rate + C × cache-read rate + O × output rate) / 1,000,000. As in the first report, input is treated as fresh input and cached as separate cache reads; cached tokens often exceed input, so subtraction would be invalid. Rates F/C/O are GPT-6.1 Sol 2 / 0.10 / 10, Cursor GPT-5.6 Sol 4 / 0.40 / 20, Cursor Grok 4.7 2 / 0.50 / 6, and Gemini 4 Argon 2 / 0.10 / 10 (the promotional Standard tariff valid through 2026-11-30), from prices.md. Model effort suffixes are normalized to the same model; no Fast multiplier is assumed. Output is charged once; reported reasoning is treated as included in output. Zero reasoning means none reported.

Long-context estimate, following the first benchmark's convention: use fresh input divided by recorded turns as a proxy for per-turn input. The whole-run GPT-6.1 Sol long tier 4 / 0.20 / 15 applies to cursor-2-nested-codex (595,275), codex-30 (1,380,020 / 5 = 276,004), and codex-33 (275,141), above 272,000. Actual tiers depend on individual API requests including cached context; aggregate run data cannot establish them. This preserves the original estimator, not proof of billing. No separately reported agent cache-write counts are available.

² Nano Banana formula. Standard 2K image output = images × 1,680 image-output tokens × $30 / 1,000,000 = images × $0.0504. Build: 8 × 0.0504 = $0.4032000; redesign: 20 × 0.0504 = $1.0080000; total $1.4112000. Prompt/reference inputs and image-model text/thinking output are unreported and excluded; image calls are not extra delegation runs.

³ Codex image formula. GPT Image 2 high-quality output-only valuation: 1024×1536 and 1536×1024 $0.165; saved 1672×941/940 uses nearby valid 1680×944 $0.13944; saved 1254×1254 uses 1248×1248 $0.24591. The last two are calculator proxies, not exact tariffs for those files. Actual generation quality and image input tokens are unavailable. Build: 55 × 0.13944 + 46 × 0.165 + 2 × 0.24591 = $15.7510200; redesign: 6 × 0.13944 + 6 × 0.165 + 4 × 0.24591 = $2.8102800; total $18.5613000.

⁴ Orchestrator formula and boundary. Use the explicitly supplied by_stage prices: build $24.20, redesign $37.42, sum $61.62. Rates F/cache-read/1h-cache-write/output are 4 / 0.20 / 8 / 20 USD/M; 5-minute cache writes are zero. The unrounded recomputations are $24.2031742 and $37.4160834, consistent with the rounded stage prices. The older top-level snapshot says $61.41 and 455 responses; the stage records sum to 456 responses and have newer token totals. We use the requested stage split consistently, not that stale top-level total. This is one session across both stages, not two sessions; responses are not delegate turns. The redesign includes writing and fixing the delegate skill's plan workflow in that same session, so it is not solely site-production cost. The JSON links its Claude price source.

Shares and rounding: orchestrator share = stage orchestrator USD / (unrounded agent USD + stage orchestrator USD) × 100. Currency totals sum unrounded text and image costs, so rounded rows may differ by a cent from displayed totals.

Recomputable text subtotals

Each line below sums exactly the matching run IDs in usage.json under the formula above. F/C/O/R counts and hours are in the cost table; the explicit IDs and rate selections remove ambiguity about grouping.

Group Build IDs Build text USD (unrounded) Redesign IDs Redesign text USD (unrounded)
Codex codex-1, codex-10, codex-11, codex-12, codex-13, codex-14, codex-15, codex-16, codex-17, codex-18, codex-19, codex-2, codex-20, codex-21, codex-22, codex-23, codex-24, codex-25, codex-3, codex-4, codex-5, codex-6, codex-7, codex-8, codex-9, cursor-2-nested-codex 37.3392162 codex-26, codex-27, codex-28, codex-29, codex-30, codex-31, codex-32, codex-33 40.6521244
Cursor GPT cursor-2, cursor-5 6.5245640 cursor-10, cursor-11, cursor-12, cursor-7, cursor-8, cursor-9 23.7161364
Cursor Grok cursor-1, cursor-4, cursor-6 2.7119700 — 0.0000000
Antigravity antigravity-1, antigravity-2, antigravity-3, antigravity-4, antigravity-5, antigravity-6, antigravity-7, antigravity-8, antigravity-9 8.9036118 antigravity-10, antigravity-11, antigravity-12, antigravity-13 0.0000000
Gemini API text gemini-api-1, gemini-api-2, gemini-api-3 1.1323880 — 0.0000000

The long-context uplift is $3.2097834 in the build and $17.2533492 in the redesign. An all-base GPT-6.1 Sol sensitivity reduces both-stage agent cost by $20.46 to $120.49, and combined cost to $182.11; this changes no usage counts. The original build report was $72.05 agents / $23.24 orchestrator: the current build includes codex-25's second turn (639 seconds versus 501, with refreshed tokens) and the updated $24.20 stage snapshot. Those snapshot changes explain the revised build figures.

Images: attempts, not files

Generated outputs include rejected attempts. Cropping icons, keying backgrounds, favicon exports, contact sheets, atlas pin previews, deterministic SVGs and delivery derivatives are not additional generations. The image ledger records the attempts; the decision log confirms the Nano Banana reply counts.

Stage / run Batch Wide 1672×941/940 Portrait 1024×1536 Landscape 1536×1024 Square 1254×1254 Generated Retained originals Discarded Output USD
Build / codex-3 Style candidates 4 (one ×940) 0 0 0 4 3 1 4 × 0.13944 = 0.55776
codex-4 Style anchors 4 1 0 2 7 4 3 4 × 0.13944 + 0.165 + 2 × 0.24591 = 1.21458
codex-7 Key art + website concepts 17 0 0 0 17 9 8 17 × 0.13944 = 2.37048
codex-8 Full characters 0 14 0 0 14 8 6 14 × 0.165 = 2.31000
codex-9 Teaser characters 0 14 0 0 14 9 5 14 × 0.165 = 2.31000
codex-10 Regions 9 0 0 0 9 6 3 9 × 0.13944 = 1.25496
codex-11 Bestiary bosses 14 0 0 0 14 6 8 14 × 0.13944 = 1.95216
codex-12 World bosses 7 (one ×940) 0 0 0 7 6 1 7 × 0.13944 = 0.97608
codex-13 Mounts 0 0 8 0 8 6 2 8 × 0.165 = 1.32000
codex-14 Pets 0 0 9 0 9 6 3 9 × 0.165 = 1.48500
Build / Codex subtotal Style and production 55 29 17 2 103 63 40 15.7510200
Build / antigravity-7 Nano Banana sheets — — — — 8 6 2 0.4032000
Redesign / codex-26 Navigation concepts 6 5 0 0 11 6 5 1.6616400
Redesign / codex-27 Logo concepts 0 0 0 4 4 3 1 0.9836400
Redesign / codex-31 Painted atlas 0 0 1 0 1 1 0 0.1650000
Redesign / cursor-7 Nano Banana UI icon sheets — — — — 3 2 1 0.1512000
Redesign / cursor-8 Nano Banana masks/dividers — — — — 7 7 0 0.3528000
Redesign / cursor-9 Nano Banana ornaments — — — — 6 6 0 0.3024000
Redesign / cursor-10 Nano Banana final logo — — — — 4 3 1 0.2016000
Redesign subtotal 6 5 1 4 36 28 8 3.8182800
Both stages 61 34 18 6 147 97 50 19.9725000

Navigation has six first passes and five remakes; one rejected mobile first pass was actually landscape 1672×940. Logo concept C needed a second attempt to retain the full KAELVORN spelling. The atlas was retained on its first generation. Nano Banana redesign counts reconcile to 3 + 7 + 6 + 4 = 20: icons discarded one sheet; masks' rejected 5:1 requests generated nothing; ornaments had no remakes; the horizontal logo needed one remake. Icon validation also rejected one request before generation. These failed requests add no images.

The build's 103 Codex generations yielded 63 retained originals (seven style references and 56 production paintings); eight Nano Banana generations yielded six sheets, cut into 48 skill and seven item icons. The original filesystem reconciliation remains 103 − 40 + 8 − 2 + 55 = 124 build PNGs, including six sheets and seven style references, versus 111 production assets. That historical count is not the redesigned repository's current PNG count.

Who did what in the redesign

The original plan had 11 units; atlas became a new unit and benchmark followed publication. Times below are complete recorded run durations, including follow-ups, from usage.json; outcomes come from DECISIONS.md, starting at “Redesign (phase 10)”, and the plan. Zero recorded duration on quota attempts does not establish zero actual waiting time.

Delegation / unit Agent / model What it made Time / turns Outcome
antigravity-10 · audit antigravity / gemini-4-argon-high No accepted audit 0h 00m 00s / 0 Failed on account quota; reassigned to codex-28.
antigravity-11 · ornaments antigravity / gemini-4-argon-medium No accepted ornaments 0h 00m 00s / 0 Stopped as the account quota failed; reassigned to cursor-9.
antigravity-12 · masks antigravity / gemini-4-argon-medium No accepted masks 0h 00m 00s / 0 Failed on account quota; reassigned to cursor-8.
antigravity-13 · ui-icons antigravity / gemini-4-argon-medium No accepted icons 0h 00m 00s / 0 Failed on account quota; reassigned to cursor-7.
codex-26 · nav-concepts codex / gpt-6.1-sol Three desktop/phone concept pairs 0h 19m 36s / 1 Accepted C central HUD, with B’s hanging Adventures dropdown; closed after shell acceptance.
codex-27 · logo-concepts codex / gpt-6.1-sol Three logo directions 0h 12m 13s / 2 Accepted B heraldic crest; finisher isolated shield and simplified favicon; closed after consumer acceptance.
cursor-7 · ui-icons cursor / gpt-5.6-sol-medium Twelve transparent interface icons from two retained sheets 0h 05m 14s / 1 Accepted; wide padding left for shell to trim.
cursor-8 · masks cursor / gpt-5.6-sol-medium Seven brush masks/dividers 0h 06m 06s / 1 Accepted; 4:1 banner replaces unsupported 5:1; key.py collision resolved as key_masks.py.
cursor-9 · ornaments cursor / gpt-5.6-sol-medium Six painted crown/edge/corner/divider assets 0h 08m 31s / 1 Accepted; helper scripts renamed to avoid collisions.
cursor-10 · logo-final cursor / gpt-5.6-sol-medium Lockups, shield emblem, favicon exports 0h 06m 33s / 1 Accepted; concept B finished with Nano Banana.
codex-28 · audit codex / gpt-6.1-sol 20 screenshots; route/component inventory 0h 20m 31s / 1 Accepted; mobile-concept gap closed by nav-concepts; closed after all three consumers accepted.
codex-29 · svg-art codex / gpt-6.1-sol 29 SVGs, each under 3 KB, placement README 0h 12m 05s / 1 Accepted; Left open exposed missing painted atlas and triggered new unit.
codex-30 · build-shell codex / gpt-6.1-sol HUD, responsive menu, masks, frames, icons, atlas and shared page layouts 2h 07m 46s / 5 Accepted, then sent back for review findings and clipped/doubled header logo; five turns include atlas and final polish. Review fixes reported 261 tests / 36 smoke checks.
codex-31 · atlas codex / gpt-6.1-sol 3:2 painted parchment map and six measured pins 0h 03m 18s / 1 Accepted; attached to build-shell as follow-up; closed on handoff.
cursor-11 · build-pages, pass 1 cursor / gpt-5.6-sol-high Open sections, framed feature/dossier/news cards, masked art 0h 13m 00s / 1 Accepted pending review; later closed and reassigned to fresh cursor-12 on current shared code.
codex-32 · review codex / gpt-6.1-sol 94-item audit and 19 findings 0h 24m 06s / 1 Not ready: 42 closed, 48 partly, 4 open; sent findings to shell and a fresh pages run. F13 crown ornament request partly accepted as is.
cursor-12 · build-pages, pass 2 cursor / gpt-5.6-sol-high Page findings and follow-up fixes 0h 22m 59s / 2 Sent back after empty plan-approval turn, then again for N1–N3 and F4/F6/F15; final decision log says every unit closed and redesign published. Usage snapshot reports only two turns.
codex-33 · review, re-review codex / gpt-6.1-sol Verification of all 19 findings 0h 27m 14s / 1 14 fixed, 5 partly, 3 regressions; N1–N3 sent to pages. Remaining F13/F18 accepted as intentional ornament/polish.

The benchmark unit itself is this report; no codex-34 usage record exists in the supplied snapshot. Redesign Antigravity records contain four attempts, zero recorded turns/seconds and no token fields: $0.00 recorded is a lower-bound accounting entry, not evidence that the failed harness sessions consumed no resources.

What the plan workflow changed

Checked consumers before launch. plan check caught two outputs with no consumer before wave 1 started. The decision log does not name the two files, so they cannot be identified from these inputs; the useful change was requiring an explicit handoff for every output, instead of assuming generated work would be integrated.

Reassignment kept the work moving. Antigravity exhausted its account quota, with a reported reset roughly 125 hours away; audit, ornaments, masks and ui-icons could not finish there. The plan moved audit/review to Codex with headless Chrome and image-making units to Cursor GPT-5.6 Sol, retaining Nano Banana through gemini-api image; logo-final changed assignment before an Antigravity run was launched.

Send-backs preserved context and respected new code. The first visual review's 19 findings went back to codex-30 for shared components, while page fixes started on a fresh Cursor worktree because cursor-11 predated the shared changes. Re-review still found three regressions—mobile launch art below the fold, fragmented “Revealed soon” text and copy over brush fringes—so cursor-12 received another follow-up; the orchestrator also returned clipped/doubled header branding to its shell owner.

Left open became an owned deliverable. The SVG unit's README exposed that the audit called for a painted world atlas, but no unit made it. The orchestrator added atlas, accepted its 3:2 painting and six pin positions, then sent it to the existing shell builder as an attached follow-up; acceptance by consumers also determined when upstream units closed.

Incremental application needed an explicit contract. The benchmark brief identifies incremental diff --apply as a skill fix discovered during the workflow: repeated follow-ups require applying the new delta against already accepted work. The supplied decision log does not describe its implementation or verification, so this report records the fix without claiming a particular patch algorithm or test result.

Follow-up timeouts must inherit the run's settings. codex-30's third turn hit 30 minutes because send ignored the timeout used by start; the decision log records a skill fix. A follow-up is part of the same long-running unit and needs its execution settings carried forward along with its context.

Completion needs a parseable status line. The benchmark brief lists a status-line skill fix, and the delegate brief requires a final STATUS: done, STATUS: question … or STATUS: blocked … line. That gives the orchestrator an explicit terminal outcome beside the deliverables and Left open list; the supplied sources do not detail the parser change.

Nobody approves plans mid-turn. cursor-12 initially ended empty after creating a plan for approval, so it was sent back; the skill now tells delegates nobody approves plans during their turn. Delegates must execute within the brief, or finish with a concrete question when an orchestrator decision is essential, rather than wait for an interactive approval that cannot arrive.

Who did what in the build

The first stage's complete run table is retained below. Durations now use the refreshed usage snapshot (notably codex-25's two turns); the original per-phase acceptance and rework notes remain useful context. Units often ran in parallel.

Phase ID Agent / model What it made Time Rework / follow-up and reason
0 · Setup codex-1 Codex / gpt-6.1-sol Vite/React/TypeScript scaffold and checks 8m 00s Accepted as is; local Node version differed from .nvmrc, but checks passed.
1 · R1 antigravity-1 Antigravity / gemini-4-argon MMO marketing-site research 10m 57s Accepted as written.
1 · R2 antigravity-2 Antigravity / gemini-4-argon In-game UI and accessibility research 17m 17s Accepted; raw genre rarity colours failed AA, so calibrated tokens were used.
1 · R3a antigravity-3 Antigravity / gemini-4-argon Three art directions with references 8m 13s Accepted; user chose direction A in phase 2.
1 · R3b antigravity-4 Antigravity / gemini-4-argon Self-hosted typography and colour system 9m 01s Accepted; calibrated AA colour pairs informed the spec.
1 · R4 antigravity-5 Antigravity / gemini-4-argon Legal-page research and outlines 8m 02s Accepted as written.
1 · R5 codex-2 Codex / gpt-6.1-sol Frontend, image delivery and countdown research 12m 56s Accepted as written.
1 · R6 antigravity-6 Antigravity / gemini-4-argon Ten naming candidates and checks 12m 49s User chose Kaelvorn; repo renamed, delegation project tag retained.
2 · Art direction codex-3 Codex / gpt-6.1-sol Three style candidates 5m 16s One internal remake of A for broader brushwork; A selected.
2 · Style bible codex-4 Codex / gpt-6.1-sol Style bible and four reference anchors 10m 04s Three internal remakes: composition, clipped creature, icon gutters.
3 · Lore gemini-api-1 Gemini API / gemini-4-argon World lore, then all 13 characters 9m 00s Two turns; 13 Grok findings later applied by codex-5 without rewriting the whole bible.
3 · Data codex-5 Codex / gpt-6.1-sol Typed game data, validator and lore corrections 19m 38s Follow-up turn applied all 13 findings; prose/prompt files excluded from Prettier; reveal dates omitted.
3 · Design review cursor-1 Cursor / grok-4.7 Lore consistency and marketing review 9m 13s All 13 findings and reveal ordering accepted; corrections assigned to codex-5.
4 · Spec codex-6 Codex / gpt-6.1-sol Technical spec: routes, components, assets and budgets 14m 51s Merged with copy spec: data wins facts, spec wins routes; canonical news slugs and legal identity settled.
4 · Copy gemini-api-2 Gemini API / gemini-4-argon Page sections and marketing copy 9m 17s Merged with technical spec; five news slugs adopted; copy later revised after reviews.
5 · Key art codex-7 Codex / gpt-6.1-sol Three key paintings and six website concepts 28m 15s Eight internal remakes for composition, subjects and plain UI; finals accepted.
5 · Full characters codex-8 Codex / gpt-6.1-sol Four splashes and four portraits 14m 07s Six internal remakes for subject/style/framing; finals accepted.
5 · Teasers codex-9 Codex / gpt-6.1-sol Nine teaser splashes 12m 42s Five internal remakes for clipped silhouettes and character proportions; finals accepted.
5 · Regions codex-10 Codex / gpt-6.1-sol Six regional paintings 10m 56s Three internal remakes: Dunes sky/framing and Crown storm clearance; finals accepted.
5 · Bestiary codex-11 Codex / gpt-6.1-sol Six dungeon/raid boss paintings 16m 19s Eight internal remakes for subject details, style and clipped silhouettes; finals accepted.
5 · World bosses codex-12 Codex / gpt-6.1-sol Six open-world boss paintings 6m 44s One internal remake repaired disconnected Unstruck Pipe body arcs; finals accepted.
5 · Mounts codex-13 Codex / gpt-6.1-sol Six mount paintings 11m 05s Two internal remakes for six readable feet and four complete wings; finals accepted.
5 · Pets codex-14 Codex / gpt-6.1-sol Six pet paintings 8m 07s Three internal remakes for body proportions and countable shards/mushrooms; finals accepted.
5 · Icon sheets antigravity-7 Antigravity / gemini-4-argon Six Nano Banana sheets, cut into 55 icons 25m 08s Two sheet remakes (Kaelen, Tessa); one invalid request generated no image. Crisper style accepted at 64 px.
6 · Build A codex-15 Codex / gpt-6.1-sol Design system, shell, image pipeline and prerendering 32m 07s Follow-up raised shared-shell gate to 110 KiB; B later found hydration deadlock, fixed by codex-17.
6 · Build B codex-16 Codex / gpt-6.1-sol Skill trees, atlas, character selector and dossiers 19m 42s Found A’s production deadlock; integration heading conflict fixed by codex-18; review fixes followed.
6 · Build C cursor-2 Cursor / gpt-5.6-sol Builder C supervision; started nested Codex 26m 39s Mistook CLAUDE.md for its own role; whole implementation delegated. Its decision-log edits were dropped.
6 · Build C, nested cursor-2-nested-codex Codex (nested) / gpt-6.1-sol 31 content pages, copy modules and tests 24m 35s Actual C implementation credited to Codex; one integration test remained for codex-18.
6 · Hydration fix codex-17 Codex / gpt-6.1-sol Production import/hydration fix and smoke test 12m 45s Follow-up to A after B found top-level await deadlock; added npm run smoke.
6 · Integration codex-18 Codex / gpt-6.1-sol Combined B and C; world-page section structure 4m 58s Fixed duplicate h2 structure rather than weakening the failing test.
6 · Budget gates codex-19 Codex / gpt-6.1-sol Updated home/static route budget gates 0m 51s Follow-up: measured 166.5/150.6 KiB exceeded 160/150; gates set to 175/160 pending Lighthouse.
7 · Marketing review cursor-4 Cursor / grok-4.7 Marketing, copy and UX findings 4m 46s 17 findings (3 high), accepted; copy and C-page fixes, then a re-check.
7 · Browser review antigravity-8 Antigravity / gemini-4-argon Responsive/a11y review with 46 screenshots 5m 15s 12 findings (6 high). Decision log says foreground preview timed out and review needed a second turn; usage records only one.
7 · Performance review codex-20 Codex / gpt-6.1-sol Lighthouse, links and image-weight audit 23m 57s 9 findings, including late character-route CSS; fixes assigned to codex-21.
8 · Copy fixes gemini-api-3 Gemini API / gemini-4-argon Home hook, return loops and countdown copy 0m 15s Copy handed to Cursor for C-page implementation.
8 · A/B fixes codex-21 Codex / gpt-6.1-sol Performance, accessibility, layout and interaction fixes 26m 13s Three recorded turns; character desktop score 79→100. Browser/Grok re-checks still found open issues.
8 · C fixes cursor-5 Cursor / gpt-5.6-sol Content-page, copy, alt-text and layout fixes 7m 52s Re-checks found incomplete fixes and regressions, including news-card overflow and wrong article art.
8 · Browser re-check antigravity-9 Antigravity / gemini-4-argon Browser verification of fixes 13m 10s 10/12 original findings fully fixed; new card-layout blocker and copy defects sent to codex-23.
8 · Marketing re-check cursor-6 Cursor / grok-4.7 Re-check of all 17 marketing findings 5m 54s Partial fixes and 8 new issues; final follow-up assigned to codex-23.
8 · Final fixes codex-23 Codex / gpt-6.1-sol Remaining findings from both re-checks 11m 48s Then orchestrator visual check found four further polish issues; codex-24 followed.
8 · Polish codex-24 Codex / gpt-6.1-sol Hero crop, badge, game buttons and mobile action bar 13m 49s Final pre-publication polish; benchmark reporting follows.
9 · Benchmark prices codex-22 Codex / gpt-6.1-sol Published price sources and machine-readable rate card 4m 25s Ran alongside phase 8; valuation uses high-quality image prices and declared size proxies.
9 · Benchmark report codex-25 Codex / gpt-6.1-sol Benchmark report, cost calculations and SVG chart 10m 39s Both recorded turns included in this refreshed build snapshot.

Build lessons retained

Cursor delegated the builder’s entire job. Builder C read the orchestrator’s CLAUDE.md, assumed that role and launched a 1,475-second Codex worker; its implementation was accepted, but its decision-log edits were discarded. The delegate lesson is to make role and scope explicit in every brief: subsequent briefs say the agent is a delegate, must do the work itself and must not edit the decision log; account for nested workers under their actual harness.

A foreground server consumed the browser reviewer’s turn. The decision log says Antigravity’s first review turn timed out while running vite preview in the foreground, and a second turn wrote findings from 46 screenshots. The skill lesson is to start persistent servers in the background and preserve evidence between turns; the snapshot records only one turn for antigravity-8, so it cannot quantify the missing attempt separately.

Builder B found a production hydration deadlock in A’s shell. A top-level await import() in preferences.tsx blocked production hydration even though earlier checks had passed. The fix became a separate Codex run with npm run smoke: delegated handoffs need a built-site browser check of real interaction, not just compilation and unit tests.

Budget gates stopped integration twice. Builder A’s shell measured 102.4 KiB gzip against a 100 KiB gate; the orchestrator raised it to 110, then later raised home/static route gates from 160/150 to 175/160 after measuring 166.5/150.6. The lesson is to give delegates a measured dependency baseline and an escalation path for budget changes, then require performance evidence: Lighthouse subsequently identified a real late-CSS defect rather than treating the relaxed gates as proof of acceptable UX.

Ownership boundaries still needed an integration pass. B’s WorldMap brought its own h2 into C’s /world section, breaking one integration test; the integration worker corrected the page structure instead of changing the assertion. The skill should specify shared component contracts, merge checkpoints and an integration owner; phase 8 then split copy, A/B and C fixes by ownership so parallel agents would not edit the same files.

Reviews and fixes needed more than one round. Three phase 7 reviewers returned 17 marketing, 12 browser and 9 performance findings; fixes reached 257 tests and 11 smoke checks and raised character-page desktop Lighthouse from 79 to 100, but the browser/Grok re-checks found incomplete fixes and new regressions. After a final fix run, the orchestrator’s own visual pass still found four polish issues, so the lesson is to budget for independent re-checks and a final visual acceptance pass, with concrete routes, widths and evidence in every fix brief.

Art delivery hid substantial iteration. All 56 phase 5 Codex finals were accepted by the orchestrator, yet the complete ledger records 40 discarded Codex attempts across style and production work, plus two discarded Nano Banana sheets. The skill should preserve per-attempt image counts, native dimensions and rejection reasons; final file counts alone understate generation cost and the effort needed for consistent art.

Scope, timing and verification limits