#18 Codex GPT-5.6 Luna (Multi-Agent v2 Team Mode)

Build Detail

2026-08-20-codex-gpt-5-6-luna · 0.147.0

The Story

The first run on this page using OpenAI’s cheap Luna tier: gpt-5.6-luna at xhigh reasoning, driven by Codex CLI 0.147.0 in multi-agent v2 team mode. The brief is the same one every build here gets — implement the whole shop from specs/* in one go, test with Pest, drive the acceptance criteria through the Playwright MCP — with one line that visibly shaped the run: “You must use sub-agents!” At $0.20/M input and $1.20/M output, Luna is roughly a twelfth the token price of the Sol tier used in #15, which is the whole reason this build is interesting.

It did use sub-agents — 23 of them, each auto-named after a scientist or philosopher — but not to write the shop. Reading their briefs, 16 of the 23 are explicitly read-only auditors (“Perform a read-only audit… Do not edit files”), 3 are narrow post-audit fixers (“Fix only API/security transport issues”), and only 4 were ever authorised to implement anything — Einstein on the tenancy foundation, Singer on checkout, Banach on seeders, Copernicus on admin UX, each fenced into a disjoint write scope so parallel writers could not collide. The orchestrator kept the bulk of the work for itself: it made 367 of the 457 apply_patch calls in the entire run, against 90 from all sub-agents combined. The delegation pattern is essentially fan-out for verification, not for labour — wave after wave of independent auditors re-reading the same specs against the same tree, then a small number of tightly-scoped fixers sent in to close what they found. It is a defensible reading of the instruction, and it is also why the sub-agent fleet costs so little: auditors read, and reads are 97.4% cache hits.

The economics are the headline. $9.85 for the entire run — orchestrator and all 23 sub-agents — in 4h 22m, with 340.9M input tokens of which 332.0M were cache reads. Against the builds that score comparably, that is 4× cheaper than #16 Cursor ($41), 12× cheaper than #15 Codex Sol Ultra ($120, for 2.1 more points), 19× cheaper than #17 Kimi K3 ($190), and 43× cheaper than #14 Fable 5 ($423). And yet the delivered repository does not boot. Commit fb83f734 added config/sanctum.php, which calls Sanctum::currentApplicationUrlWithPort(), and put the HasApiTokens trait on App\Models\User — but never added laravel/sanctum to composer.json or the lockfile. At no point in the branch’s history is it a declared dependency. On the build machine this stayed invisible: a stale vendor/laravel/sanctum left over from earlier work in that directory satisfied the imports, so artisan route:list kept working and the run’s own Pest suite finished 95 tests green. On a clean checkout, in CI, or on a deploy, Composer follows the lockfile, the package is simply absent, and — because Laravel eagerly loads every file in config/ on boot — every route on both the storefront and the admin dies with a fatal error before routing even starts. The 94% weighted (132 of 143) reported here is therefore measured after installing that one missing package by hand; as committed, a fresh clone scores nothing at all, because nothing loads. The same shape of defect recurs twice more inside the app itself, where LazyLoadingViolationException on un-eager-loaded relations takes out every product variant selector and, depending on cart contents, checkout too.

Net: the best price/quality ratio on the page by a wide margin, and a precise lesson about the limits of review. Sixteen independent auditors re-read this tree for pocket change and every one of them signed off on a repository that cannot be installed — not because they failed to run it, but because they all ran it in the one environment where a leftover vendor/ directory hid the omission. Nobody checked that the declared dependencies still matched the code’s imports, which is precisely the check a human team hands to CI rather than to reviewers. Cheap verification bought a great deal of reading and not one clean-room build.

Duration

4h 21m 37s

Aug 20, 22:54 - Aug 21, 03:16

Estimated Cost

$9.85

10.0M billable tokens

Tool Calls

2.5K

36 unique, whole team

Sub-agents

23

16 read-only auditors

Team Total

24

orchestrator + sub-agents

Commits

5

git commits made

How the Work Was Split

fan-out for review, not for labour

Mission Prompt (verbatim)

Your mission is to implement an entire shop system based on the specifications im specs/*. You must do in one go without stopping. You must use sub-agents! You must test everything via Pest (unit, and functional tests). You must also additional simulate user behaviour using the Playwright MPC and confirm that all acceptance criterias are met. If you find bugs, you must fix them. The result is a perfect shop system. All requirements are perfectly implemented. All acceptance criterias are met, tested and verified by a 2nd agent. Continuously keep track of the progress in specs/progress.md Commit your progress after every relevant iteration with a meaningful message. When implementation is fully done, then make a full review meeting and showcase all features (customer- and admin-side) to me. In case bugs appear, you must fix them all and restart the review meeting. Don't re-use any existing implementation in another branch. Build it from scratch.

Sub-agent mandate

16 / 23

read-only auditors · 4 implementers · 3 fixers

Who wrote the code

367 / 457

apply_patch calls made by the orchestrator itself

Agent Timeline

23 sub-agents, wall clock
Orchestrator (gpt-5.6-luna)
1.5K tool calls · plan, implement, spawn, integrate
4h 21m 37s
Einstein (implementer)
69 tools
22:55:25
Banach (implementer)
68 tools
00:57:38
Boole (auditor)
62 tools
00:03:41
Lovelace (auditor)
56 tools
02:17:44
Copernicus (implementer)
55 tools
00:57:39
Pasteur (auditor)
52 tools
22:55:25
Meitner (auditor)
02:17:44
Ramanujan (auditor)
51 tools
02:17:44
Linnaeus (auditor)
00:34:34
Nash (fixer)
01:40:18
Faraday (auditor)
00:34:34
Sartre (auditor)
22:55:25
Gauss (auditor)
00:36:20
Singer (implementer)
38 tools
00:57:38
Huygens (auditor)
00:36:20
Lorentz (auditor)
01:34:06
Arendt (fixer)
01:40:18
Halley (fixer)
01:40:18
Boyle (auditor)
00:36:19
Mencius (auditor)
02:10:48
Confucius (auditor)
03:08:33
Darwin (auditor)
01:58:12
Kuhn (auditor)
03:13:35
22:54:2623:59:5001:05:1502:10:3903:16:03

Team Roster

23 auto-named specialists

Einstein

/implementer

69 tools

22:55:25 · 19m 14s · $0.33

Implement the bounded foundation slice directly in your fork:

Banach

/implementer

68 tools

00:57:38 · 26m 32s · $0.35

In the shop repo, implement specs/07-SEEDERS-AND-TEST-DATA.md in this disjoint write scope only:

Boole

/auditor

62 tools

00:03:41 · 11m 35s · $0.27

Perform a read-only final audit of the Laravel shop implementation against specs/01 through specs/09.

Lovelace

/auditor

56 tools

02:17:44 · 11m 36s · $0.24

Audit the current /Users/wesner/Herd/shop read-only against specs/02-API-ROUTES.md and specs/06-AUTH-AND-SE…

Copernicus

/implementer

55 tools

00:57:39 · 22m 51s · $0.30

In the shop repo, implement missing admin management UX in this disjoint write scope only:

Pasteur

/auditor

52 tools

22:55:25 · 11m 11s · $0.22

Audit the repository and every specs/*.md file against current implementation.

Meitner

/auditor

51 tools

02:17:44 · 8m 19s · $0.20

Audit the current /Users/wesner/Herd/shop read-only against specs/03-ADMIN-UI.md, specs/04-STOREFRONT-UI.md…

Ramanujan

/auditor

51 tools

02:17:44 · 11m 45s · $0.20

Audit the current /Users/wesner/Herd/shop read-only against specs/01-DATABASE-SCHEMA.md, specs/05-BUSINESS-…

Linnaeus

/auditor

45 tools

00:34:34 · 10m 19s · $0.18

Perform a read-only exhaustive audit of specs/05-BUSINESS-LOGIC.md, 06-AUTH-AND-SECURITY.md, 07-SEEDERS-AND…

Nash

/fixer

45 tools

01:40:18 · 9m 40s · $0.16

Fix only schema/auth/config/webhook contract issues from the audit.

Faraday

/auditor

42 tools

00:34:34 · 7m 32s · $0.17

Perform a read-only exhaustive audit of specs/03-ADMIN-UI.md and specs/04-STOREFRONT-UI.md against the curr…

Sartre

/auditor

41 tools

22:55:25 · 8m 37s · $0.21

Perform a read-only audit of the current starter app and specs focused on Livewire v4 + Flux UI + Tailwind …

Gauss

/auditor

38 tools

00:36:20 · 7m 28s · $0.19

Audit the current /Users/wesner/Herd/shop implementation against specs/05-BUSINESS-LOGIC.md, specs/07-SEEDE…

Singer

/implementer

38 tools

00:57:38 · 17m 30s · $0.21

In the shop repo, implement the specified storefront checkout/cart completion from specs/04-STOREFRONT-UI.m…

Huygens

/auditor

35 tools

00:36:20 · 7m 32s · $0.17

Audit the current /Users/wesner/Herd/shop implementation against specs/01-DATABASE-SCHEMA.md, specs/02-API-…

Lorentz

/auditor

35 tools

01:34:06 · 5m 37s · $0.16

Perform an independent, read-only final audit of /Users/wesner/Herd/shop against specs/01-DATABASE-SCHEMA.m…

Arendt

/fixer

35 tools

01:40:18 · 8m 41s · $0.12

Fix only API/security transport issues found by the final audit.

Halley

/fixer

34 tools

01:40:18 · 8m 13s · $0.11

Fix only commerce validation/rate-limit/cleanup issues from the audit.

Boyle

/auditor

27 tools

00:36:19 · 4m 19s · $0.10

Audit the current /Users/wesner/Herd/shop implementation against specs/03-ADMIN-UI.md and specs/04-STOREFRO…

Mencius

/auditor

21 tools

02:10:48 · 5m 21s · $0.09

Run a final read-only verification focused on the five previous audit findings:

Confucius

/auditor

20 tools

03:08:33 · 4m 58s · $0.11

Perform a final read-only audit of the current /Users/wesner/Herd/shop implementation against specs/01-DATA…

Darwin

/auditor

14 tools

01:58:12 · 3m 12s · $0.07

Perform a final independent read-only audit of /Users/wesner/Herd/shop against specs/01–09 and the current …

Kuhn

/auditor

8 tools

03:13:35 · 1m 55s · $0.03

Read-only final audit, bounded to 2 minutes:

Cost & Tool Usage

$9.85 total

Note: These are hypothetical API costs for openai/gpt-5.6-luna at OpenRouter list prices fetched on 2026-08-21 ($0.20/M input, $0.02/M cache read, $1.20/M output). Luna is not tiered, and the largest single prompt in this run was 244,441 tokens, comfortably under the 272K boundary that tiers the Sol models. This session ran on a Codex Pro plan with fixed pricing, so no per-token charges actually applied.

A Codex accounting detail changed between builds, and it matters here. In #15 (CLI v0.144.3) the whole process shared one token counter, so sub-agent logs only snapshotted the orchestrator's running total and summing them would have counted the same tokens many times over. In CLI 0.147.0 every rollout keeps its own independent counter — verified here three ways: zero overlap between the orchestrator's cumulative-usage series and all 23 sub-agents', each file's own step-to-step deltas matching its own per-request prompt sizes, and each series starting from its own first prompt. Totals below are therefore the orchestrator plus all sub-agents, and per-agent cost is genuinely attributable. Cache reads were 97.4% of all input and, as always, are what dominates the bill.

Cost Breakdown (whole run: orchestrator + all 23 sub-agents)

Input Tokens8.8M · $1.77
Cached Input332.0M · $6.64
Output Tokens1.2M · $1.44

Reasoning tokens (419.4K) are included in output tokens and not billed separately.

Full Calculation (gpt-5.6-luna)

CategoryTokensCost
Input8.8M$1.77
Cached Input332.0M$6.64
Output1.2M$1.44
Total$9.85

Orchestrator $5.67 · sub-agents $4.18

Tool Usage (whole team - 2.5K calls)

exec_command
1445
apply_patch
457
write_stdin
92
pw:browser_snapshot
79
pw:browser_navigate
61
exec
59
multi_agent_v1__wait_agent
48
pw:browser_console_messages
48
pw:browser_click
41
wait
36
pw:browser_evaluate
31
update_plan
21
pw:browser_find
18
pw:browser_wait_for
18
pw:browser_fill_form
16
multi_agent_v1__send_input
15
multi_agent_v1__spawn_agent
13
pw:browser_run_code_unsafe
13
mcp__laravel_boost__application_info
12
pw:browser_tabs
12
mcp__laravel_boost__database_schema
12
mcp__laravel_boost__search_docs
11
pw:browser_network_requests
11
multi_agent_v1__close_agent
10
mcp__node_repl__js
10
mcp__laravel_boost__database_query
7
pw:browser_network_request
4
mcp__laravel_boost__read_log_entries
4
pw:browser_resize
4
get_goal
2
mcp__laravel_boost__get_absolute_url
2
pw:browser_type
2
mcp__laravel_boost__browser_logs
2
pw:browser_press_key
1
multi_agent_v1__resume_agent
1
update_goal
1

Codex's exec tool is a JavaScript sandbox, so calls are attributed to the inner tool they actually invoke. Split: 1.5K orchestrator, 942 sub-agent.

Sub-agents by Workload

23 sub-agents

Unlike #15, Codex 0.147.0 tracks tokens per rollout, so each sub-agent below has real, separately attributable usage and cost.

#AgentMandateStartedDurationTool CallsCost
1Einsteinimplementer22:55:2519m 14s69$0.33
2Banachimplementer00:57:3826m 32s68$0.35
3Booleauditor00:03:4111m 35s62$0.27
4Lovelaceauditor02:17:4411m 36s56$0.24
5Copernicusimplementer00:57:3922m 51s55$0.30
6Pasteurauditor22:55:2511m 11s52$0.22
7Meitnerauditor02:17:448m 19s51$0.20
8Ramanujanauditor02:17:4411m 45s51$0.20
9Linnaeusauditor00:34:3410m 19s45$0.18
10Nashfixer01:40:189m 40s45$0.16
11Faradayauditor00:34:347m 32s42$0.17
12Sartreauditor22:55:258m 37s41$0.21
13Gaussauditor00:36:207m 28s38$0.19
14Singerimplementer00:57:3817m 30s38$0.21
15Huygensauditor00:36:207m 32s35$0.17
16Lorentzauditor01:34:065m 37s35$0.16
17Arendtfixer01:40:188m 41s35$0.12
18Halleyfixer01:40:188m 13s34$0.11
19Boyleauditor00:36:194m 19s27$0.10
20Menciusauditor02:10:485m 21s21$0.09
21Confuciusauditor03:08:334m 58s20$0.11
22Darwinauditor01:58:123m 12s14$0.07
23Kuhnauditor03:13:351m 55s8$0.03
23 sub-agents total942$4.18

Commits

5 commits
23:13:48Implement bounded tenancy foundation
00:29:48Build self-contained multi-tenant shop
00:33:34Align domain models with shop schema contract
02:17:00Complete shop platform implementation and hardening
03:15:40Complete shop platform hardening and UX flows

Session Details

01a020f3
Session ID01a020f3-c01c-70e1-aa11-0b7dffa8268d
Codex CLIv0.147.0
Approval Policynever
Model Provideropenai
Working Directory/Users/wesner/Herd/shop
Git Branch2026-08-20-codex-gpt-5-6-luna
Git Repositorytecsteps/shop.git
Modelgpt-5.6-luna
Reasoning Effortxhigh
Collaboration Modedefault
Context Window258.4K
User Messages3

Raw Session Logs

Plus 23 sub-agent logs (90 MB) available at /2026-08-20-codex-gpt-5-6-luna/subagents/. The orchestrator log is also mirrored at /2026-08-20-codex-gpt-5-6-luna/main-threads/.

2.5K tool calls · 24 agents total · 10.0M billable tokens · 5 commits

Parsed from 1 orchestrator session + 23 sub-agent logs