Skip to content

TERMINAL — System-Tier Network Intrusion Baseline

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


TERMINAL is a runtime-tier minimum-viable network intrusion capability. It ships in the system image (Lisp virtual cart at system-image/baselines/terminal.lsp) and registers automatically at nosh_init after deck-state hydration. It is the deck’s identity floor for the network-intrusion domain — present even when no cart has ever been loaded, present after a cart has been removed, present alongside ICE BREAKER (at 5% variety weight).

TERMINAL is not ICE BREAKER. It does not have ICE BREAKER’s verb pool, ICE library, threat ceiling, Sysop Mode, multi-phase compositions, or publisher splash. It is bounded to the simplest case: single-phase PENETRATION contracts at threat 1–2.


The operator navigates a small network rendered as a cell tree on the 80×25 grid. Cells include:

  • ENTRY — one cell, marked, where the operator starts a contract
  • NODE — intermediate cells; may contain ICE
  • TARGET — one cell, marked, mission objective; reaching it satisfies the contract
  • ICE — defenders occupying a cell; encountered by traversal

Operator interaction:

KeyAction
[CDR]Drill into next cell along an outgoing edge
[CAR]Inspect current cell (cell type, contents, ICE if any)
[EVAL]Attempt action on current cell (engage ICE; collect target)
[NIL]Abandon contract (returns to mission board with reputation penalty)

Operator state:

  • Connection integrity: 8 ticks at start. Each ICE damage tick reduces by 1. At 0, contract fails (:result-failure).
  • Trace: integer counter starting at 0. Some ICE patterns raise trace on contact. At trace 3, ALERT triggers and the contract fails.

TERMINAL ships three ICE patterns. The cart (ICE BREAKER) ships ~20+; the difference is the gameplay-floor / cart-amplification gap.

Passive. Blocks passage through the cell. Operator must [EVAL] with the correct technique (one of two baseline techniques) to bypass.

StateTransitions
active (only state)Operator [EVAL] with correct technique → bypass; cell becomes traversable. Operator [EVAL] with wrong technique → connection integrity −1; cell stays blocked.

Two baseline techniques:

  • :probe — works against STATIC FIREWALL grades A–C (most STATIC FIREWALLs)
  • :hammer — works against STATIC FIREWALL grade D (the rare hard one)

The operator chooses technique via the [EVAL] invocation; the wrong choice costs an integrity tick. Carts may add additional techniques (per ICE BREAKER’s full library).

Counts contacts. Behavior is a 3-state machine:

StateTriggerTransition
quietOperator enters cell (1st contact)warned; emit CIPHER :contact/:routine
warnedOperator enters cell again (2nd contact)alert; connection integrity −1; emit CIPHER :threat-rise/:tense
alertOperator enters cell again (3rd contact)trace +1; emit CIPHER :threat-rise/:significant. If trace reaches 3, contract fails.

Operator strategy: avoid re-entering cells unnecessarily. The cell can be [EVAL]-bypassed once (any technique, no cost) but re-entry resumes the state machine.

Mobile defender. Pathfinds toward operator’s current cell; attacks on adjacency.

StateTriggerTransition
patrolPer 4 player actions (CDR / CAR / EVAL all count)Move 1 cell along the topology toward the operator’s last-known cell
pursueOperator within 2 cellsMove 1 cell per 2 player actions toward operator
attackAdjacent to operator (1 cell away)Operator’s connection integrity −1 per turn until separated

Operator strategy: keep moving; don’t loiter near the same node. If the HUNTER reaches an adjacent cell, drill away faster than it can pursue.


TERMINAL ships two defcontract-schema forms. Both are single-phase, threat 1–2, payout 200–800 ¤.

(defcontract-schema :terminal/probe
:required-capabilities '(:penetrate)
:threat-range '(1 2)
:phase-count 1
:noun-generators '(small-network-topology basic-entry-vector target-cell-name)
:condition-generators '(static-ice-density basic-encryption)
:payout-formula contract-payout-baseline ; 200-400¤ at threat 1; 400-800¤ at threat 2
:ttl-range '(7200 28800) ; 2-8 hours (Standard tier)
:opportunity-weight 1.0)

Objective: enter the network at ENTRY, reach the TARGET cell, exit through any cell. No requirement to visit other NODES.

Topology: 3–5 nodes, randomly connected (planar graph, all reachable from ENTRY).

ICE composition: 1–2 STATIC FIREWALLs at threat 1; 1 STATIC + 1 REACTIVE FIREWALL at threat 2.

(defcontract-schema :terminal/sweep
:required-capabilities '(:penetrate)
:threat-range '(2 2)
:phase-count 1
:noun-generators '(small-network-topology basic-entry-vector target-cell-name)
:condition-generators '(static-ice-density basic-encryption hunter-presence)
:payout-formula contract-payout-baseline-plus ; 400-800¤
:ttl-range '(3600 14400) ; 1-4 hours (slightly Urgent)
:opportunity-weight 0.7) ; rarer than probe

Objective: enter at ENTRY, visit every NODE cell, then reach the TARGET cell.

Topology: 4–6 nodes; the visit-every-NODE constraint forces routing decisions.

ICE composition: 1 STATIC + 1 REACTIVE + 1 SLOW HUNTER. The HUNTER’s presence is what raises threat from 1 to 2 even with light ICE density.


TERMINAL contracts are training-tier. Payouts:

SchemaThreatPayout rangeReputation gain (success)Reputation loss (failure)
terminal/probe1200–400 ¤+2−1
terminal/probe2400–800 ¤+5−2
terminal/sweep2400–800 ¤+6−3

Bonus conditions (each adds ~25% to the base payout):

  • No-damage — completed with full connection integrity (8/8)
  • Stealth — completed without raising trace above 0
  • Speed — completed in ≤ 2× the topology’s cell count (e.g., 5-node network in ≤ 10 player actions)

These reward conditions are intentionally generous compared to ICE BREAKER’s bonus structure — TERMINAL teaches the mechanics; the cart layers on real difficulty.


6. Relationship to ICE BREAKER (the cart that supersedes this)

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

When ICE BREAKER is registered (Inserted or Recent tier per the registry), TERMINAL’s two schemas drop to 5% of base selection weight (per mission-control.md §3.2.3). The board fills with ICE BREAKER’s PENETRATION / EXTRACTION / SABOTAGE / SURVEILLANCE schemas at threat 1–6. TERMINAL stays in the registry — it’s still composable for variety — but the operator-felt experience is “ICE BREAKER took over the domain.”

When ICE BREAKER leaves all non-System tiers (cart removed and aged out, or never registered), TERMINAL returns to full selection weight. The board reverts to terminal/probe and terminal/sweep at threat 1–2. The operator can still play the network-intrusion domain, just at training tier.

CIPHER emits :cart-supersedes-baseline when ICE BREAKER takes over, and :baseline-restored when it leaves. Both are :routine affect — registry transitions, not gameplay events.


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

  • Verbs: :extract, :sabotage, :surveil — cart only.
  • ICE patterns beyond the three above: TUNNELER, GHOST HUNTER, ENCRYPTION GUARD, TRAP variants, predictive HUNTER, multi-cell HUNTER coordination, ICE that learns operator patterns — cart only.
  • Sysop Mode: defensive play (operator defends a network instead of penetrating) — cart only.
  • Multi-phase contracts: cross-domain compositions like Corporate Espionage (PENETRATE → AUDIT) — cart only; per ADR-0030 §3.2.2, System-tier compositions are single-phase only.
  • Publisher splash: the Zaibatsu hex-dump-and-silence loader — cart only. TERMINAL boots silently into the contract.
  • Cipher-grade encryption tiers (A/B/C/D): TERMINAL ships only basic encryption. Grade-D encryption is cart-only.
  • Reputation-tier-locked content: cart-tier contracts that unlock at higher reputation tiers — cart only.

The Lisp module:

;; system-image/baselines/terminal.lsp
(register-mission-contributions
:module :terminal
:tier :system
:verbs '((:penetrate
:nouns '(small-network-topology basic-entry-vector target-cell-name)
:conditions '(static-ice-density basic-encryption hunter-presence)
:modifiers '(:speed-bonus :stealth-bonus :no-damage-bonus)))
:affinities '(:digital :network)
:threat-cap 2
:ice-patterns '(terminal/static-firewall
terminal/reactive-firewall
terminal/slow-hunter))
(defcontract-schema :terminal/probe ...) ; per §4.1
(defcontract-schema :terminal/sweep ...) ; per §4.2
;; ICE pattern definitions, generators, payout formulas follow.

Engineering scope: ~300–500 lines of Lisp + accompanying static data (topology generator parameters, baseline ICE pattern tables). Story tracked separately as Wave 3.


  • Cart-side ICE BREAKER mechanics (full ICE library, Sysop Mode, multi-phase compositions) — see ../../cartridges/design-bibles/launch-titles-capability.md §1 ICE BREAKER and ../../cartridges/modules/ice-breaker.md (when authored).
  • Mission Control’s composition algorithm (how it selects between TERMINAL schemas and ICE BREAKER schemas) — see ../mission-control.md §3.
  • The Mission Runner environment (REPL bindings during a TERMINAL contract) — see ../../programs/repl.md §4A and ADR-0029. TERMINAL contracts use the same Mission Runner as cart contracts.
  • Cross-domain contracts (e.g., TERMINAL → AUDIT) — disallowed by ADR-0030 §3.2.2 (System-only compositions are single-phase).