ICE Breaker: One Contract, Start To Finish
The pitch
Section titled “The pitch”The ICE Breaker vertical slice landed on April 15 (#12). One complete contract runs end-to-end. Walk a subscriber through that contract — mission board → cell traversal → cipher voice → debrief → credits posted — with screenshots and short inline code, not in a spec-reader voice. The point is: the capability model actually works. People who have been reading about it get to see it.
Why this is research, not outline
Section titled “Why this is research, not outline”Three open questions must close before the outline can settle:
- Which contract? The ICE Breaker vertical slice is a single contract. Need to confirm which mission template it runs and whether that’s the one we want on camera for subscribers. Options:
- The most visually interesting one (good for screenshots).
- The most illustrative of the Lisp paradigm (good for the essay’s thesis).
- The first one a new operator would encounter (good for onboarding narrative).
- How much code shows? The cartridge grammar (
nosh_cart.h) hasCELL_DEFINE,CELL_ON_CAR,CELL_HANDLERSetc. A subscriber dispatch is not a code tutorial, but the essay fails if it doesn’t show a single handler. Target: exactly oneCELL_DEFINEblock in the body, explained one word at a time. - How do we get screenshots? We have Remotion for motion, but static terminal captures need a tool path confirmed. The emulator’s F12 debug overlay exists but isn’t something we’d publish. Need either (a) a one-shot “dump framebuffer as PNG” command in the emulator or (b) a record-and-freeze workflow using the existing screenshot vid gen (c4f9a2f).
Source material (already on disk)
Section titled “Source material (already on disk)”| Source | Path | Why it matters |
|---|---|---|
| ICE Breaker gameplay spec | docs/software/cartridges/modules/ice-breaker.md | Canonical source for mission templates and beats |
| Vertical slice commit | #12 (2026-04-15) | The actual shipped code |
| Capability model spec | docs/software/runtime/orchestration.md | Primary architecture reference for readers who follow the “more” link |
| Cartridge grammar spec | docs/_archive/software/api-reference/grammars/cartridge-grammar-spec-v1.md | Explains CELL_DEFINE etc. |
| Lisp paradigm revisions | docs/software/cartridges/authoring/lisp-paradigm.md | Establishes what CAR/CDR mean for ICE Breaker specifically |
Proposed structure (draft — will refine at outline stage)
Section titled “Proposed structure (draft — will refine at outline stage)”Opening (~150w)
Section titled “Opening (~150w)”Frame it: “If you’ve been reading these dispatches, you’ve heard about the capability model. This week we show you a single run of it.” Set up the contract — operator handle, credits balance, cartridge slotted, mission board open.
The Contract (~250w)
Section titled “The Contract (~250w)”Narrate the contract: what the board offered, what the operator selected, what the mission required. Reference the Lisp paradigm: the mission is a nested list, CAR drills in, CDR moves sideways.
Inside A Cell (~300w)
Section titled “Inside A Cell (~300w)”One CELL_DEFINE block, explained. What a cell is. What CELL_ON_CAR does. Why the cartridge author doesn’t write a game loop — they write handlers, and the runtime handles dispatch.
The Cipher Voice (~200w)
Section titled “The Cipher Voice (~200w)”The CIPHER_DOMAIN vocabulary. How the feedback line chooses its words from the cartridge’s declared terms. Play a short quote. Why this matters for fiction: every cartridge speaks in its own dialect.
Debrief & Credits Posted (~200w)
Section titled “Debrief & Credits Posted (~200w)”Mission complete. Reputation adjusts. Credits hit the deck state file. The persistence layer is real — restart the emulator and your balance is still there. Tie back to the Universal Deck State concept if there’s room.
Close (~100w)
Section titled “Close (~100w)”“This is one contract. There are thirteen more cartridges being specified right now, each with their own cells, their own Cipher vocabulary, their own domains. This is the foundation.”
What moves this to OUTLINE
Section titled “What moves this to OUTLINE”- Monday decision: Pick which contract to walk through. (Josh + PM agent, 15 min call.)
- Tuesday: Confirm screenshot workflow. Either add
--screenshot <path>flag to emulator or document existing capture path. - Wednesday: Capture 4–6 key screenshots from the chosen contract.
- Thursday: Extract the one
CELL_DEFINEblock to be featured; write teaching paragraph for it. - Friday (T02 ships): Outline is ready. Move to
Transmission-03-outline.md. Start drafting Monday.
- Screenshots look boring in email. Amber-on-black terminal shots can read as “low-info” to someone who doesn’t know what they’re looking at. Mitigation: annotate every image with one-line captions that orient the reader (“Row 0: status bar. The cartridge ID ‘ICE-01’ appears on the right.”).
- Code section alienates non-coders. Mitigation: frame
CELL_DEFINEas a declaration of intent, not code. Use the phrase “the cartridge says to the nOSh runtime…” and keep the syntactic commentary minimal.