Skip to content

KN-86 Deckline — Definitive Articles

Last ratified: 2026-04-25 (post-reorg — paths updated to the device / software / marketing tree).


This file answers one question: which documents in this repo are canonical, and which are historical?

Every file under docs/ is in exactly one of three states:

  1. DEFINITIVE — listed in the tables below. The live source of truth for its domain. Agents and humans read these and trust them.
  2. WORKING — dated design plans, spike notes, drafts, dispatches in progress. Lives under docs/plans/ (including docs/plans/sprints/), docs/marketing/dispatches/, or docs/software/cartridges/modules/drafts/. Graduates to DEFINITIVE (by ADR) or to archive.
  3. ARCHIVED — superseded by an ADR or a newer DEFINITIVE doc. Lives under docs/_archive/<original-path> with a > **ARCHIVED:** …superseded by … banner prepended.

No document may live outside these three states. If the audit finds one, it classifies it and fixes the state.

The narrative subtree at docs/marketing/narrative/ is out of scope for this state machine — it’s creative/fiction governed by docs/marketing/narrative/CLAUDE.md and editorial review.


Tier 0 — Sources of truth (do not deviate)

Section titled “Tier 0 — Sources of truth (do not deviate)”
FileWhat it owns
CLAUDE.mdCanonical Hardware Specification table (display, grid, font, color, processor, audio, battery, case, ship target). Agent roles. Workflow contract. Every other doc must match values in this table.
docs/adr/ADR-*.mdEvery architectural decision. Supersedes any prior spec doc.
docs/adr/README.mdADR index (chronological).

FileScope
deckrunner-engine-architecture.mdDeckRunner — the engine layer. Platform / DeckRunner / Content layers; the engine that owns the run loop and contains Mission Control + Mission Runner; three-tier state model; the two FFI surfaces (NoshAPI + the player-facing DeckRunner interface); keyboard anchors + layers; capability baseline-vs-deepened; Lambda Slots. Backs ADR-0040.
kec-lisp-runtime-architecture.mdThe C-substrate ← Lisp-userland inversion (L0–L3). Direction ratified by ADR-0036 (renderer) + ADR-0040 (engine layer / DeckRunner naming).
ui-design-language.mdThe kn86-ui component-kit design language.

Software — Runtime (docs/software/runtime/)

Section titled “Software — Runtime (docs/software/runtime/)”
FileScope
orchestration.mdnOSh orchestration, capability model, Phase Chain. Mission Board treatment reduced to a pointer at mission-control.md per PR #30 (2026-05-03).
mission-control.mdMission Control & the Mission Board — capability registry, schema-driven contract generation, mission board, Mission Runner handoff. Promoted from draft KN86-MCMB-001 (2026-05-03). Companion to ADR-0028 and ADR-0029.
deck-state.mdUniversal Deck State schema. Extracted from the orchestration spec on 2026-04-25. cartridge_history is the Capability Registry’s persistent backing per PR #30.
cartridge-lifecycle.mdCartridge load / unload / hot-swap lifecycle. Extracted from the orchestration spec on 2026-04-25.
phase-chain-format.mdPhase chain on-disk format and replay semantics. Companion to orchestration.md.
cipher-voice.mdCIPHER-LINE auxiliary OLED engine — event stream, memory store, five utterance modes, mode selector, coherence stack. Companion to ADR-0015. Grammar productions extracted to ../software/api-reference/grammars/cipher-line-grammar.md on 2026-04-25.
cipher-voice-style-guide.mdCIPHER voice authoring contract — voice principles, vocabulary rules, cadence/length budgets, per-launch-cart tone targets, anti-patterns, and the CI grammar-compliance merge gate spec (GWP-321). Mitigates PR-FAQ Risk #3.
bare-deck-terminal.mdnOSh runtime UI when no cartridge is loaded.
bare-deck-content-brief.mdPer-tab content design + bounty contracts (STATUS / CIPHER / LAMBDA / LINK / SYS). Gate doc for GWP-317.
repl.mdOnboard Lisp REPL — release-default first-class utility. Invocation, permanent surface advertising, per-deck history persistence, boundaries with bare deck / nEmacs / CIPHER. Companion to ADR-0002 and ADR-0016. (GWP-315.)
input-dispatch.md34-key Ferris Sweep event model (per ADR-0031 / ADR-0032; legacy “31-key” phrasing pending sweep), hold detection, anchors + layers (ADR-0040).
key-test-utility.mdnOSh runtime SYS-mode screen (BD_MODE_SYS_KEY_TEST).
prototype-architecture.mdPi Zero 2 W prototype software layout.
haptic-feedback.mdHaptic design (Status: Proposed).
pcm-voice-bark.mdVoice-bark audio path (Status: Proposed).

Software — Cartridges (docs/software/cartridges/)

Section titled “Software — Cartridges (docs/software/cartridges/)”

Authoring (authoring/)

FileScope
campaign-economy.mdMulti-phase campaigns, credits, reputation, phase chain semantics.
clip-system.mdPre-rendered terminal animation primitive.
lisp-paradigm.mdLisp key semantics across all 14 + 1 modules.
ui-patterns.mdReusable screen patterns, audio-as-data.
screen-design-rules.mdRow 0 / 1–23 / 24 layout contract.
commerce-navigation-modules.mdCommerce + Navigation module patterns.
operations-modules.mdOperations module patterns.
strategy-passive-modules.mdStrategy + passive-system module patterns.

Modules (modules/)

One canonical spec per launch title (17 launch + 1 launch-adjacent). All in docs/software/cartridges/modules/ — see the directory README for the full list.

  • DEFINITIVE asymmetric link-cable defender: sysop-mode.md — defender side of ICE Breaker linked play. v1.0 spec landed via GWP-323. Companion to ice-breaker.md; link-cable wire-protocol details deferred to GWP-330.

  • DEFINITIVE launch-adjacent (the “+1”): threshold.md — Pacific Rim Dynamics, multiplayer text MUD.

  • DEFINITIVE outside-tier: marty-glitch-broadcast-piracy.md — Setec Astronomy / Terminal Transmissions. Action item: draft an ADR formalizing Capability Model §“Outside Tier” clause (flagged, not blocking).

  • Standalone Black Ledger spec: black-ledger.md is the canonical v1.0 spec; supersedes Part Two of the combined neongrid-blackledger-campaign.md. The combined file is retained as design-history for the paired-module pattern. The launch-time Corporate Espionage campaign archetype (ICE Breaker → Black Ledger) is specified in campaigns/corporate-espionage.md.

  • Visual brief: marty-glitch-visual-brief.md — visual-generation seed prompt for the Marty Glitch cartridge.

  • NeonGrid 45-minute first-session arc: neon-grid-onboarding-arc.md — companion to neon-grid.md; specifies the new-operator on-ramp (boot → handle → tutorial → first contract → first credit payout → handoff). Sprint 4 deliverable for product-evaluation.md.

Campaigns (campaigns/)

FileScope
corporate-espionage.md2-phase ICE Breaker → Black Ledger campaign archetype. Sprint-4 platform-proof multi-phase deliverable. Canonical spec for Archetype 1 of authoring/campaign-economy.md.

Operator manuals (operator-manuals/)

FileScope
ice-breaker-manual.mdIn-fiction operator + technical manual for ICE Breaker (Zaibatsu Digital Form ZD-86-IB-001, Rev A, April 2026). Companion to modules/ice-breaker.md.

Design bibles (design-bibles/)

FileScope
launch-titles-capability.mdLaunch titles under the capability model.

Software — API Reference (docs/software/api-reference/)

Section titled “Software — API Reference (docs/software/api-reference/)”

KEC Lisp — the language reference lives at its own site.

FileScope
benchmarks.mdEmpirical validation of ADR-0004 (Fe VM) and ADR-0001 perf budgets.

The KEC Lisp language reference, built-ins, and memory model now live at the KEC Lisp site; only benchmarks.md (Fe VM perf data) remains here.

NoshAPI (nosh-api/)

FileScope
versioning.mdFFI versioning rules.

primitives-by-category.md is a STUB pending follow-up; canonical 54-primitive list is in adr/ADR-0005.

Grammars (grammars/)

FileScope
character-set.mdKN-86 Code Page, CP437, Press Start 2P, Unicode path.
cartridge-format.md.kn86 container format (Lisp source + static data; AOT bytecode deferred per ADR-0006 2026-06-14 amendment). Extracted from the runtime spec tree on 2026-04-25. Companion to ADR-0006.
cipher-line-grammar.mdCIPHER-LINE s-expression grammar productions. Extracted from ../software/runtime/cipher-voice.md on 2026-04-25. Companion to ADR-0015.
coprocessor-protocol.mdPi ↔ Pico UART wire-format spec. Companion to ADR-0017. Cart-bus frame types obsoleted by ADR-0019; PSG + OLED + session-control remain canonical.
clip-format.mdClip binary format.

Editor tools (editor-tools/)

../software/programs/nemacs.md is the canonical landing page for nEmacs as it ships in v1.0 (GWP-316) — capability inventory, persistence (serialize/load) contract, ADR cross-refs, and full test surface.

FileScope
editor-tools/repl.mdImplementer-facing REPL reference — loop semantics, history walking, error handling, output formatting, Tier 3 FFI access policy. Operator-facing canonical doc lives at ../software/programs/repl.md. Companion to ADR-0002 and ADR-0016.

token-prediction.md is a STUB pending follow-up (canonical in ADR-0009).

Device — Hardware (docs/device/hardware/)

Section titled “Device — Hardware (docs/device/hardware/)”
FileScope
build-specification.mdBOM, assembly plan, electrical.
sourcing-guide.mdComponent sourcing research.
processor.mdRaspberry Pi Zero 2 W primary-processor subsystem spec — Linux + nOSh runtime + HDMI + USB hub host.
primary-display.mdElecrow 7” IPS subsystem spec — 1024×600 RGB565 native framebuffer, per-region cell density via integer-scaled 8×8 glyphs (128×75 = 1× cell ceiling), Press Start 2P + CP437, AMBER #E6A020 default with WHITE / GREEN selectable, Row 0/74 firmware vs. Rows 1–73 cartridge at 1× scale. Per ADR-0036 (superseding ADR-0027 / ADR-0014).
auxiliary-display.mdCIPHER-LINE OLED subsystem spec — SSD1322 256×64 yellow, 4-row layout, 4-wire SPI on SPI0. Per ADR-0015.
audio.mdYM2149 PSG → I2S → MAX98357A → 28 mm 8 Ω 2 W speaker. PSG synthesis lives on Pico 2 per ADR-0017.
coprocessor.mdPi Pico 2 (RP2350) realtime I/O coprocessor — PSG + OLED only after cart-bus removal. Per ADR-0017 + ADR-0019.
cartridge-interface.mdFull-size SD card via USB mass storage, ~58 × 65 × 8 mm clamshell sled. Per ADR-0019.
keyboard.mdFerris Sweep 34-key split + 2 trackpoints — Kailh Choc v1 hot-swap, MBK caps, 2× KB2040 (QMK), USB HID via internal hub. Per ADR-0031 / ADR-0032 (supersede the custom 31-key path); legend per ADR-0022 + the ADR-0040 anchors+layers refinement.
enclosure.mdPelican 1170 Protector Case + 3D-printed inset panels (display bezel, CIPHER-LINE bezel, keyplate, cart-slot retainer).
power.mdWaveshare UPS Module 3S (3× 18650) + 12.6 V barrel-jack charging + rail layout (5 V/5 A main powering the whole device incl. display, plus 3.3 V domains). INA219 battery monitor; ~4–5 h display-active / ~10–12 h electronics-only envelope per ADR-0038.
FileScope
release-setup.mdRelease infrastructure / CI/CD.
update-system.mdFirmware update path (per ADR-0011 + ADR-0020 multi-surface model).

system-image-build.md, boot-and-systemd.md, device-tree-overlays.md, kiosk-mode.md, power-idle.md, coprocessor-firmware.md are STUBS pending follow-up.

FileScope
KN-86-DOS-Easter-Egg-Research.mdGWP-269 feasibility memo: title candidates, mode-swap architecture, seven open questions. Conclusions ratified by ADR-0021.
KN-86-DOS-Easter-Egg-bench-test-plan.mdBench-test plan for the Legacy Terminal mode entry/exit gestures and DOSBox-on-Pi performance envelope.
FileScope
marketing-plan.mdGTM strategy, positioning, channels. Refresh queued per plans/2026-04-23-marketing-plan-refresh.md.
pr-faq.mdWorking-backwards launch doc (press release dated 2027-11-11 + external FAQ + internal FAQ).
product-evaluation.mdExpert assessment, priorities, 90-day sprint plan.
voice-bark-recording-guide.mdOperational how-to for the kn86bark tool. Child of software/runtime/pcm-voice-bark.md.

Per-module Round-1 / Round-2 evaluations remain as reference artifacts. The multi-module summary is canonical:

FileScope
ROUND-2-SUMMARY.mdCross-module Round-2 evaluation summary.
FileScope
README.mdDocumentation hub — top-level entry point.
definitive-guide.mdSynthesis across fiction, specification, decisions.
_meta/definitive-articles.mdThis file.
_meta/reorg-2026-04-25.mdPhase-by-phase rename map for the 2026-04-25 reorg (the artifact future agents need when they trace a path that no longer exists).
future-concepts.mdCatalog-wide parking lot for KN-xx Deckline concepts. Companion skill: .claude/skills/kn86-deckline-brainstorming/.
concepts/kn-9x/Sibling-device concept annex: kn90s-statline.md, kn90t-toneline.md, kn92-gridline.md. Forward-looking hardware variants. Relocated from docs/ top-level on 2026-04-27 per E21 resolution. Awaits ADR placement before promotion to Tier 1.
FileScope
README.mdPublic-facing orientation. Must match CLAUDE.md canonical spec and ADR-0001.

The 2026-04-21 first-run batch (16 files) was drained per Josh’s ratification. The 2026-04-25 reorg added:

  • _archive/software/api-reference/grammars/cartridge-grammar-spec-v1.md — superseded by ADR-0001 (Lisp/Fe authoring).
  • _archive/software/cartridges/modules/drafts/playtest-round1-{corwin,mae,vex}.md — pre-unification playtests; data folded into Round 2.
  • _archive/software/cartridges/modules/drafts/MUD-Design-Round{1,2}.md — pre-ADR-0019 cartridge format; no MUD module in launch roster.
  • _archive/software/cartridges/design-bibles/launch-titles-traditional.md — superseded by launch-titles-capability.md. Documented the standalone cartridge model retired in favor of the capability model on 2026-04-02; the file’s own banner self-identifies as “DESIGN ARCHAEOLOGY” and the 2026-04-25 reorg moved but did not flip its state.

Pre-existing archives (33 files) at docs/_archive/ are immutable and must not be re-archived.


DateADRs sweptFile touchedTask
2026-04-26ADR-0001, ADR-0017, ADR-0019docs/software/runtime/orchestration.mdGWP-261
2026-04-27ADR-0015docs/software/runtime/cipher-voice-style-guide.md (new)GWP-321
2026-05-03ADR-0028, ADR-0029, amends ADR-0005 + ADR-0006docs/software/runtime/mission-control.md (new); orchestration.md, deck-state.md, campaign-economy.md, cipher-voice.md, repl.md, bare-deck-terminal.md, launch-titles-capability.md, definitive-guide.md harmonizedPR #30 (KN86-MCMB-001)

  1. ADRs are the narrative spine. Every supersession cites an ADR number. If a spec change doesn’t have an ADR, the audit opens a draft and flags it.
  2. Every DEFINITIVE doc must match CLAUDE.md’s Canonical Hardware Specification. Any drifted value is corrected in place by the audit.
  3. WORKING docs are dated (YYYY-MM-DD-*.md) when they land in docs/plans/. Undated WIP in DEFINITIVE folders is a smell.
  4. No file lives in docs/_archive/ without a supersession banner. The banner format is fixed — see audit playbook.
  5. Archived paths collide? If docs/_archive/<path> already exists, append -retired-N.md to the new archive.
  6. Filenames forbid make/model tokens outside _archive/ and marketing/narrative/ — see audit playbook §4g.