Convert a world into a shoot-for-score arcade
One-call Arcadeify: runs the SAME canned kernel-agent ask the Studio’s one-click Arcadeify button uses, turning the world into a shoot-for-score arcade derived from the world’s own fiction (a progression, hostiles, a win condition). Same server-side kernel agent as /edit, same fail-closed gate: the agent authors the change and the result persists ONLY after passing the kernel grammar + doctrine suite. This is real LLM spend — reserved against your daily edit quota BEFORE the agent runs — a validation reject or agent error refunds it in full, while a committed edit, a no-change run, or a concurrency conflict meters the agent rounds actually burned and refunds only the unused slice. On success a version titled arcadeify (source ai) is snapshotted onto HEAD, so the conversion is one POST …/checkout away from rollback. Guard: a world that already has a progression is refused 409 unless you pass force:true (which rebuilds it). Pass an Idempotency-Key so a retry doesn’t double-charge.
Authorizations
An app API key, e.g. Authorization: Bearer sk_live_…. Secret (sk_) for writes/sessions; publishable (pk_) is read-only (browser-safe).
Headers
The rev you last read. Mismatch returns 409.
A retried arcadeify with the same key returns the original result without a second LLM spend (its own route-scoped namespace).
Path Parameters
Body
Response
Arcade conversion applied (or a no-op — see below). The new revision is the ETag header. versionId is the arcadeify snapshot, and is null when no version was written: a fail-soft post-persist snapshot failure, OR a no-change run (the agent asked a clarifying question / produced no ops — the original world is returned unchanged via reply).
The RESULT-ONLY response from a kernel-agent edit. It carries the validated world, advisory diagnostics, and the agent's natural-language reply, and none of the agent's internals: the system prompt, op grammar, lexicon, model id, and raw op trace are never exposed. When the agent needs clarification it returns its question in reply and leaves the world unchanged. (A TEST-mode response additionally carries a mock: true marker.)
A playable world's compiled graph — id, name, entrance, and the scene (states + events). This is the shape returned inside the world field of a World resource (see World) and by the graph-editing routes. Additional optional properties are allowed (forward-compatible); the schemaVersion on responses pins the contract version.
The full validateWorld set (advisory warning/info findings) for the persisted world.
The agent's natural-language summary of what it did, or a clarifying question when no change was made.
Present and true only for TEST-mode keys. See Testing.
The arcadeify version snapshot (source ai), parent-chained to HEAD. Null on a no-change run or a fail-soft post-persist snapshot failure.

