Skip to content

NODESPACE — Gameplay Specification

Network-Territory Capability Module — KN-86 Deckline Launch Cartridge

Design state: the tier stamps on this spec were set by the review loop documented in cartridge-premise-audit-2026-07.md; no person accepted the design. Josh’s premise there outranks anything below. v2.0 | 2026-07-23

Title: Nodespace Module Class: 0x0A — Network Territory Publisher: Kōji Interactive (Kyoto) Category: Strategy Release Tier: Launch Cartridge Target Duration: 6–25 minutes per contract Author: Josh Schairbaum / KN-86 Build Team

Rewrite note (2026-07-23): This supersedes the April-2026 v1.1 spec. Two things changed. The board is now a continuous presence flow the operator biases, replacing discrete turn-based node claiming; and Nodespace is promoted to a launch cartridge, so it carries a capability registration, a contract schema, and a System-tier baseline like the other launch domains.

The change resolves an inconsistency rather than creating one. verb-taxonomy-map.md §6 already declares the split “Nodespace = competitive, Takezo = contemplative,” while v1.1’s own treatment promised “No timer. The operator owns the clock.” Nodespace takes the competitive lane. Takezo keeps the contemplative one.

Carried forward intact: the four opponent personalities, the threat scaling table, the CIPHER-LINE contributions, and the nEmacs contributions. Hardware values are never restated here; see canonical-spec.md.

CIPHER-LINE note: Nodespace’s Cipher voice renders on the CIPHER-LINE OLED, never on the main grid. Canonical engine spec: cipher-voice.md.


Nodespace is the launch library’s territory cart. The operator is a network strategist working contested infrastructure, and they have no units to move. They have presence: their own processes running on hosts they have compromised. Presence spreads on its own, host to host, every tick. The operator’s only lever is a beacon, which creates a pull that radiates outward and drags the tide toward it over the following seconds.

The genre it plays in is real-time strategy. The genre it refuses is micromanagement. Nothing is selected, ordered, or steered. The operator commits a position and then lives with a consequence that arrives late and wider than the commitment that caused it. That delay is the whole game.

PLACE a beacon. That is the repeating verb. Everything else is a variation on where.

Scattered across the map are anchors: named hosts that hold no presence of their own and belong to whoever holds the ground around them. A contract asks the operator to hold a stated number of anchors for a stated duration. Presence totals never decide a contract; they decide who is able to hold anchors, which is a different question and a better one.

Every beacon placement has three live answers and the board decides which is right. Reinforce an anchor already held, buying margin against a push building three hosts away. Contest an anchor not held, which means pulling presence off something that will then be thin. Reduce the route feeding an anchor the adversary holds, which wins slowly and is hard for them to undo. Spreading wide is losing play, because presence spread thin holds nothing.

Committed and slightly behind. The operator is always acting on a board that has not yet finished answering their last action, so reading the tide two moves ahead is the skill the cart teaches. Low threat is unhurried, because the board waits on the operator’s move. High threat runs on the wall clock, so hesitation costs ground.

A short run is one holding action: take two anchors, hold them through a counter-push, bank the route. A long run is a siege where the adversary starts holding everything and the operator has to open a position from a thin foothold without ever being ahead on presence.

  • Reuses: the soft-glyph and glyph-cycle animation styles for terrain and the presence field, the half-block line primitive for overlays, the deterministic LFSR generators, the idle timer, the mission board and economy, the phase chain, and the canonical Lisp-primitive key semantics verbatim.
  • New surface required: none at the operator layer. The engine seams are carried in Tier 3 §7.
  • Escalations considered and declined: a twitch-input surface (declined; input stays discrete commands and only the world moves), and persisting captured territory as world state (declined; the mission world region is instance-scoped by design, and held-network identity persists as an index into an authored table instead).
  • Red flags respected: monochrome amber throughout, so presence depth reads as dither density and glyph shape and never as hue; Rows 0 and 74 stay firmware-owned; the influence flood is an iterative worklist because the interpreter’s root stack is shallow; redraw is a dirty-host pass.

  1. Read the tide. Presence is drifting from the last beacon. Anchors are shaded by who holds the ground around them.
  2. PLACE a beacon. One host. The gradient redraws immediately.
  3. Wait through the answer. Over the next several ticks presence migrates up the new gradient, contested hosts grind both sides down, and ownership flips where the majority changed.
  4. An anchor moves, or does not. The hold timer on every anchor the operator holds advances; the timer on any anchor lost resets.
  5. Decide again, now against a board reflecting the move before last.

The loop closes because step 4 changes what step 2 should target. A beacon that was correct while an anchor was safe becomes wrong the moment a neighbouring route is cut.

The operator is looking at a host map roughly 20 hosts on a side with six-way adjacency.

SurfaceWhat it isBehaviour
Open segmentCommodity hostsCarries presence, grows none. Most of the map.
RelayLow-tier computePresence on it grows slowly each tick.
ExchangeMid-tier computeGrows faster. Upgradeable from a relay.
VaultHigh-tier computeGrows fastest. Upgradeable from an exchange.
Hardened segmentAirgapped or wrapped in black ICEPresence cannot enter or cross. Every chokepoint on the map is made of these.
AnchorThe objectiveHolds no presence. Belongs to whoever holds the hosts around it.

Presence on a host is a count belonging to one party. Where two parties’ presence occupies the same host, both grind down in proportion to how outnumbered each is, and the majority holds the host. Sustained fighting on a relay, exchange or vault degrades it one tier, so contested compute is compute the operator is spending.

Each canonical key carries the same meaning it carries in every other module; that identity is the justification for reusing it. The action names come from the TERRITORY taxonomy in verb-taxonomy-map.md §6.

VerbWhat it doesKeyCost
PLACEDrop a beacon on the selected host. Presence begins migrating toward it.CARone beacon from the pool
REDUCELift the selected beacon. The gradient it created decays.CDRnone
SEALLift every beacon at once, releasing the whole position.CDR (long-press)none
EXTENDCommit compute to upgrade the selected owned host one tier.EVALcredits held in the run
READ-AHEADOverlay the influence gradient across the map while held.INFO (long-press)none
INSPECTRead the selected host: tier, holder, presence on each side, adjacency.INFOnone
ATARICycle the selection through anchors one tick from flipping.CDR (double-tap)none
COUNTERCompare two marked board states to read what the adversary changed.EQnone
PASSMark the current board state for later comparison.QUOTEnone
RESIGNAbandon the contract.SYS (hold)reputation, scaled by lateness

Selection moves on the T9 digit pad: 8, 2, 4 and 6 step the cursor across the host map, and the cursor clamps to the cart content rows.

The beacon pool is small and refills slowly, which is what makes REDUCE a real decision. Lifting a beacon to place it somewhere better costs nothing but the tempo of the tide answering twice.

Nodespace runs on a hybrid clock.

  • Threat 1–2 contracts are move-driven. The simulation advances a fixed number of ticks each time the operator acts, so the board waits while they think. This is where an operator learns that a beacon’s effect arrives late.
  • Threat 3–5 contracts run on the wall clock. The tide advances whether or not the operator acts, so hesitation surrenders ground.

Either way the operator never sees a beacon’s result at the moment they place it. The delay is the source of the pressure, and it is present at every threat level.

The adversary is another interest working the same network: a rival crew, the site’s counter-intrusion contractor, or a corporate sysadmin daemon set. The operator never sees the algorithm, only its outputs, and recognising which one they drew is the highest skill Nodespace teaches.

PersonalityThreatHow it playsHow it loses
AGGRESSIVE1–2Beacons forward relentlessly, takes ground, never consolidatesLeaves its own anchors thin behind it
DEFENSIVE2–3Beacons behind its anchors, upgrades compute, reacts only to pressureCedes the map, so it can be starved of routes
ADAPTIVE3–4Reads the operator’s recent placements and shifts to counter the patternCan be baited with a pattern the operator then abandons
ASYMMETRIC4–5Runs a hidden multi-phase plan on a timetable, ignoring what the operator doesIts phase transitions are readable if the operator watches for them
ThreatPersonalityMapAnchorsClockPayout base
1AGGRESSIVEsmall3, hold 2move-driven150 ¤
2AGGRESSIVE / DEFENSIVEsmall3, hold 2move-driven250 ¤
3DEFENSIVE / ADAPTIVEstandard5, hold 3wall clock400 ¤
4ADAPTIVE / ASYMMETRICstandard5, hold 3wall clock600 ¤
5ASYMMETRIClarge7, hold 4wall clock800 ¤

All three run the same simulation. Only the victory condition differs.

HOLDING ACTION (threat 1–3, 6–10 minutes). Hold the stated number of anchors continuously for a stated duration, or hold the most at the deadline. The teaching contract: it makes beacon latency felt, and it punishes overextension immediately and legibly.

CORRIDOR (threat 2–4). No anchor to sit on. Open an unbroken chain of the operator’s own presence from one map edge to the other and keep it intact for a duration. Victory is connectivity, so a single severed host resets the hold timer and the adversary wins by cutting one place rather than by taking ground. This is the shape that opens a route for a following phase.

SIEGE (threat 4–5, 20–25 minutes). The adversary begins holding every anchor and is dug into the high-tier compute. The operator begins with a thin foothold. This is the contract where reading an ASYMMETRIC adversary’s phase transitions decides the outcome, because contesting during its expansion phase loses the run.

Anchors are typed, and a contract declares which types are live.

  • ROUTE anchors. A captured relay opens a cheaper path through the same network for the following phase of a multi-phase contract. The operator feels the first phase pay off in the second one, in the same sitting.
  • INTEL anchors. A captured exchange is a listening post, and resolving the contract files what was learned about a named subject into the operator’s dossier, where later contract generation reads it back.
  • PAYLOAD anchors. A captured vault resolves to credits and salvage at mission end.
  • HELD NETWORKS. Nodespace ships with a catalogue of named, authored networks. Ōtemachi Exchange. Kobe Freight Relay. Winning on one marks it as ground the operator holds, and networks the operator holds become places the mission board sets contracts in, for every cartridge. This is additive: an operator with no Nodespace cartridge still receives a full board of contracts in freshly generated networks. Holding ground adds named, recurring geography on top.

The thin victory. Holding four of seven anchors while the adversary holds twice the presence is a win, and it is the most common way a good operator wins a siege. The cart never rewards the bigger position.

The bait pattern. Against an ADAPTIVE adversary, placing three beacons in a legible pattern and then abandoning it pulls its counter-investment to ground the operator has already left. This is not scripted; it falls out of the adversary reading recent placements.

Compute as ammunition. Fighting over an exchange degrades it. An operator who wins a long contest for a vault frequently finds they have won a relay, and the anchor it was feeding has already flipped.

The corridor that becomes a siege. In a CORRIDOR contract, an adversary that cannot cut the chain will instead take every anchor around it, converting the map into a position the operator cannot hold once the timer resets even once.

A short run, 8 minutes, threat 2, DEFENSIVE. Minute 0: three anchors, the operator holds ground near one. Minute 1: PLACE toward the second anchor; nothing visibly happens. Minute 2: the tide arrives and the second anchor shades over; both hold timers running. Minute 4: the adversary’s presence builds against the first anchor, and the operator REDUCEs their forward beacon and re-PLACEs behind it, conceding the third anchor to keep two. Minute 6: the counter-push breaks against the reinforced position. Minute 8: hold duration met. Route banked, credits paid, reputation up.

A long run, 24 minutes, threat 5, ASYMMETRIC. The adversary holds all seven anchors and does nothing aggressive for six minutes, which reads as weakness and is not. The operator takes two peripheral anchors cheaply. At minute 9 the adversary’s expansion phase opens and both fall inside two minutes. The operator stops contesting, spends four minutes EXTENDing compute in a corner the adversary has ignored, and at minute 17 the adversary enters its severance phase and abandons the periphery to cut the centre. The operator takes four peripheral anchors it has just walked away from and holds them to the deadline with less than a third of the presence on the board.

Why failed sessions still advance mastery. A loss debriefs against the adversary’s shape, naming which phase transition or pattern the operator missed. The reputation cost is small at low threat and the run is short, so the operator’s next attempt against the same personality is better informed.

First boot into Nodespace opens a threat 1 HOLDING ACTION on a small map with three anchors, a move-driven clock, and an AGGRESSIVE adversary. The operator places one beacon and watches the tide answer, which teaches the delay before anything is at stake. The adversary’s relentless forward pressure leaves its own anchors thin, so the first win is available by simply holding position while it overextends. That first contract is designed to be won in under six minutes and to make the second one legible.


1. Mission contributions and capability registration

Section titled “1. Mission contributions and capability registration”

Mission Composition Grammar declaration — verb vocabulary, affinity tag set, and mission-contributions schema are defined in 2026-04-25-mission-composition-grammar.md (deleted 2026-07-29; recover from git history) §1–§3.

(mission-contributions
:verbs (DECIDE OBSERVE OBTAIN DELIVER)
:affinities (NETWORK PHYSICAL))

Holding anchors under adversary pressure satisfies DECIDE; READ-AHEAD and reading the adversary’s personality satisfy OBSERVE; capturing anchors satisfies OBTAIN; the CORRIDOR shape plants a route for a following phase, which satisfies DELIVER.

Nodespace is the only launch cartridge carrying one affinity from each half of the composition graph. NETWORK chains it directly to ICE Breaker, PHYSICAL chains it directly to Depthcharge, and Anything → INFORMATION reaches Black Ledger. It is the launch set’s bridge between the digital and physical domains.

(register-capabilities
:module :nodespace
:bit 0x10
:provides '(:territory-control :route-opening
:network-denial :position-reading)
:affinities '(:network :physical)
:seeds '(host-topology anchor-placement adversary-doctrine)
:supersedes :territory
:threat-cap 5)

Implementation seam: as a launch cartridge, Nodespace’s domain takes a System-tier baseline (:territory, threat cap 1) alongside terminal / grid / audit / sonar, giving the territory domain a no-cart identity floor. This amends ADR-0030 §7, which listed Nodespace among the domains not receiving a baseline while it was a post-launch cart. Capability bit values are inconsistent across mission_board.c and this design-bible set; 0x05 follows this document set’s ordinal convention and the three sources owe a reconciliation.

(defcontract-schema :nodespace/territory
:required-capabilities '(:territory-control)
:threat-range '(1 5)
:phase-count '(1 3)
:noun-generators '(network-name anchor-designation adversary-doctrine)
:condition-generators '(host-topology anchor-count hold-duration clock-mode)
:payout-formula contract-payout-standard
:ttl-range '(1800 7200)
:opportunity-weight 0.35)
threat_level : 1-5
map_scale : small | standard | large (from threat)
anchor_count : 3 | 5 | 7 (from threat)
anchors_to_hold : 2 | 3 | 4 (from threat)
hold_duration : ticks; scales with threat
clock_mode : move-driven (threat 1-2) | wall-clock (threat 3+)
adversary : personality gated by reputation band
anchor_types : PAYLOAD, plus ROUTE at reputation 5+
victory : hold anchors_to_hold continuously for hold_duration,
or hold the most at the deadline
threat_level : 2-4
map_scale : standard
edges : two opposing map edges, generated non-adjacent
hold_duration : ticks; a severed chain resets the timer to zero
clock_mode : wall-clock
adversary : DEFENSIVE or ADAPTIVE (cutting behaviour required)
anchor_types : ROUTE
victory : unbroken operator presence from edge to edge,
held for hold_duration
threat_level : 4-5
map_scale : large
anchor_count : 7
adversary_start : holds all anchors; dug into vault-tier compute
operator_start : single-host foothold on the map periphery
clock_mode : wall-clock
adversary : ASYMMETRIC (mandatory)
anchor_types : INTEL
victory : hold 4 anchors at the deadline

Implementation seam: Nodespace’s board is private to the cart and does not use the mission world region, which is instance-scoped and reset at every mission boundary. Held-network identity persists as a bit index into the cart’s authored network catalogue, so the durable footprint is a held_networks[8] field carved from DeckState.reserved[14]. That leaves sizeof(DeckState) unchanged and moves no existing field, and it takes a DECK_STRUCT_VERSION bump. Because the catalogue is authored, a bit index resolves to a seed by table lookup and no seed is stored.

StructureFields
Hostsurface class, holder, presence per party, anchor designation (or none)
Beaconhost index, owner, strength
Influence fieldone value per host per party, recomputed when a beacon is placed or lifted
Anchorhost index, designation, type (ROUTE / INTEL / PAYLOAD), current holder, hold-timer
Contract stateshape, tick, clock mode, anchors required, beacon pool, adversary personality and phase
Network catalogueper entry: name, seed, archetype, difficulty band

Implementation seam: presence, holder and influence are flat per-host arrays allocated once and mutated in place. The influence flood is an explicit worklist loop rather than recursion, because the interpreter’s garbage-collector root stack is shallow enough that a six-way recursive flood overflows it. Redraw is a dirty-host pass; a full repaint of a large map exceeds the per-frame draw budget, while repainting only hosts whose class, holder or presence band changed stays well inside it. Terrain uses the soft-glyph style at constant cost per frame; the presence field uses glyph-cycle, one decision per host.

Row 0 [firmware status bar]
Row 1
Row 2 NODESPACE ŌTEMACHI EXCHANGE T3 · ADAPTIVE
Row 3 ANCHORS ██ ██ ░░ ░░ ██ HOLD 3 12s / 40s
Row 4
Row 5..66 [host map — 20x20 hosts at 3x scale, six-way adjacency]
Row 67
Row 68 BEACONS ● ● ● ○ ○ PRESENCE 4,180 / 6,320
Row 69 LAST PLACE h:14,7 TIDE drifting NE
Row 70
Row 71 ATARI KOBE-2 flips in 2
Row 72
Row 73
Row 74 [ CAR place · CDR lift · EVAL upgrade · INFO read · EQ compare ]
Row 0 [firmware status bar]
Row 1
Row 2 HOST h:14,7 EXCHANGE (tier 2)
Row 3 ─────────────────────────────────────────────────────────
Row 4 HOLDER ......... OPERATOR
Row 5 PRESENCE ....... operator 412 · adversary 106
Row 6 GROWTH ......... +20% per tick while held
Row 7 ADJACENT ....... 4 open · 1 hardened · 1 anchor (KOBE-2)
Row 8
Row 9 ANCHOR KOBE-2 .. adversary-held, 2 ticks from flipping
Row 10 ROUTE .......... this host feeds KOBE-2 and h:15,8
Row 11
Row 12 UPGRADE ........ EXCHANGE -> VAULT cost 340 ¤
Row 13
Row 74 [ CAR place · EVAL upgrade · BACK cancel ]
Row 0 [firmware status bar]
Row 1
Row 2 CONTRACT RESOLVED
Row 3 ─────────────────────────────────────────────────────────
Row 4 NETWORK ........ ŌTEMACHI EXCHANGE
Row 5 SHAPE .......... HOLDING ACTION · threat 3 · ADAPTIVE
Row 6 OUTCOME ........ HELD 3 OF 5 FOR 40 TICKS
Row 7 DURATION ....... 9m 12s
Row 8
Row 9 PRESENCE AT CLOSE operator 38% adversary 62%
Row 10
Row 11 ANCHORS TAKEN
Row 12 KOBE-2 ....... ROUTE corridor open for the next phase
Row 13 SETA-1 ....... PAYLOAD 340 ¤ salvage
Row 14 ŌTE-4 ........ ROUTE corridor open for the next phase
Row 15
Row 16 GROUND HELD .... ŌTEMACHI EXCHANGE added to your networks
Row 17 contracts will be sited here
Row 18
Row 74 [ EVAL accept · BACK board ]

Implementation seam: Row 16–17 is the legibility rule for held networks. A network entering the operator’s holdings is stated at the moment it happens and named on the board thereafter, so the effect is never a silent generation bias.

All interactions use the 34-key split layout. Universal bindings are respected.

KeyBoard viewInspection view
CARPLACE a beacon on the selectionPLACE and return to board
CDRREDUCE — lift the selected beaconnext adjacent host
CDR (double-tap)ATARI — cycle anchors near flipping
CDR (long-press)SEAL — lift every beacon
EVALcommit the pending actionEXTEND — upgrade this host
INFOINSPECT the selectioncycle route / presence detail
INFO (long-press)READ-AHEAD — influence overlay while held
QUOTEPASS — mark the board statemark this host
EQCOUNTER — compare two marked states
BACKclear selectionreturn to board
SYS (hold)RESIGNRESIGN
digit 8 / 2 / 4 / 6move selection N / S / W / E
digit 5centre selection on the nearest anchor

Row 74 renders: CAR:PLACE CDR:LIFT CDR²:ATARI EVAL:UPGRADE INFO:READ INFO…:INFLUENCE EQ:COMPARE.

Implementation seam. Four seams carry Nodespace’s outcomes out of the cart:

  1. Anchor outcomes ride the phase chain as a bitmask. The phase record payload is 12 bytes and objective completion already uses a bitmask idiom there. A seven-anchor ownership map is seven bits.
  2. ROUTE resolves as an access objective reward — the binary unlock kind that opens a follow-on contract or enriches a program — and as a reduction to the starting trace baseline of a following network phase, which is the specified knob by which prior work makes a later netrun measurably easier.
  3. INTEL resolves through dossier-commit at mission resolution, keyed net:<region>:<node>:held. This is specified against DOSSIER’s intended model as a persistent corpus; the built store is currently a 64-fact in-memory placeholder that does not survive a power cycle, and the wiring follows DOSSIER’s own durability work.
  4. PAYLOAD resolves as :bonuses on (complete-mission :outcome sym &key bonuses). Carts do not write the wallet; the engine prices the outcome.

Held networks bias contract generation through the :noun-generators seam, where a held-networks generator draws from the operator’s holdings in place of a fresh draw. The generator receives deck state already. The random value must still be drawn and discarded, or every downstream draw desyncs and the whole board reshuffles.

Nodespace anchors the STRATEGIC TAKEOVER archetype in the retired campaign-economy.md as the phase that seizes ground the following phases exploit.

Phase 1 (NODESPACE) CORRIDOR, threat 3. Open a route across the target network.
Output: anchor bitmask, route open, starting-trace reduction.
Phase 2 (ICE BREAKER) Penetration along the opened corridor. The run starts at a
lower trace baseline because phase 1 held the relays.
Phase 3 (BLACK LEDGER) Forensic work on what phase 2 extracted.

The direction matters and is stated here deliberately: phase 1 de-risks phase 2. The archetype as previously written had the network “aware of mapping” so ICE became more responsive, which made the first phase a penalty on the second. That is corrected to match the intelligence-improves-operations direction the other archetypes use.

Three PSG voices carry board state so the operator can read the tide without looking away from their selection.

  • Voice 1 — tide balance. A sustained low tone whose pitch tracks the operator’s share of held anchors. Rising as anchors are gained, falling as they are lost, steady at parity. Slow attack and decay so it is always present and never sharp.
  • Voice 2 — beacon answer. Silent at rest. When a beacon is placed, a pulse train begins and decays over the ticks the tide takes to answer, so the operator hears the commitment resolving.
  • Voice 3 — events. Anchor taken, anchor lost, anchor one tick from flipping, compute degraded, chain severed, hold duration met.
EventShape
Beacon placedshort confirm, then the Voice 2 pulse train
Anchor takenrising two-tone
Anchor lostfalling two-tone
ATARI (anchor near flipping)three short bursts, repeating while true
Compute degradedfiltered noise sweep downward
Chain severed (CORRIDOR)harsh burst, hold timer audibly resets
Contract resolvedrising arpeggio (win) or falling (loss)

Nodespace’s voice: strategic analyst briefing a sparse room. Academic without being pedantic.

(:subject "anchor" "ground" "adversary" "presence"
"tide" "route" "chokepoint" "reach")
(:object "beacon" "relay" "exchange" "vault" "corridor" "span")
(:location "quadrant" "periphery" "core" "edge")
(:verb-present "holds" "threatens" "drifts" "cuts" "extends" "thins")
(:verb-past-participle "taken" "cut" "sealed" "extended" "thinned")
(:memory-keyword "anchor" "corridor" "cut" "chokepoint" "tide")
(:affect-word "thin" "wide" "exposed" "solid" "drifting")
(:mode-observe
(3 (:subject) ". " (:affect-word) ".")
(2 "tide " (:synthfence/direction) "."))
(:mode-annotate
(3 "their ground. " (:affect-word) ".")
(1 "corridor cut."))
(:mode-reflect
(3 "same network. " (:memory-fragment))
(2 "this adversary's shape. " (:memory-fragment)))
(:mode-drift
(2 "the north quadrant. three contracts back.")
(1 "an anchor that kept changing hands."))
:event-types
((:type :anchor-taken :affect (:significant))
(:type :anchor-lost :affect (:tense))
(:type :corridor-cut :affect (:significant))
(:type :adversary-moved :affect (:routine)))
Beatobserveannotatereflectdriftsilent
:active-hack+0.05+0.05+0.05
:phase-transition+0.15+0.05
:debrief+0.10+0.15
((:active-hack (:terseness +24 :certainty +24))
(:debrief (:terseness +0 :certainty +40 :temporal-blur +16)))
BeatIntentCIPHER-LINE fragment
Anchor taken”Anchor secured.”anchor. ours.
Corridor cut”Chokepoint severed.”corridor cut.
Adversary counter-move”Adversary pressing periphery.”they moved. east.
Contract won”Ground held.”taken. held. (debrief)

Nodespace’s hybrid clock still leaves the low-threat bands unhurried, and the wall-clock bands reward predicates authored in advance. Both make it a strong scripting cart: routing logic, influence predicates, and territory assessment written before the run.

Scripted missions: yes. Reputation 12+ operators unlock Custom Doctrine contracts. The cart ships canonical built-in versions of each helper; the scripted path is how an operator expresses their own reading in Lisp. Scripting stays optional on the critical path.

(emacs-extend-grammar
;; board and position
(board)
(host (coord))
(neighbors (coord))
(surface-at (coord)) ; :open :relay :exchange :vault :hardened
(holder-at (coord)) ; :self :adversary :neutral
(presence-at (coord &key :player))
(influence-at (coord &key :player))
;; anchors
(anchors)
(anchor-holder (designation))
(anchor-timer (designation))
(anchor-at-risk? (&key :within))
;; territory reading
(territory-score (region &key :player))
(influence-map (&key :player))
(chokepoint-find (board))
(connected? (coord coord &key :player))
(route-to (designation))
;; moves
(place (coord))
(lift (coord))
(extend (coord))
(beacons-remaining)
;; event binders
(on-anchor-change (&body handler))
(on-adversary-move (&body handler))
(on-tick (&body handler))
;; clock
(tick-count)
(clock-mode) ; :move-driven :wall-clock
(contract-phase)) ; :opening :midgame :endgame
(emacs-extend-vocabulary
"board" "host" "coord" "neighbor" "anchor" "beacon"
"presence" "influence" "tide" "drift" "route" "corridor"
"relay" "exchange" "vault" "hardened" "chokepoint"
"place" "lift" "extend" "seal" "reduce" "invade" "sacrifice"
"opening" "midgame" "endgame" "atari" "counter"
"adversary" "doctrine" "personality" "phase"
"north" "south" "east" "west" "periphery" "core"
"held" "taken" "thin" "solid" "exposed")

prompt-text usage: no. Selection is digit-pad coordinate addressing; network and anchor names come from the cart’s authored catalogue.

Key:tap:double-tap:long-press
INFOinspect hostinspect the anchor this host feedsinfluence overlay while held
CDRlift beaconcycle anchors near flippinglift every beacon
EVALcommitpreview the tide before committing
QUOTEmark board stateadd to post-contract study list
EQcompare two marked states

v2.0 rewrite, 2026-07-23.

  • Tier 1 and Tier 2 rewritten. The board changes from discrete turn-based node claiming on a 12–16 node abstract graph to a continuous presence flow on a host map. Victory changes from node majority to holding named anchors. Release tier changes to launch cartridge, publisher stated as Kōji Interactive (Kyoto), resolving a v1.1 inconsistency where the header said Kōji Interactive while two later sections said Takezo Institute.
  • Clock. v1.1 promised “No timer. The operator owns the clock,” which contradicted verb-taxonomy-map.md §6’s declaration that Nodespace is the competitive TERRITORY dialect and Takezo the contemplative one. Resolved in favour of the taxonomy: a hybrid clock, move-driven at threat 1–2 and wall-clock above.
  • Verbs. Re-cut onto the TERRITORY taxonomy’s own set (PLACE · EXTEND · CONNECT · INFLUENCE · INVADE · REDUCE · SACRIFICE · SEAL · READ-AHEAD · ATARI · COUNTER · PASS · RESIGN). Under discrete node claiming, INFLUENCE and REDUCE had no mechanical referent and ATARI could not occur; the flow model gives all three a board state. CLAIM / FORTIFY / SCOUT / WAIT retire.
  • Carried forward. The four adversary personalities, the threat scaling table, the CIPHER-LINE contributions, and the nEmacs contributions, all updated for the new nouns.
  • Replaced. The v1.1 Cell Architecture section (written against the retired C macro surface) is replaced by §4 data shapes. The eight v1.1 wireframes (drawn on the retired 80×25 canvas with cart-drawn chrome) are replaced by three screens on the current Row 0 / Rows 1–73 / Row 74 contract. The four v1.1 mission templates are replaced by the three contract shapes.
  • New in this revision. Capability registration and contract schema (required now that Nodespace is a launch cartridge), the four engine seams in §7, the held-networks catalogue, and the corrected STRATEGIC TAKEOVER phase direction in §8.
  • Follow-on, outside this document. Capability bit values disagree across mission_board.c, this design-bible set; the two owe a reconciliation. ADR-0030 §7 needs the amendment noted in Tier 3 §1. The retired campaign-economy.md Archetype 5 needed a phase-direction fix stated in §8.

Assigned by Josh in the kn86-inspo workbench. Full map: cart-inspiration-map.md.

SourceCategory
Battle (1978)battleship
terrain (mewo2)generator
Life (1978)life sim
Life for Two (1978)life sim
ICE CORRIDOR skeleton (Atari)maze chase
Grand Prix (1979)racing
astroterm — terminal planetarium (braille star-density rendering)visual effect
Combat (1978)war game