Game guide · source of truth
Ledger

GM-00

Roadmap data: GM arena tasks

← Ledger

donestatus · GM
9✓ tests passed / failed
6.26Mtokens · 11 min
1evidence files · 10 kB

Evidence

From logs/evidence/GM-00/. Click a thumbnail for the full image.

Logs and data (1)

gm-task-cards.txt · 10 kB · open
task:
  id: GM-00
  size: S
  title: GM arena roadmap (gm-room.json): GM-01 in M2 right after the Combat Lab, GM-02 in M4, GM-04 (the owner's local role CLI) in M6, GM-03 at the end of M9; the M2/M4/M6/M9 gates name their GM arena part and the wiki Roadmap shows a milestone's tasks next to its groups
  test: pnpm data:test (gm-arena-roadmap.test.mjs: placement, proposed notes, GM rules, every gm-room.json area and command placed); node tools/ctx.mjs task GM-01 prints the card; the built wiki roadmap page lists GM-02 and GM-03
  evidence: logs/evidence/GM-00/ (GM-01…GM-04 cards as .txt)
  needs: []
  proposed: true
  note: Proposed: owner decision 2026-10-08 (GM arena run). GM-04 is its own M6 task because role access starts with the M6 accounts, three milestones before GM-03; GM-03 closes M9 instead of opening a new milestone (no new id, order or gate to keep in step).
milestone:
  id: M0
  name: Kickoff & toolchain
  dependsOn: []
  goal: Every tool works on this machine, the monorepo builds, logging works, and the first ADRs are written.
  gate: ["Blender, Rust, Unity (batchmode build + EditMode/PlayMode tests), Playwright all verified by logged tests","Token ledger shows M0 cost","ADRs approved by owner","Rust and .NET verified by logged smoke tests (tools/setup/toolchain-smoke.sh)","One-simulation spike result recorded in ADR-029"]
  art: []
rules: node tools/task-log.mjs start|test|note|finish · card: docs/process/TASK_TEMPLATE.md

task:
  id: GM-01
  size: L
  title: GM arena core in the Combat Lab scene (gm-room.json): static_targets (/gm dummy with DPS meter and hit log), spawn_ring for the monsters that exist by then (/gm spawn), reset_station for what exists (/gm level, /gm reset cooldowns, /gm clear monsters), debug toggles (/gm god, /gm mana, /gm nocd, /gm hitboxes, /gm telegraphs, /gm ai freeze|resume), network lab (/gm lag) and Time/Weather buttons on the M0-12 controller (/gm time, /gm cycle, /gm weather)
  test: one automated test per GM-01 command (server state after it, audit record written, refused without the dev GM flag); no toggle changes the global time scale or hides a telegraph; Time/Weather commands leave the server outcome identical (ADR-030)
  evidence: arena panel screenshot + 10 s clip (spawn, dummy DPS meter, /gm lag with jitter and loss, dusk + sandstorm) + audit log excerpt (.txt)
  needs: ["unity","rust"]
  proposed: true
  note: Proposed: owner decision 2026-10-08 (GM arena run). GM rules: every GM action is audited (who, what, where); GM-made items carry the gm flag and can never be traded, sold, listed or mailed; until M6 test builds use a dev-only local GM flag (never in release builds); from M6 access is by the gm or qa role, agents never grant roles, and the owner gives his own account the gm role with the local CLI (GM-04). GM tools never add a global time-scale and never hide telegraphs.
milestone:
  id: M2
  name: Combat Lab: one perfect skill
  dependsOn: ["M1"]
  goal: Warblade · Horizon Cleave is AAA-complete end to end: input → server phases → animation → VFX → SFX → hit reaction on a dummy and a monster → damage numbers → camera.
  gate: ["G0/G1: mannequin contract and C1–C18 movement/control tests pass before skill expansion (docs/process/GAME_DEV_GUIDE.md)","Skill passes the one-skill production gate (docs/production/SKILL_GATE.md)","Owner sign-off on feel","G2: multi-angle agent animation/VFX self-review complete; no failed or missing required view/transition accepted","Skill gate row 14: every core detail of the AAA detail catalog that applies is shown by its proof (ADR-028)","Skill factory proven with a second skill before M4 starts (ADR-029)","GM arena core (GM-01): every GM-01 /gm command passes its automated test and is audited; no GM toggle adds a global time-scale or hides a telegraph"]
  art: ["ART-VFX-040"]
guide: time-weather
readGuide: node tools/ctx.mjs guide time-weather   # 815 B ≈ 204 tokens of the guide's 35,100 B
rules: node tools/task-log.mjs start|test|note|finish · card: docs/process/TASK_TEMPLATE.md

task:
  id: GM-02
…

Tests

pass data tests (pnpm data:test) · 10.6 s · raw log$ pnpm data:test
pass ctx prints the GM-01 card · 0.1 s · raw log$ node tools/ctx.mjs task GM-01
pass data tests · 10.9 s · raw log$ pnpm data:test
pass docs lint + index · 0.4 s · raw log$ pnpm docs:lint
pass wiki typecheck · 13.2 s · raw log$ pnpm --filter @zoen/wiki typecheck
pass wiki production build · 26.4 s · raw log$ pnpm wiki:build
pass wiki e2e (changed specs) · 1.6 s · raw log$ pnpm --filter @zoen/wiki exec playwright test --only-changed
pass built wiki roadmap page lists GM-03 · 0.0 s · raw log$ grep -c GM-03 apps/wiki/out/roadmap/index.html
pass data tests after status edits · 15.5 s · raw log$ pnpm data:test

Notes

2026-10-07 22:56 UTC · roadmap.json: GM-00 (M0, after MODEL-01E), GM-01 (M2, right after M2-01), GM-02 (M4), GM-04 (M6, owner's local gm-role CLI: role access starts with M6 accounts, so its own task rather than inside GM-03), GM-03 (last task of M9; no new milestone, to avoid a new id/order/gate). All proposed:true, note 'owner decision 2026-10-08 (GM arena run)'; GM rules (audit, gm item flag never traded/sold/listed/mailed, dev-only local GM flag until M6, gm/qa role from M6, agents never grant roles, no global time-scale, telegraphs visible) in GM-01/02/03 notes. Gates: one GM line appended to M2, M4, M6, M9. M4/M6/M9 now hold tasks next to groups; wiki Roadmap widget (apps/wiki/components/widgets/static.tsx) shows both plus a proposed chip and task notes. New test packages/game-data/tests/gm-arena-roadmap.test.mjs (6 tests). Pointer lines in docs/roadmap/ROADMAP.md and docs/production/GM_ROOM.md. pnpm data:build: no generated file changed. Evidence: logs/evidence/GM-00/gm-task-cards.txt. Gaps for GM-03 (noted in its task): boss enrage timer/fight reset, dummy armour presets, server positions, refill, remove buffs have no gm-room.json command yet. Stale name: M4 goal says Spellslinger, builds.json has pyromancer (not changed).