Skip to content

KN-86 Architecture Decision Records

Canonical, numbered architectural decisions for the KN-86 Deckline platform. Each ADR captures the context, options considered, decision, and consequences for one architectural choice. Once accepted, an ADR is immutable — superseding changes are made by adding a new ADR and marking the prior one Superseded by ADR-NNNN.

#TitleStatusScope
0001Embedded Lisp as cartridge scripting layerAcceptedRuntime, cartridges
0002Player-facing Lisp — REPL, nEmacs, scripted missionsAccepted (slip canceled by ADR-0016)UX, runtime
0004Bytecode VM selection (Fe)AcceptedRuntime
0005NoshAPI FFI surface enumeration (54 prims)Accepted (amended 2026-04-24)Runtime, cartridge authoring
0006Cartridge format v2.0Accepted (amended 2026-04-24)Cart format, tooling
0007Lisp-scripted mission FFI & contract modelAcceptedMissions, runtime
0008nEmacs structural editor UXPartially superseded by ADR-0016On-device authoring
0009Token prediction v1 ranking modelAccepted (extended by ADR-0016)nEmacs editor
0010ICE Breaker Lisp re-expression (reference)AcceptedReference implementation
0011Pi Zero 2 W system image update systemDraftnOSh runtime, deployment
0012Lisp handler slot table wideningDraftRuntime, cartridge authoring
0013Cartridge physical format (shell + pinout)Superseded by ADR-0019Hardware, BOM, fiction
0014Display profile redesign (12×24 / 960×600)AcceptedDisplay, framebuffer, font
0015CIPHER-LINE auxiliary OLED displayApprovedHardware, Cipher voice, NoshAPI, Universal Deck State
0016nEmacs + REPL + input model (post-CIPHER-LINE)ApprovednEmacs, REPL, input, cart FFI, keypad layout
0017Realtime I/O coprocessor (Pico 2 / RP2350) — PSG + OLED only after cart-bus removalApproved (cart-bus responsibility partially superseded by ADR-0019; audio + OLED remain in scope)Hardware, Pico firmware, BOM, runtime envelope
0018Custom mechanical keyboard build for 30-key inputAcceptedHardware, BOM, input construction model
0019Cartridge storage and form factor (SD-card sled)AcceptedHardware, BOM, cart format, capability model

Documents kept for history, not on the active decision path. See docs/_archive/architecture/adr/.

#TitleReason for archive
0003nOSh runtime update mechanism (Pico 2)Pico / RP2350 target dropped. Pi Zero 2 W is the sole hardware target; see ADR-0011.

ADRs are numbered monotonically. Drafts and spike outputs are assigned their final ADR number before landing on main — we do not promote “Spike ADR-0001” documents into real ADRs retroactively, which caused the numbering confusion that ADRs 0004–0010 resolved. Numbers are never reused; an archived ADR keeps its number.

Use the engineering:architecture skill to scaffold new ADRs. Match the Status / Context / Decision / Options / Consequences / Action Items format of ADR-0001 and ADR-0002.