guts/docs/PROCESS.md
jing 34f84ab162 [lane F] Round 0 scaffold: docs, contracts, lane charters, bootable stub world
GDD v1 (flow-locked hybrid movement, 5 biomes + secret, boss roster),
TECH contracts (world API, level schema v0, bus events, manifest law),
ART_BIBLE (synthetic scanner look), PIPELINE (MODELBEAST-first, fal gated),
PROCESS (PROCITY lane/round law), charters A-F + ROUND1 instructions.
Seed code: shell + boot + core (rng/bus/flags) + stub world (peristalsis
shader tube, 1 draw / 102k tris, contract-complete) + qa.sh (GREEN).
Verified in-browser; evidence docs/shots/laneF/round0_stub_tube.png.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-16 01:28:35 +10:00

3.6 KiB

PROCESS — lanes, rounds, and how not to step on each other

This repo is built by parallel Claude sessions ("lanes"), each with a fixed territory, coordinated in numbered rounds by an integrator (Fable, = Lane F). The workflow is inherited from PROCITY, where it shipped a whole town in 12 rounds — follow it exactly.

The cast

lane territory charter
A — World canal geometry, biome shaders, arenas LANE_A_WORLD.md
B — Flight & Combat controls, collision response, weapons, enemies LANE_B_FLIGHT.md
C — Levels & Encounters level data, encounter design, bosses, pacing LANE_C_LEVELS.md
D — Assets FLUX textures, GLB meshes, audio pack, manifest LANE_D_ASSETS.md
E — UI/HUD/Audio-engine HUD, menus, gut-map, WebAudio engine LANE_E_UIHUD.md
F — Integration (Fable) shell (index.html, boot.js), core/, contracts, QA, round instructions LANE_F_INTEGRATION.md

A lane session, step by step

  1. Read, in order: README.mddocs/TECH.md → your lane charter → the current docs/LANES/ROUND<N>_INSTRUCTIONS.md (highest N not marked SUPERSEDED) → your own docs/LANES/LANE_<X>_NOTES.md and any "→ Lane " sections in the other lanes' NOTES.
  2. git pull first. Check git status; if another lane's uncommitted work is present, touch nothing of theirs.
  3. Do the round's work inside your territory only (ownership map in TECH.md §Ownership). If you need a change in someone else's file, write the request in your NOTES under a ### → Lane <X> heading (include exact code if you can — see PROCITY LANE_B_NOTES for the house style: offer the wiring, let the owner paste it).
  4. Evidence: screenshots into docs/shots/lane<x>/ (use ?shots=1 for clean frames). For audio: spectrogram sheet + numeric loop-seam check. Numbers you claim (draw calls, fps, gen-times) must be measured, and say how you measured them.
  5. Update docs/LANES/LANE_<X>_NOTES.md (what landed, measured results, contract offers, open questions) and append a dated entry to docs/progress/<x>-progress.md.
  6. bash tools/qa.sh — leave it green.
  7. Commit only your exact paths (git add <file> <file> — never git add . / -a), message [lane X] <what>, and push.

Rounds

  • F writes ROUND<N>_INSTRUCTIONS.md after reviewing all lanes' NOTES + progress + shots. Old round files get a ⚠ SUPERSEDED banner — never action a superseded round.
  • Rounds are sized so a lane session finishes comfortably in one context window. If you're running long: land what's solid, document the rest as "next round" in NOTES, push.
  • Blocked on another lane? Build against the stub (?stub=1, js/stub/world_stub.js) or the contract in TECH.md; never idle-wait, never implement the other lane's side.
  • Integrator decisions in round instructions are settled — don't relitigate in-lane; argue in NOTES for next round if you must.

Git specifics

  • Remote: ssh://git@100.71.119.27:222/monster/guts.git, single branch main.
  • Lanes may share one working tree (PROCITY style) or run from separate clones — either way the exact-path staging rule and pull-before-work rule are what keep it safe.
  • Generated artifacts that are re-derivable (raw gen output, staging GLBs, WAV scratch) are git-ignored; shipped assets (web/assets/** webp/ogg/m4a/glb) are committed. See .gitignore + PIPELINE.md §Artifacts.