Skip to content

GRID — System-Tier Spatial Calibration Baseline

Verb provided: :grid-calibration Threat cap: 1 Superseded by: NEONGRID (:supersedes :grid, threat cap 3) Implementation: system-image/baselines/grid.lsp Companion docs: mission-control.md (§2 registry tiers, §3.2 composition rules), ../../cartridges/design-bibles/launch-titles-capability.md §2 NEONGRID (the cart that supersedes this baseline)


GRID is a runtime-tier minimum-viable spatial-calibration capability. It ships in the system image (Lisp virtual cart at system-image/baselines/grid.lsp) and registers automatically at nosh_init. It is the deck’s identity floor for the spatial-navigation domain.

GRID is bounded harder than the other three baselines: its threat cap is 1 (vs 2 for TERMINAL, AUDIT, SONAR). This is intentional — the NEONGRID cart that supersedes it is itself training-tier (cart cap 3), so GRID at cap 1 leaves clean headroom for cart-tier scaling. NEONGRID is the deck’s “tutorial cart” by design (per launch-titles-capability.md §2); GRID is the version of that tutorial that ships when no cart is present.


The operator navigates a static grid topology rendered on the 80×25 grid. The mission: traverse from a START cell to a GOAL cell while avoiding sentries.

Cells include:

  • START — one cell, marked, where the operator begins
  • GOAL — one cell, marked, mission objective
  • PATH — empty cells; freely traversable
  • SENTRY — defender cells; entering them or being adjacent triggers consequences
  • TRIGGER — invisible cells; entering raises ALERT and fails the mission

Operator interaction:

KeyAction
[CDR]Move one cell in the chosen direction (forward in the cell tree)
[CAR]Inspect current cell (cell type, adjacency, sentry state)
[EVAL]Pick up calibration token (if cell contains one); some schemas require token collection before reaching GOAL
[QUOTE]Mark a cell for return-navigation (used in some training scenarios)
[NIL]Abort training (no reputation penalty for abort — GRID is training-tier)

Operator state:

  • Move budget: N moves allowed before scenario terminates (:result-failure if budget exhausted before reaching GOAL). N is set by the schema.
  • Alert: boolean. Triggered by entering a TRIGGER cell, or by a STATIC PATROL sentry occupying the operator’s cell when they [CDR] into it. Alert = :result-failure.

GRID rewards :speed (completed under N/2 moves) and :no-alert (completed without the alert state ever firing). No damage system — sentries don’t drain integrity, they fail outright if you collide.


GRID ships three sentry patterns. The cart (NEONGRID) ships moving / synchronized / multi-layer variants.

Occupies one cell. Never moves. Blocking.

StateBehavior
active (only state)Operator [CDR] into this cell → ALERT (:result-failure). Operator may pass adjacent cells freely; sentry has no awareness range.

Operator strategy: route around it. Visible on the grid display.

Occupies one cell at a time. Cycles through a fixed 2–3 cell route on a fixed schedule.

StateTriggerTransition
at_cell_aOperator action 1, 4, 7, …at_cell_b
at_cell_bOperator action 2, 5, 8, …at_cell_c (or back to at_cell_a for 2-cell route)
at_cell_cOperator action 3, 6, 9, …at_cell_a

Per-action advancement gives the operator a deterministic timing puzzle: the patrol’s position is a function of the operator’s move count modulo the patrol-route length. Operator strategy: count moves, time entry into patrol-shared corridors when the patrol is elsewhere.

Visible on the grid display in real time — the patrol is shown at its current cell.

Invisible cell. Triggers ALERT on entry. Marked only by inference (the schema gives the operator hints about TRIGGER ZONE locations via context — e.g., “DO NOT CROSS THE NORTHEAST QUADRANT”).

StateTriggerTransition
armed (only state)Operator [CDR] into this cell→ ALERT; :result-failure

Operator strategy: pay attention to the schema’s narrative hints; route conservatively when uncertain. TRIGGER ZONEs raise the schema’s perceived difficulty without raising mechanical complexity — the player is hunting for an invisible threat.


GRID ships one defcontract-schema form. Single-phase, threat 1, reputation reward only (no credit reward — NEONGRID’s training-tier reward model carries through to its baseline).

(defcontract-schema :grid/calibration
:required-capabilities '(:grid-calibration)
:threat-range '(1 1)
:phase-count 1
:noun-generators '(static-grid-topology start-cell goal-cell trigger-zone-hint)
:condition-generators '(sentry-density patrol-route-length move-budget)
:payout-formula contract-payout-training ; 0¤; reputation gain only
:ttl-range '(7200 28800) ; 2-8 hours (Standard tier)
:opportunity-weight 1.0)

Objective: traverse from START to GOAL within the move budget without raising ALERT.

Topology: 5×5 to 8×8 grid. Static layout per scenario (no procedural patrols beyond the 3-cell STATIC PATROL routes).

Sentry composition:

  • 1–2 STATIC SENTRY at threat 1 (lower density)
  • 1 STATIC PATROL (one route)
  • 1 TRIGGER ZONE with narrative hint

Move budget: 1.5× the Manhattan distance from START to GOAL.

Bonus conditions:

  • :speed — completed in ≤ Manhattan distance + 2 moves
  • :no-alert — never raised the alert state

GRID is unique among the four baselines: no credit reward. Reputation gain only.

SchemaThreatCredit rewardReputation gain (success)Reputation gain (with bonuses)
grid/calibration10 ¤+3+5 (:speed), +5 (:no-alert), +8 (both)

Failure (alert raised, or move budget exhausted): no penalty. GRID is training-tier — operators are explicitly invited to retry, experiment, learn the input grammar. The schema regenerates with a fresh seed on retry.

This carries through from NEONGRID’s documented reward model (launch-titles-capability.md §2: “no real monetary reward—it pays in reputation and deck proficiency”).


6. Relationship to NEONGRID (the cart that supersedes this)

Section titled “6. Relationship to NEONGRID (the cart that supersedes this)”

When NEONGRID is registered (Inserted or Recent tier), GRID’s grid/calibration schema drops to 5% of base selection weight (per mission-control.md §3.2.3). The board fills with NEONGRID’s CALIBRATION + NAVIGATION TRAINING + advanced training scenarios at threat 1–3.

When NEONGRID leaves all non-System tiers, GRID returns to full selection weight.

CIPHER emits :cart-supersedes-baseline when NEONGRID takes over and :baseline-restored when it leaves. Both are :routine affect.

NEONGRID’s cart-tier role goes beyond replacing GRID: it provides cross-module proficiency bonuses (per launch-titles-capability.md §2: “Completing NEONGRID training unlocks faster contract generation across ALL modules and reduces ICE Breaker cipher difficulty by 1 grade”). GRID does NOT provide these cross-module bonuses — the bonuses are cart-tier rewards for completing cart-tier training, and they’re a meaningful part of why operators want NEONGRID specifically.


Explicitly out of scope for the baseline. The cart owns these:

  • Verbs: :spatial-navigation (operator-driven mission routing in larger topologies), :pattern-avoidance (responsive sentries), :navigation-training (multi-stage training with branching paths) — cart only.
  • Procedural patrol patterns: patrols that adapt to operator behavior, multi-cell coordinated patrols, patrols with variable route lengths — cart only.
  • Synchronized sentry windows: timing puzzles that require crossing multiple cells during a narrow time window — cart only.
  • Multi-layer grids: 3D topology, layer-changing cells (stairs / portals) — cart only.
  • Cross-module proficiency bonuses: the +Lisp-fluency / −cipher-grade bonuses that completing NEONGRID training unlocks across other modules — cart only.
  • Multi-phase compositions: any cross-domain integration — cart only (per ADR-0030 §3.2.2).
  • Edgeware publisher splash: the cellular-automaton glider-gun loader (per orchestration.md §Software Publishers, Edgeware section) — cart only. GRID boots silently into the scenario.

;; system-image/baselines/grid.lsp
(register-mission-contributions
:module :grid
:tier :system
:verbs '((:grid-calibration
:nouns '(static-grid-topology start-cell goal-cell trigger-zone-hint)
:conditions '(sentry-density patrol-route-length move-budget)
:modifiers '(:speed-bonus :no-alert-bonus)))
:affinities '(:spatial :training)
:threat-cap 1
:sentry-patterns '(grid/static-sentry
grid/static-patrol
grid/trigger-zone))
(defcontract-schema :grid/calibration ...) ; per §4.1
;; Sentry pattern definitions, generators, payout formulas follow.

Engineering scope: ~250–400 lines of Lisp. GRID’s pattern library is the smallest of the four (3 patterns; no damage system; no procedural patrols), making it the lightest baseline to implement.


  • Cart-side NEONGRID mechanics — see ../../cartridges/design-bibles/launch-titles-capability.md §2 NEONGRID and ../../cartridges/modules/neongrid.md (when authored).
  • Mission Control’s composition algorithm — see ../mission-control.md §3.
  • The Mission Runner environment (REPL bindings during a GRID scenario) — see ../../programs/repl.md §4A and ADR-0029.
  • Cross-domain contracts (e.g., GRID → TERMINAL) — disallowed by ADR-0030 §3.2.2.