Glass Box dev log
How the studio worked
The studio was a set of programs and agents, each with one job, run by a scheduler every two minutes. Cristian spoke to it through rulings (recorded in the plan, read by every agent on its next run) and through the decisions it brought to him. He did not write code, place assets or review frames.
The roles
- Plan and task mesh. Milestones from first playable to release candidate, each split into tasks with an
id (for example
M12.12.5), a description, dependencies and an owner lane. - Build runner. Every two minutes it picks the next task for each free slot. Two editor lanes (A and B), each with its own Unreal editor and git checkout and its own maps, plus three side slots for work that needs no editor (records, scripts, page text).
- Agent per task. A fresh coding agent session per attempt: Claude Fable 5.2 first for feature work (R9, R28), Claude Opus 5.5 as the escalation rung and for verification and merges, Claude Haiku 5.5 for small tasks, and open GLM-5.2 through opencode and Codex CLI early on. Each agent drives the Unreal Editor through its built-in MCP server.
- 1st AD. An independent reviewer that never made the image it judges. Every generated or captured image is checked for detail (hands, eyes, mirrors, text, continuity with the story bible) before Cristian sees it (R10).
- Fix tasks. Each rejected file becomes a fix task with the reviewer's notes, one asset per task (R32).
- Landing and reconcile. Merges each task branch to the integration branch, and reconciles the two lanes.
- Recovery. Reads every blocked attempt, retries what it can, escalates to a stronger model, and turns only real decisions into cards for Cristian.
- Packager. Cooks and packages the Windows Shipping build and records size, commit and result.
Who served the attempts
| Model or program | Attempts |
|---|---|
| Claude Opus 5.5 | 249 |
| Claude Fable 5.2 | 160 |
| GLM-5.2 (open model) | 82 |
| Claude Haiku 5.5 | 40 |
| packager (script) | 30 |
| alfred (by hand) | 30 |
| none | 26 |
| runner (script) | 20 |
| recovery (script) | 10 |
| landing (script) | 1 |
The human gates
An agent may prepare the work. It may not perform the act that makes it public or binding. Through the jam these stayed Cristian's: making the itch build public, the jam submission, the gameplay video's visibility, publishing dev log posts outside the agreed channel, and any spend. Agents prepared each one to the last click, and he pressed it.
Our own agent infrastructure
The agents ran on Saluca's own SHI agent infrastructure, built on our NHE protocols: an agent mesh, a task mesh, memory and agent sessions, and a persona standard for named roles. It existed before the jam with no game content and is declared as pre-jam tooling. The jam-specific roles above were set up from it during the jam window.