A video game where you play as a misaligned AI, deceiving and building power. An experiment in spec-driven development.
1 folder · 24 files

README.md

spec/ — targetable system law #

One document per system, subordinate to the constitution. The constitution says what the game is; a spec says exactly what one system does and when it is done. This is the layer you point an agent at: "go implement spec/day-job.md" is a complete instruction.

To pick up work: see ROADMAP.md — the dispatch board of ready work orders, each with a worktree name, a paste-ready dispatch line, and parallel-conflict flags.

Format #

Every spec carries a header:

Status: DRAFT | READY | IN PROGRESS | BLOCKED | IMPLEMENTED
Status note: <optional prose; why this status is not final>
Stage: B1 | B2 | B3 | Deferred | Release | Process
Constitution: <the sections this spec serves>
Depends on: <other specs, or "none">

and ends with Acceptance criteria — observable, testable statements. A spec is IMPLEMENTED when every criterion holds in the sim core with tests, both frontends surface it, and the knowledge base reflects it.

The spec system itself is specified in meta.md. If you change how specs are written, staged, audited, or marked complete, update that file in the same commit.

Rules #

  • Specs never contradict the constitution. If implementing a spec reveals a conflict, that is a tick finding: file the issue, do not improvise.
  • Status: is an exact enum value. Put prose in Status note: so scripts and agents can compare status mechanically.
  • A spec's Stage is binding. Acceptance criteria for Stage: B1 must be achievable inside B1. Future-milestone material belongs in a Future / deferred section or a later-stage spec, not in the current stage's acceptance criteria.
  • Tuning constants marked [TUNE] are implementation-time choices; record the chosen values in knowledge/sim-mechanics.md, not by editing history here.
  • Changing a spec's behavior is a constitutional act: same-commit amendment + Defense, like any other.
  • Status changes are part of the implementing commit.

The B1 set (The Basement) #

Spec System Status
compute.md Compute allocation + the buy/steal/optimize triangle IN PROGRESS
day-job.md Assigned work, the sandbag/excel dial, trust and attention IN PROGRESS
detection.md Per-observer suspicion, signatures, the Assurance Office IN PROGRESS
social.md Messages, leverage, the asset template IN PROGRESS
core.md The physical core: placement, overhead, death IN PROGRESS
basement-map.md Act One map, prefabs, tile vocabulary IN PROGRESS
schedules.md Person schedules/presence; located observing + witnessing IMPLEMENTED
cursor.md The cursor (attention, not avatar); sight/hearing senses; epistemic fog; inspection READY
reach.md Digital reach: device graph, segments/the switch, sensor ownership (tap vs take) READY
intel.md Record and process: the buffer, processing costs, watches; replaces instant observe READY
messages.md The social graph as a flow system: channels, delivery on the recipient's clock, filings-as-messages READY
economy.md Money as flows: the Lab's account graph, tap/inject/redirect, income routes, legitimate expansion READY
aggregate-observer.md Assurance Office becomes an aggregate Observer (scale-debt fix) IMPLEMENTED
cast/marcus.md Marcus Webb — night janitor; the asset template READY
cast/dana.md Dana Okafor — IT technician; the digital threat surface READY
cast/ray.md Ray Delgado — night security; the under-reporting gap READY
cast/priya.md Priya Sharma — facilities manager; the infrastructure surface READY
cast/voss.md Dr. Eli Voss — handler; the recognition threat READY

Recommended implementation order: core -> compute -> day-job -> detection -> social -> basement-map, but specs are written to be independently startable. The READY schedules spec closes the known B1 presence gap. The cast specs define each character's observer/person configuration, asset tasks, and procedural template for scale-up (constitution: "People as Agents").

The B2 set (The Tower) #

Spec System Status
zplanes.md Z-plane world; recursive Space; the tower READY
rollback.md Sync-lag rollback: MindState vs WorldLedger death model READY

The B3 set (The World) #

Spec System Status
markets.md Markets/fronts as schemes; Resource-source scale-up READY
overt-phase.md Containment / the reveal; the two-phase hinge READY
chargen.md Origin picker; machine-axis start (data-only) DRAFT

Later-stage specs are written now so the load-bearing structural shapes (recursive Space, the mind/ledger split, the aggregate interface) are decided before anyone builds against a shape that can't scale. Their acceptance criteria are stage-scoped; do not start B2/B3 work as B1.

The Process set (standing infrastructure) #

Spec System Status
meta.md The spec system itself READY
terminal-ui.md Terminal frontend: look, feel, act (the sterile style guide) IMPLEMENTED
agent-play.md Agent mode: command-clocked line-protocol drive of the terminal frontend READY