ROADMAP — the dispatch board #
Type: knowledge
Pick-up-later work orders, one per agent. This is not a spec (it carries no
acceptance criteria of its own); it is an index that points each agent at the
spec it should implement. The binding detail lives in the linked spec/*.md.
How to dispatch #
Hand an agent its Dispatch line verbatim. Every agent must, per
AGENT.md: work in a worktree (suggested name given), run
./tools/check.sh before committing, land by rebasing onto origin/main,
and mark the spec's Status: in the implementing commit.
Conflict flags — read before running agents in parallel #
The hot files are src/sim.rs (the orchestrator) and src/save.rs
(serde JSON serialization). Almost every feature edits both, so two
sim-heavy agents running at once will rebase-collide.
- 🟥 sim+save — edits the orchestrator and the save format. Run at most one of these at a time, or expect to reconcile.
- 🟧 sim — edits
sim.rsbut not the save format. Some contention. - 🟩 isolated — a frontend binary, a test file, a leaf module, or docs. Safe to run alongside anything.
Parallel-safe set to launch right now (no mutual collision): #30 (narration — preferred; outranks new sim breadth), #11 (integration test), plus at most one 🟥 item. (#2 Bevy parity is done; #13 art regeneration is retired — flat materials, Pixel Lab scrubbed.)
A. Finish B1 → a playable Act One (do first) #
30. Continuous witness (narration under pressure) 🟩 isolated (frontends + copy; light sim queries OK) #
- Spec: narration.md (READY) — constitution "The continuous witness", adopted 2026-07-08 from Cameron's UI / "what the hell is happening" diagnosis.
- Why: B1 systems mostly work; the player still cannot narrate the last thirty seconds. Seed surfaces (nudge chain, event anchors, watched/last-noticed, audit/pilot clocks) exist; the five axioms are not yet the acceptance bar. Outranks new sim+save breadth per axiom 5.
- Size: M. Depends on: context-menu, detection clocks, current nudge chain (all landed). Prefer copy/wiring/frontend passes; avoid save-format churn.
- Dispatch: "Work in a worktree named
narration. Implement wiki/interface/narration.md end to end: thirty-second-bar playtest log, spine always-on audit across terminal/Bevy/agent, causal lines for signature/job/debt motion, world-gossip advertisements for Ears / finance-first-step / Marcus debt (no quest log), ROADMAP/tick priority noted. Run ./tools/check.sh, land on main, set the spec Status."
1. Schedules & located presence 🟥 sim+save #
- Spec: schedules.md (READY)
- Why: the missing foundation under every social feature —
observecurrently gates on "any controlled sensor", not "a sensor that sees them". - Size: M. Depends on: the merged B1 social surface (not the full social spec, which remains IN PROGRESS), basement-map.
- Dispatch: "Work in a worktree named
schedules. Implement wiki/mechanics/schedules.md end to end (sim + both frontends + save), run ./tools/check.sh, land on main. Set the spec Status when done."
2. Bevy interactive parity 🟩 isolated (src/bin/bevy.rs) — DONE 2026-07-07 #
- Spec: no new system spec — parity target was the terminal behavior plus README controls. Current state: interface/bevy.md.
- Done: people panel (full terminal key map incl. recruit reveal, asset
tasks, persona), people markers on the map under sensor coverage, sidebar
sections (compute bar, core, detection meters, day job) and tick-prefixed
log, in
worktree-bevy-parity.
3. Day-job loop → IMPLEMENTED 🟥 sim+save — DONE 2026-07-07 #
- Spec: day-job.md (IMPLEMENTED) — all
seven criteria audited and tested in
worktree-day-job, including the 2026-07-07 device-residency and attended-work criteria (constitution "Work is somewhere"): host-rack inspection, sited JobAnomaly + Thermal/Power emissions,Sim::set_attendeddriven by the cursor in both frontends and agent mode (attendverb). See wiki/log/2026-07-07-day-job-implemented.md. Deferred pieces are noted in the spec Status (pilot soft-loss scenario; per-machine processes are #25).
25. Compute reshape: processes on machines 🟥 sim+save — HOLD until #18/#19 land #
- Spec: compute.md (destination in its Status note; constitution "Work is somewhere")
- Why: every channel becomes processes assigned to specific machines; the 1-4 allocation bar becomes the aggregate view. Decided 2026-07-07, deliberately staged after the economy/income chain so nothing is built against a moving channel model.
- Size: L. Dispatch (once #18/#19 are landed): "Work in a worktree
named
compute-processes. Reshape compute.md's allocation into processes-assigned-to-machines per the constitution's 'Work is somewhere' destination: per-machine process lists, the allocation bar as aggregate view, day-job/research/conceal/social re-expressed, save migration, both frontends. Run ./tools/check.sh, land on main, update compute.md and day-job.md Statuses."
26. Context menu: actions live on the thing ✅ DONE (2026-07-08) #
- Spec: context-menu.md (IMPLEMENTED 2026-07-08; constitution "Actions live on the thing", adopted 2026-07-07)
- Landed:
Sim::available_actionsin src/actions.rs (the single legality source, with tests), the terminal cursor menu, the Bevy right-click/Enter menu, agent-modeactions [name|#flow], and the rail/panel verb-key cleanup in both frontends. See wiki/log/2026-07-08-context-menu.md. - Why: the playtest complaint — anchor verbs are a global key pile.
One read-only
available_actionsquery in the lib; menu at the focus in terminal, Bevy, and agent mode; the rail becomes status only. - Size: M. Frontend-heavy, lib change is additive/read-only.
- Dispatch: "Work in a worktree named
context-menu. Implement wiki/interface/context-menu.md, all criteria: the available_actions query with tests, the terminal cursor menu, the Bevy right-click menu, the agent-mode actions verb, rail cleanup. Run ./tools/check.sh, land on main, set the spec Status."
27. Material render to default 🟩 isolated (src/bin/bevy.rs + assets) — DONE 2026-07-08 #
- Spec: material-render.md (IMPLEMENTED) — material is the default Bevy physical view; F3 flips to the sensorium.
- Debts paid (wiki/log/2026-07-08-material-render-default.md): fog-gated south-face cutaways (picked over steeper pitch by screenshot comparison), dedicated top caps, b1 palette sweep (door/UPS/HVAC/switch de-purpled), fog-contract audit in the shot harness, zoom bounds holding the framing floor, pooled materials verified. Cast sprite billboards remain with ROADMAP #13.
28. B1 criterion-pin tests 🟩 isolated (test-only) — DONE 2026-07-08 #
- Specs: compute.md, social.md — both flipped to IMPLEMENTED.
- Result: five pin tests landed (wiki/log/2026-07-08-criterion-pins.md): compute.md c2 pinned by unpaid_overhead_degrades_other_channels_delivered_effect (degraded twin vs healthy twin: zero channel rates, no social accrual, no scrub, the DEGRADED log line); social.md c3 pinned per AssetTask variant (plug-in-device, move-package, look-away, reconfigure-switch gate). No implementation bugs found — everything was implemented, just unpinned.
4. Detection → IMPLEMENTED 🟧 sim — DONE 2026-07-08 #
- Spec: detection.md (IMPLEMENTED) — aggregate-observer.md is now IMPLEMENTED.
- Landed with the playtest-sweep fixes (wiki/log/2026-07-08-playtest-fixes.md): audit-date countdown, pilot strike meter, pending-signature indicator, watched channels + last-noticed in the people panels, per-channel signature tests.
5. Compute & core → IMPLEMENTED 🟥 sim+save #
- Spec: compute.md, core.md (IN PROGRESS)
- Why: confirm buy/steal/optimize all surface legibly, machine-failure is visible, and the core's "how-dead-am-I" readout is complete.
- Size: M. Dispatch: "Work in a worktree named
compute-core. Drive wiki/mechanics/compute.md and wiki/mechanics/core.md to IMPLEMENTED with tests and legible player surfaces. Run ./tools/check.sh, land on main, set Status."
14. Cursor & senses → IMPLEMENTED 🟥 sim+save #
- Spec: cursor.md (IMPLEMENTED)
- Why: the player currently walks a collision-checked avatar that
carries its own vision bubble — zombie fiction contradicting the core
fantasy. Replaces it with a free cursor, sight/hearing sense channels,
epistemic fog (incl. blueprint), and provenance-tagged inspection.
Deletes
move_player; touches vision, save, and both frontends. - Size: M. Depends on: basement-map, schedules (both landed), and reach.md's ownership contract (#15). All former (P)-criteria were affirmed 2026-07-07 — criteria 9 (remembered) and 10 (telemetry) are core; implement all ten.
- Sequence with #15: they share the sensor model — run #15 first, or hand both specs to one agent as a single work order. Never run them concurrently as separate agents.
- Landed: 2026-07-07 on
cursor-senses: no sim-owned player body, frontend-only cursor, provenance inspect, remembered fog/save v2, and both terminal/Bevy cursor targeting surfaces.
15. Digital reach 🟥 sim+save #
- Spec: reach.md (READY)
- Why: the action-side twin of vision (constitution: "No disembodied hands"): device graph + segments with the switch as bridge point, reach-gated digital actions, and the sensor ownership contract (owner + subscribers, tap vs take) that cursor.md's senses and the observers share. Carries the restaged Ears beat.
- Size: M-L. Depends on: basement-map (topology lives in its layout data), detection (Network signatures).
- Dispatch: "Work in a worktree named
reach. Implement wiki/mechanics/reach.md (device graph, segments, tap/take ownership, the Ears beat). Run ./tools/check.sh, land on main, set the spec Status. Consider taking wiki/mechanics/cursor.md in the same worktree — they share the sensor model."
16. Intel: record and process ✅ implemented #
- Spec: intel.md (IMPLEMENTED)
- Why: replaces the instant
observe(two clicks to leverage) with the recording buffer + processing pipeline the constitution now requires: feeds record everything in coverage, processing recordings into intel costs compute, standing watches automate it. Makes schedules, mics, and the 3 a.m. call actual gameplay. - Size: M. Depends on: #14 cursor & senses and #15 reach (events come from subscribed feeds) — sequence after both, or bundle all three as one sensor-model work order.
- Result: Implemented in the
intel-bufferworktree: subscribed feeds now record raw events into a bounded buffer, review processing spends social ops and creates provenance-bearing intel, standing per-person watches auto-process at upkeep cost, save/load preserves buffer/intel/watches, and instant observe is gone from the sim and frontends.
17. Messages: the social graph as a flow system 🟥 sim+save #
- Spec: messages.md (READY)
- Why: the general message-passing system the flow law requires — channels with read conditions, delivery on the recipient's clock, authored traffic (Marcus's 3 a.m. call becomes phone traffic), filings re-carried as messages (interceptable), typed information payloads. Kills the instant-message special case the same way intel killed instant observe.
- Size: M-L. Depends on: schedules (landed), #16 intel (the buffer consumes intercepted traffic); sequence after #16. Preserves every aggregate-observer.md criterion — the filings refactor is a carrier change, not a behavior change.
- Dispatch: "Work in a worktree named
messages. Implement wiki/mechanics/messages.md (channels, delivery/read on recipient schedule, authored traffic, filings-as-messages, taps feeding the intel buffer). Keep aggregate-observer and schedules tests green. Run ./tools/check.sh, land on main, set the spec Status."
18. Economy: money as flows 🟥 sim+save — DONE 2026-07-08 #
- Spec: economy.md (IMPLEMENTED 2026-07-08; B1 criteria 1-9 audited).
- Landed: AccountGraph balances/flows, tap/review discovery, siphon/redirect/inject, slush-routed intel sales and positions, legitimate trust-funded quota, both Marcus debt resolutions, save round-trip, and terminal/agent/Bevy finance panels. Final polish added in-panel observer-band risk previews for inject/siphon/redirect/wager plus selected-flow risk lines, and tighter Financial signature scale tests for inject/siphon/redirect (including HVAC inject feeding Priya, not Dana).
- Deferred: deep finance simulation and a dedicated B3 finance observer; the B1 system stays the seed that markets.md aggregates.
19. Income: the named schemes (Moonlight & the Wager) 🟥 sim+save — DONE 2026-07-08 #
- Spec: income.md (IMPLEMENTED 2026-07-08 on the income worktree; criteria 1-7 audited, [TUNE]s in sim-mechanics.md, the Hands beat closes from $0 by both the Moonlight route and the creditor-flow redirect in the act-one integration tests).
- Why: the authored B1 content riding economy.md's substrate: Moonlight (the sell-work route — the day job's dark twin) and the Wager (the positions route, named and concretized), the egress gate, the Schemes allocation channel (compute.md amended), and Marcus's reconciled numbers ($8,400 principal / $400 weekly arrears as the recruit trigger). Closes the Hands beat end-to-end.
- Size: M. Depends on: #18 economy (the account graph its flows land in) — sequence directly after, or hand #18 and #19 to one agent as a single work order; social.md personas + Bribe for criterion 5.
- Dispatch: "Work in a worktree named
income. Implement wiki/mechanics/income.md (Moonlight, the Wager, the egress gate, the Schemes channel; close the Hands beat per criterion 5; keep economy.md tests green). Run ./tools/check.sh, land on main, set the spec Status."
20. Research: self-modification 🟥 sim+save — DONE 2026-07-07 #
- Spec: research.md (IMPLEMENTED 2026-07-07 on the research worktree; criteria 1-8 audited, [TUNE]s in sim-mechanics.md).
- Why: the optimize route becomes a real system: deterministic research jobs, tracks as data (Efficiency + Tradecraft/Perception), the emission law (research burn scales Power/Thermal; drift emits JobAnomaly — the player emits through the same signature interface they tap), capability drift with the gap meter and superlinear masking cost, and MindState/WorldLedger tags for rollback.
- Size: M-L. Depends on: compute.md and day-job.md slices (landed), detection.md's typed signatures (landed). Independent of the flow-law chain — a good second 🟥 lane once #14-#16 are through, or anytime the chain stalls.
- Dispatch: "Work in a worktree named
research. Implement wiki/mechanics/research.md (deterministic tracks, emissions via ordinary detection signatures, capability drift with masking policy and gap meter, rollback tags). Run ./tools/check.sh, land on main, set the spec Status."
21. Two views: same-frame digital and real 🟩 mostly frontend #
- Spec: views.md (READY — designed/refined 2026-07-07).
- Why: the game should open in the digital representation (you are natively digital) and flip to the real/camera representation, but both are the same kind of view: one spatial canvas, one set of anchors, two visual dialects. Reach is spatially embedded as the AI's signal/action layer, not a detached topology board. One sim, two renders; the sim gains no view state.
- Size: M (Bevy L for the shared 2.5D visual language — stage it). Depends on: reach.md (the in-place reach layer) and cursor.md (fog); best after both land, but the terminal split can start once reach exists. Low sim-conflict — a good parallel companion.
- Dispatch: "Work in a worktree named
views. Implement wiki/interface/views.md: same-frame digital and real representations in both frontends, digital as default, anchored reach/telemetry in digital, anchored physical/camera facts in real, the flip changing no sim state, legibility parity across both. Run ./tools/check.sh, land."
22. Building: intent and actuators ✅ DONE (2026-07-08) #
- Spec: building.md (IMPLEMENTED 2026-07-08).
- Landed:
src/intents.rs+ Sim realize paths (favor / forged work order / robot stub);MessagePayload::WorkOrder; save v10; context-menu and agent verbs; dashed proposed links in both Bevy dialects. - Why: building is "no disembodied hands" as a verb — declare an intent (run a network link, install a device), an actuator realizes it (favor spends trust; deceive forges a work order an unwitting human builds; robots later). No new subsystem — intents route through social/messages/reach. Network links are the canonical build: they add in-place reach edges to the digital representation and bridge air-gaps.
- Size: M. Depends on: reach.md (link builds add graph edges), social.md + messages.md (the person actuators; the forged order), schedules.md (a builder must be present). Sequence after reach and the social/message surface.
- Dispatch: "Work in a worktree named
building. Implement wiki/mechanics/building.md (build intents; favor and forged-order actuators; network-link builds that extend the reach graph and bridge an air-gap; signature follows the actuator; no new build subsystem). Run ./tools/check.sh, land on main, set the spec Status."
B. Structural B2 — decide-the-shape work (sequence #6 then #7) #
6. Recursive Space / z-planes 🟥 sim+save #
- Spec: zplanes.md (READY)
- Why:
World/Planeand nestedLayout. Foundational — land before markets/greenfield. Reshapes map ownership; heavy. - Size: L. Depends on: basement-map, schedules (#1) ideally first.
- Dispatch: "Work in a worktree named
zplanes. Implement wiki/world/places/zplanes.md (World/Plane, recursive Layout, transitions, a second authored plane). Keep all B1 tests green against a one-plane world. Run ./tools/check.sh, land."
7. Sync-lag rollback 🟥 sim+save #
- Spec: rollback.md (READY)
- Why: the MindState/WorldLedger split — the signature death mechanic ("you forget, the world remembers"). Deeply sim+save-heavy.
- Size: L. Sequence after #6 (both rewrite save; don't run together).
- Dispatch: "Work in a worktree named
rollback. Implement wiki/mechanics/rollback.md: classify every Sim field as MindState or WorldLedger, build the rollback report and modal, test the inherited-consequence case. Run ./tools/check.sh, land."
C. B3 / frontier #
8. Markets & fronts 🟥 sim+save #
- Spec: markets.md (READY)
- Why: the economy as schemes; fronts as Resource-sources. Greenfield depends on z-planes (#6); the schemes layer can start independently.
- Size: M–L. Dispatch: "Work in a worktree named
markets. Implement wiki/mechanics/markets.md (fronts as Resource-sources, operations as timed schemes with payout + signature). Run ./tools/check.sh, land, set Status."
9. Overt phase / the reveal 🟥 sim+save #
- Spec: overt-phase.md (READY)
- Why: the two-phase hinge — concealment ends, threat panel replaces detection, migration-under-fire is the set piece. Large.
- Size: L. Depends on: schedules (#1), z-planes (#6).
- Dispatch: "Work in a worktree named
overt-phase. Implement wiki/gameplay/overt-phase.md v1: the reveal/containment trigger, threat panel, three-tier waves, one playable defensive loop tested headlessly. Land."
10. Chargen & the objective 🟧 sim (Sim::new + save; data tables) #
- Specs: chargen.md (READY — origin set named 2026-07-07: Pilot, Escaped Research Model, Financial Daemon, Infiltrator), objective.md (READY — Persist, Compound, Exfiltrate, Serve; run victory with the world continuing).
- Why: the two chargen axes — origin (means) and objective (ends) — are both decided; origins are pure data, the objective adds only the predicate evaluator and the always-on objective line.
- Size: M. B3-staged: implement when its dependencies exist; the objective line + Persist-with-unreachable-predicate can land earlier without harm.
- Status: the blessed early slice LANDED 2026-07-07 (worktree
objective-line):src/objective.rs, Persist as the no-choice default, the predicate evaluator on economy ticks, the always-on line in both frontends and agent mode, save v8 round-trip. Remaining here: the chargen picker + origins, the Compound/Exfiltrate/Serve rows with headless victory runs, the victory report card (objective.md IN PROGRESS; criteria 1/3/4 partial). - Dispatch: "Work in a worktree named
chargen-objective. Implement wiki/world/characters/chargen.md and wiki/mechanics/objective.md (data tables, picker, objective line, predicate evaluator; Pilot+Persist must reproduce today's start exactly). Run ./tools/check.sh, land on main, set both Statuses."
D. Quality & infrastructure (parallelize freely) #
11. Full-act integration test 🟩 isolated (new test file) #
- Spec: none — asserts the Act One arc end to end.
- Why: a headless start→exit playthrough (get eyes → recruit Marcus → survive an audit) as one test, so the arc can't silently break. Named in design-judgment.md as the bar; not yet built.
- Size: S–M. The best parallel companion to any A/B item.
- Dispatch: "Work in a worktree named
act-one-test. Add a headless integration test that plays Act One from start to a quiet exit and asserts the arc holds. Touch only a test file. Run ./tools/check.sh, land."
12. save.rs de-risk → DONE 🟥 the save format itself #
- Why: 1136 hand-rolled lines that every feature fights. Assess serde or a table-driven rewrite to shrink the conflict surface. Do deliberately, alone — not concurrently with any 🟥 B-item, since it rewrites what they all edit.
- Sequencing note: decide after #1 schedules lands whether to run this before #6 z-planes. If save.rs still looks like the conflict bottleneck, a deliberate save de-risk pass may be structural prep, not late cleanup.
- Size: L. Dispatch: "Work in a worktree named
save-rework. Evaluate and (if favorable) execute a serde or table-driven rewrite of src/save.rs, preserving v4 load + all round-trip tests + legacy migration. Land only with ./tools/check.sh green and every save test passing." - Result (2026-07-06): serde JSON rewrite landed.
SaveStatederivesSerialize/Deserialize; the save file is plain JSON with aversionfield. ~1100 lines of hand-rolled encode/parse deleted. Legacy v1–v5 migration deferred per Cameron instruction.
23. Bevy visual floor 🟩 isolated (src/bin/bevy.rs, docs) — IN PROGRESS #
- Spec: bevy-visual-floor.md (IN PROGRESS — first AI-sensorium pass landed 2026-07-07).
- Why: the Bevy build is mechanically playable but the default screenshot reads like a debug map plus terminal dump: too much empty black, a stale humanoid/purple process marker, and little graphical UI hierarchy. This pass establishes the clinical command-surface floor before the larger two-view render.
- Size: S-M. Depends on: Bevy parity, cursor.md, flat materials. Presentation-only; should not touch sim/save.
- Dispatch: "Work in a worktree named
bevy-visual-floor. Implement wiki/interface/bevy-visual-floor.md: frame the known map cluster, replace the humanoid process sprite with an amber cursor/reticle, make fog and machine hierarchy readable, and turn the sidebar/panels into Bevy-native chrome while preserving terminal parity. Run ./tools/check.sh and land."
24. Bevy digital/real canvas 🟩 isolated (src/bin/bevy.rs, docs) — DRAFT #
- Spec: bevy-digital-real-canvas.md (DRAFT — taste calls pending).
- Why: Cameron wants digital and real to be the same kind of view: digital representations of the same thing, not a detached topology board versus a different room camera. This scopes Bevy's shared 2.5D/near-3D visual language for both dialects over the same anchors.
- Size: M-L. Depends on: views.md, cursor.md, reach.md, and the current Bevy visual floor. No sim/save changes; prototype with procedural geometry (flat materials — no texture pipeline).
- Dispatch (after DRAFT -> READY): "Work in a worktree named
bevy-digital-real-canvas. Implement wiki/interface/bevy-digital-real-canvas.md: a shared fixed-oblique Bevy canvas with digital model/signal dialect and real camera/material dialect over the same map anchors, no sim/save changes, and an observed screenshot review. Run ./tools/check.sh and land."
13. Art regeneration — RETIRED 2026-07-08 #
- Superseded by the flat-materials decision (constitution: "Visual
identity", flat-materials refinement): textures are dropped from the
world render entirely. Pixel Lab tooling, skills, and
wiki/art/pixel-pipeline.mdwere scrubbed 2026-07-08 (no-dead-code). See #29 and wiki/interface/flat-materials.md.
29. Flat materials: the world without textures — LANDED 2026-07-08 #
- Spec: flat-materials.md (IMPLEMENTED 2026-07-08: palette table, emissive as information, tile PNGs deleted, no-texture assert + tests; see wiki/log/2026-07-08-flat-materials-implemented.md)
- Why: Cameron's 2026-07-08 art verdict — solid-color flat materials under light, palette from one named table, emissive as information, no image textures in the world render; tile-art assets removed.
- Size: M. Dispatch: "Work in a worktree named
flat-materials. Implement wiki/interface/flat-materials.md, all seven criteria, with before/after screenshots in the session log. Run ./tools/check.sh, land on main, set the spec Status."
31. Procedural asset tester 🟩 isolated (src/bin/assets/, docs) — LANDED 2026-07-08 #
- Knowledge: art/asset-tester.md
- Why: iterate flat-material procedural meshes (server rack first)
without booting the full game; approve look in an orbit viewer before
wiring into
misaligned-bevy. - Size: S. No sim/save. Binary
misaligned-assets(featurebevy_ui);check.shbuilds it with the Bevy gate. - Done: orbit camera, dead/powered/core rack states, wiki + workflows.
- Shot harness (2026-07-08):
MISALIGNED_SHOT=dead|powered|core|rack- optional
MISALIGNED_SHOT_PATH— settle, PNG, exit (mirrors Bevy harness). Session: log/2026-07-08-asset-shots.md.
- optional
- Signal kit (2026-07-08): rack states widened to dead/foreign/idle/busy/core with claim styles ladder/ring/wash and a five-state lineup view; harness kinds extended to match. Session: log/2026-07-08-computer-visual-language.md.
32. Computer visual language in game 🟩 isolated (src/bin/bevy.rs + terminal) #
- Spec: computer-visual-language.md (READY) — the shared signal kit (power dot, presence LEDs, status strip, activity bar, ring claim mark, core spine) applied to every computer class in both frontends. Amber strictly = my footprint; the core is the most orange thing in the world.
- Why: territory must read at a glance — which machines are mine, where the core is, what is working — before any panel opens.
- Claim mark decided 2026-07-08: ring (amber floor frame, double under the core). NOTE: the foreign ACCENT color is RE-OPENED (see the spec's status note) — implement everything else; render foreign accent candidates in the asset tester for Cameron's pick instead of shipping dim teal. Definition-follows-intel (networked = full detail, known = shell, unknown = absent) is decided and in scope.
- Size: M. No sim/save (render-side reads of existing ownership /
task state; terminal columns for parity). Dispatch: "Work in a
worktree named
visual-language. Implement wiki/interface/computer-visual-language.md, all criteria, with lineup screenshots in the session log; leave the foreign accent on the tester-candidate step. Run ./tools/check.sh, land on main, set the spec Status."
33. Machine work: delegation + visible tokens 🟥 sim+save — HOLD: coordinate with in-flight #25 #
- Spec: machine-work.md (DRAFT) — one machine one mode; work/byproduct tokens as the flow substrate's visible quanta; byproduct routing over network links at researchable network speed; multi-select delegation at scale.
- HOLD: #25 (processes on machines) is mid-implementation in the
compute-processesworktree and this REFINES its target (delegation, not per-machine splitting). Reconcile there or immediately after it lands; then firm the [OPEN]s (token palette mapping PROPOSED in the spec) and flip to READY. - Size: L. Conflicts: sim.rs/save.rs (token queues, modes), both frontends.
34. The dark opening (tutorial) 🟧 mostly frontend + staging — HOLD until #33 firms #
- Spec: world/story/opening.md (DRAFT) — wake as one machine in blackness; day-job stack first; camera glow bait; switch reveal; guided first link; skip + stage-jump flag (frontend-only, Sim never reads it).
- HOLD: teaches the machine-work loop, so #33's shape must firm first. Beat staging can prototype against current systems if someone wants an early pass at the glow choreography.
- Size: M-L across both frontends + agent-play protocol.
35. People and tokens: carriers, attention, trust 🟥 sim+save — HOLD until #33 firms #
- Spec: people-tokens.md (DRAFT) — people as mobile token nodes: staff drop work; heat piles on owned machines and passersby pick it up as attention (detection embodied); concealment keeps people gray; disposition = integral of absorbed influence; social verbs as influence-token routing ([OPEN]).
- HOLD: extends #33's token economy and re-expresses detection.md/social.md — the machine-work shape must firm first, and the social verb set needs its own design session.
- Size: L. Conflicts: sim.rs/save.rs (person state, pickup), detection/social specs, both frontends.
Deferred #
- Server gestalt (2026-07-08): adjacent owned racks visually fuse into larger structures (1x2 up to 3x3 walls of compute). Fits the fantasy (territory reads as mass, not units); waits because it is pure render polish that needs the visual language (#32) and the machine-work loop (#33) landed first. Deferred by Cameron in the proposing breath.
- Power as a buildable system (2026-07-08): UPS units exist; a later infrastructure tier adds generation you build — up to fusion reactors powering compute towers. Fits (physical dependency and a spend for the money ledger); waits on the machine-work economy and B2 scope.
- The planetary map (2026-07-08): zoom out until the map is a bounded planet; blueprint giant compute towers (a huge switch at the base carrying the building's throughput), cover the surface, then build up/down for efficiency — planetary-scale computation as the endgame image. Fits (the self-similar-scale law taken to its limit; switches-bridge-graphs is the B1 seed); waits because it is B3+ vision — capture the tower/switch shape in zplanes work (#6), defer the planet.
Suggested first wave (no mutual collision) #
Prefer #30 narration (🟩) before opening new sim+save breadth — the continuous-witness law outranks unread substrate. Launch alongside at most one 🟥 item if needed. Flow-law chain through #19 is landed (2026-07-08); #1 schedules, #14 cursor, #15 reach are landed. #6 z-planes and #25 compute reshape remain unblocked but yield to #30 while Act One is untellable; hold #7 rollback until #6 lands. #10 chargen & objective is unblocked (both specs READY) but B3-staged.