RELAY — Gameplay Specification
System Module for KN-86 Deckline — Firmware Distribution, Content Delivery, Community Platform
Version 1.0 | April 2026 | Status: Engineering-Ready (Supersedes all prior Relay design)
CIPHER-LINE revision note (2026-04-24): Relay’s Cipher voice — update integrity confirmations, content-pack manifests, community submissions — renders on the CIPHER-LINE OLED, not the main 80×25 grid. Relay is also the primary caller of
cipher-extend-grammarat runtime: content packs may ship grammar fragments that extend the active Cipher vocabulary and productions. See the CIPHER-LINE Contributions section at the end for Relay’s own voice and for the runtime-extension protocol. Canonical engine spec:docs/software/runtime/cipher-voice.md.
Mission Contributions
Section titled “Mission Contributions”Mission Composition Grammar declaration — verb vocabulary, affinity tag set, and
mission-contributionsschema are defined indocs/plans/post-v0.1/2026-04-25-mission-composition-grammar.md§1–§3.
(mission-contributions :verbs (COMMUNICATE OBTAIN MANUFACTURE ANALYZE) :affinities (DIGITAL INFORMATION))Relay is the platform-maintenance cart and the launch library’s only MANUFACTURE satisfier. The SCAN/EVALUATE/APPLY/VERIFY cycle satisfies COMMUNICATE (broadcasting/receiving update packages over LINK), OBTAIN (acquiring content packs into deck state), MANUFACTURE (the cipher-extend-grammar runtime call literally produces new vocabulary and productions in the active grammar tables — Relay manufactures runtime state, not just transports it), and ANALYZE (integrity verification, manifest inspection). Affinities are DIGITAL (the update channel is data) and INFORMATION (content packs are catalogued knowledge). Default biases.
Design Philosophy
Section titled “Design Philosophy”RELAY is not a game in the traditional sense. It is the platform maintenance engine that keeps the KN-86 live indefinitely after launch. The core insight: a device with a 10-year lifetime must receive new content, balance patches, and community contributions without requiring firmware rewrites or cartridge revisions. RELAY is the mechanism that solves this.
The operator’s role is communications officer—the deck receives signals from the network, evaluates them, applies them, and verifies integrity. The fiction is the relay station. You are the node that receives and propagates updates. Post-launch content flows through you. The platform never stops growing.
Unlike operational modules (ICE BREAKER, Black Ledger) that emphasize tempo and decision-making, RELAY emphasizes curation and community. An operator receives an update, previews its contents, decides whether to apply it immediately or defer it, watches the system verify integrity, and discovers new contracts generated from the fresh content. The experience is deliberate, trustworthy, and deeply social—peer operators share updates via LINK protocol; the community submits puzzles and strategies that ship in official Relay packages.
RELAY ensures the infinite play promise. A single cartridge stays mechanically complete forever, but the mission board keeps refreshing with new templates, new Cipher passages, new balance variations, and new challenges. An operator who plays one module for a year never runs out of new content because Relay deposits it constantly.
1. UPDATE FLOW: THE FOUR PHASES
Section titled “1. UPDATE FLOW: THE FOUR PHASES”RELAY operates in four discrete phases: SCAN, EVALUATE, APPLY, and VERIFY. Each phase is mechanically distinct. The operator may pause between phases and return later.
1.1 Phase One: SCAN
Section titled “1.1 Phase One: SCAN”Duration: Automatic, ~8 seconds (transfer time) + operator pause
Location: RELAY cartridge, SCAN tab
Input: Manual (request update check) or automatic (on device boot if new update available)
Output: List of available updates with brief descriptions
The operator connects the KN-86 via USB to a desktop Edgeware utility (simulated in this spec; physical implementation is out of scope). The utility displays available RELAY versions: v1.0 → v1.1 → v1.2 → v1.3 (operator is 1 version behind).
The operator selects “Download v1.3” on the desktop. The KN-86 displays:
┌──────────────────────────────────┐│ RELAY: SCANNING FOR UPDATES │├──────────────────────────────────┤│ ││ Contacting Edgeware servers... ││ [████████████░░░░░░░░░░░░░░░░░] ││ 45% (3.2 KB / 7.1 KB) ││ ││ Current version: v1.2 ││ Latest available: v1.3 ││ │└──────────────────────────────────┘Audio: Voice 1 (220 Hz, rising slowly toward 440 Hz) indicates data transfer in progress. Voice 2 is silent. Voice 3 is idle.
When transfer completes:
┌──────────────────────────────────┐│ RELAY: SCAN COMPLETE │├──────────────────────────────────┤│ ││ Update available: v1.3 ││ Released: 2026-04-10 ││ Size: 45 KB ││ Compressed: 18 KB (USB transfer) ││ ││ [CAR: view details] ││ [EVAL: proceed to evaluation] ││ [BACK: cancel] ││ │└──────────────────────────────────┘State: The update package is held in a temporary buffer (not yet applied to deck state). The operator may inspect it or defer.
1.2 Phase Two: EVALUATE
Section titled “1.2 Phase Two: EVALUATE”Duration: Variable (10 seconds to 5 minutes) — operator-paced
Location: RELAY cartridge, EVAL tab
Input: CAR/CDR to scroll through update manifest; INFO to expand sections; EVAL to accept; BACK to defer
Output: Updated deck state if applied; unchanged if deferred
The operator presses CAR to view the detailed changelog:
┌──────────────────────────────────────────────┐│ RELAY: UPDATE v1.3 DETAILED MANIFEST │├──────────────────────────────────────────────┤│ ││ Released: 2026-04-10 / Publisher: Edgeware ││ ││ ━ NEW MISSION TEMPLATES ││ [▼ ICE BREAKER] ││ + 4 new PENETRATION contracts (financial)││ + Financial network threat 2–3 templates ││ + Estimated new missions: 12–16 hours ││ ││ [▼ NODESPACE] (collapsed) ││ [▼ CIPHER GARDEN] (collapsed) ││ ││ ━ BALANCE PATCH ││ [▼ Show details] ││ ││ ━ CIPHER VOCABULARY EXPANSION ││ [▼ Show new passages] ││ ││ ━ COMMUNITY CONTENT (3 submissions) ││ [▼ Player-designed ciphers] ││ ││ [INFO: detailed descriptions] ││ [EVAL: apply update now] ││ [BACK: defer 24 hours] ││ │└──────────────────────────────────────────────┘Navigation: CAR drills into each section (NEW MISSION TEMPLATES, BALANCE PATCH, etc.). CDR moves between sections. INFO on a section shows full descriptions. The structure uses the list browser UI pattern from the UI Design System.
Operator Decision Point:
- EVAL: Apply immediately. Trigger Phase Three (APPLY).
- BACK (hold 1s): Defer update. The package is preserved in temporary storage. Next device boot will re-offer it with a “Deferred update pending” message on the STATUS tab. Operator can defer indefinitely (though Cipher voice will gently hint that updates are ready).
1.3 Phase Three: APPLY
Section titled “1.3 Phase Three: APPLY”Duration: 5–10 seconds
Location: RELAY cartridge, APPLY tab
Input: None (automatic after EVAL in Evaluate phase)
Output: Modified deck state (relay_version incremented, mission templates added, Cipher seed advanced)
The operator pressed EVAL. The screen transitions to APPLY:
┌──────────────────────────────────┐│ RELAY: APPLYING UPDATE v1.3 │├──────────────────────────────────┤│ ││ This may take 5–10 seconds. ││ Please keep the device powered. ││ Do not remove the cartridge. ││ ││ Processing... ││ ││ [████████░░░░░░░░░░░░░░░░░░░░░] ││ 50% ││ ││ • Writing mission templates ││ • Advancing Cipher seed ││ • Integrity verification pending ││ │└──────────────────────────────────┘What Happens Internally:
-
Deck state writes (SRAM → flash):
relay_version: incremented from 0x02 to 0x03mission_templates: new template pool merged into module memorycipher_seed: LFSR advanced deterministically (ensures Cipher voice generates different passages)- Cartridge history bitfield: unchanged (RELAY doesn’t set new bits; it enhances existing capabilities)
-
Verification checks (CRC, signature):
- Package signature validated against Edgeware’s public key (stored in firmware)
- Payload CRC computed and compared
- Mission template structure validation (each template has required fields)
-
Audio feedback:
- Voice 1: 330 Hz pulsing (integrity check rhythm)
- Voice 2: Idle
- Voice 3: Low-amplitude noise (system work)
State: Deck state is modified. The update is now persistent. Power-off safe.
1.4 Phase Four: VERIFY
Section titled “1.4 Phase Four: VERIFY”Duration: Automatic, ~2 seconds
Location: RELAY cartridge, VERIFY tab
Input: EVAL to confirm completion; BACK to troubleshoot (rare)
Output: Cipher voice confirmation; ready to return to mission board
┌──────────────────────────────────┐│ RELAY: UPDATE APPLIED │├──────────────────────────────────┤│ Version: v1.3 ││ Released: 2026-04-10 ││ ││ ✓ Signature valid ││ ✓ CRC verification: PASS ││ ✓ Template structures: VALID ││ ✓ Deck state: UPDATED ││ ││ Status: COMPLETE ││ ││ You are now running v1.3. ││ New RELAY BOUNTY contracts will ││ appear on the mission board. ││ ││ [EVAL: return to STATUS] ││ │└──────────────────────────────────┘Audio: A brief, rising tone sweep on Voice 1 (330→660 Hz, 0.5s duration) signals successful completion. The tone is clean and professional—no fanfare, no celebration. Trustworthy systems sound calm.
Cipher Voice (reputation-tier specific):
- Rep 0–9: “YOUR DECK IS CURRENT. NEW TEMPLATES AWAIT ON THE MISSION BOARD.”
- Rep 15–34: “VERSION 1.3 INSTALLED. THE CIPHER VOICE EXPANDS WITH NEW DOMAIN VOCABULARY.”
- Rep 50+: “BLEEDING-EDGE RELEASE APPLIED. YOU’RE RUNNING AHEAD OF THE FIELD.”
Next Step: Operator returns to bare deck STATUS tab or loads a cartridge. The mission board now includes new contracts from the fresh templates.
2. SYSTEM ONE: UPDATE CHANNELS
Section titled “2. SYSTEM ONE: UPDATE CHANNELS”RELAY supports three update channels. The operator does not choose a channel explicitly — their reputation determines which channels are visible. This mirrors real-world software: alpha/beta/stable tiers.
2.1 Stable Channel (Default)
Section titled “2.1 Stable Channel (Default)”Visibility: Rep 0+
Release Cadence: Monthly (typically 1st of the month UTC)
Content Type: Bug fixes, balance patches, new mission templates for existing modules, Cipher vocabulary expansions, curated community content (vetted)
Update Size: 30–80 KB (after compression)
Testing: QA-validated on 10+ operator test decks before public release
Rollback Supported: Yes (operator can de-update to previous version via BACK hold in VERIFY phase, though this is rare)
Example Stable Update (v1.3):
- ICE BREAKER: 4 new financial network PENETRATION templates (procedural, new threat variants)
- NODESPACE: 1 new ASYMMETRIC opponent personality (“Predictive Encirclement”)
- CIPHER GARDEN: 20 new substitution cipher puzzles (increasing difficulty)
- THE VAULT: 3 new entries (Signal Intelligence domain)
- Balance patch: Payout multiplier adjustments (+10% for Threat 5–6 contracts)
- Cipher vocabulary: 50 new sentence templates (more variety in mission briefings)
- Community content: 3 player-submitted cipher puzzles from high-rep operators
Update schedule:
- Released: 1st of each month
- Available for download: 24–48 hours
- Auto-notification: On device boot if update available and operator hasn’t deferred
2.2 Experimental Channel
Section titled “2.2 Experimental Channel”Visibility: Rep 15+
Release Cadence: Fortnightly (sometimes weekly during active development)
Content Type: Experimental game modes, unfinished features, radical balance changes (subject to change), prototype modules
Update Size: 40–120 KB
Testing: Lighter QA (verified to not crash, no data corruption; balance untested)
Rollback Supported: Yes (strong recommendation to save game state before applying)
Risk: Updates may break saved games or introduce unbalanced contracts
Example Experimental Update (v1.4-exp1):
- Prototype: SHELLFIRE module loaded into RELAY (early access for rep 15+ operators)
- ICE BREAKER: Experimental “Asymmetric Threat” mission template (AI plays faster, extreme difficulty)
- NULL: Early alpha diagnostics (may have bugs)
- Cipher voice: Testing new tone variations (less terse, more conversational)
- Disclaimer: “Experimental updates may introduce balance changes that are subsequently reverted.”
Access method:
- Operator loads RELAY, navigates to CHANNELS tab (only visible if rep ≥ 15)
- Selects EXPERIMENTAL channel
- Proceeds through SCAN → EVALUATE → APPLY → VERIFY as normal
- Warning displays: “EXPERIMENTAL UPDATES ARE UNTESTED. SAVE YOUR GAME BEFORE APPLYING.”
2.3 Legendary Channel
Section titled “2.3 Legendary Channel”Visibility: Rep 50+
Release Cadence: Irregular (tied to major feature milestones)
Content Type: Exclusive contracts, secret Cipher passages, unreleased modules, direct operator feedback integration
Update Size: Variable (50–200 KB)
Testing: None (cutting-edge, sometimes co-designed by legendary-tier operators)
Rollback Supported: No (explicitly one-way)
Community: Operators in Legendary channel form an exclusive community (via LINK protocol meetups) discussing game balance and strategy
Example Legendary Update (v2.0-legendary):
- Unreleased TAKEZO module (early access 1 week before public Phase 3 launch)
- Secret “Cipher Mastery” contracts (unlock new Cipher voice passages that narrate based on high reputation)
- Exclusive RELAY bounty: “Guide 5 other operators through their first Legendary update” (+50 ¤, +5 rep)
- Direct feedback survey: “Rate new NODESPACE opponent AI personality” (results influence next Experimental update)
Access method:
- RELAY automatically detects rep ≥ 50 on boot
- STATUS tab displays: “LEGENDARY CHANNEL AVAILABLE. LOAD RELAY FOR EXCLUSIVE ACCESS.”
- Operator loads RELAY, CHANNELS tab shows LEGENDARY option
- Legendary updates are pushed (operator receives notification and must explicitly defer if unwilling; default is auto-apply after 1 hour)
3. SYSTEM TWO: CONTENT TYPES
Section titled “3. SYSTEM TWO: CONTENT TYPES”Each RELAY update is a package containing one or more content types. The operator sees them grouped in the EVALUATE phase.
3.1 Mission Template Expansion
Section titled “3.1 Mission Template Expansion”What: New procedural contract templates for existing modules
How It Works: The cartridge’s template pool is merged with new templates. On next cartridge load, the mission board draws from the expanded pool. Threat levels, payout curves, and phase requirements are regenerated.
Mechanical Impact: Low (no gameplay changes in active contracts; only new contracts on board refresh)
Content Example:
/* ICE BREAKER v1.3 adds FINANCIAL_NETWORK_TEMPLATE */TEMPLATE_DEFINE(financial_network_v2) { TEMPLATE_FIELDS { uint8_t base_threat = 2; /* Threat 2–3 */ uint8_t max_threat = 3; uint8_t min_phases = 1; uint16_t base_payout = 600; /* 600 ¤ base */ }; TEMPLATE_GENERATOR { /* Generates financial penetration contracts targeting banks, trading floors, wire services */ /* New in v1.3: possibility of multi-node financial target (bank A → subsidiary B → shell C) */ network_topology = FINANCIAL_CLUSTER; node_encryption = HIGH; /* Requires multiple CRACK or mirror combos */ data_extraction_time = MEDIUM; }}Payout Incentive: Completing a new template contract within 7 days of the update grants +50 ¤ RELAY bonus. This incentivizes operators to explore the new content.
Reputation Threshold: All operators (rep 0+) see new mission templates. No gating.
3.2 Balance Patch
Section titled “3.2 Balance Patch”What: Adjustments to existing contract difficulty, payout multipliers, AI behavior, threat escalation curves
How It Works: The patch modifies generation parameters. Existing active contracts are unaffected (phase chain is preserved). New contracts generated post-update reflect new balance.
Mechanical Impact: Medium (changes long-term economy, AI difficulty)
Content Example:
/* Payout Multiplier Adjustment */BALANCE_PATCH_v1_3 { /* Threat 5–6 contracts were paying too little relative to risk */ threat_5_multiplier: 1.1x → 1.15x /* +5% for Threat 5 */ threat_6_multiplier: 1.3x → 1.4x /* +10% for Threat 6 */
/* NODESPACE: ASYMMETRIC opponent was too easy at turn 30+ */ nodespace_asymmetric_phase_3_aggressiveness: 70% → 85%
/* ICE BREAKER: HUNTER spawn threshold was too lenient */ ice_breaker_trace_hunter_threshold: 30 → 25 /* HUNTER spawns 1 turn sooner */}Payout Incentive: Defeating an opponent under the new balance grants +1 rep bonus (social proof: “You beat the harder version”).
Reputation Threshold: Rep 25+ operators receive patch notes with technical details. Rep 0–24 see simplified summaries (“AI difficulty: slightly increased”).
3.3 Cipher Vocabulary Expansion
Section titled “3.3 Cipher Vocabulary Expansion”What: New sentence templates for the Cipher voice
How It Works: The Cipher domain vocabulary is expanded. Next time Cipher generates text (on mission board, phase completion, boot), it draws from the larger pool. The effect is subtle but pervasive—the voice feels fresher.
Mechanical Impact: Zero (purely aesthetic)
Content Example:
/* New Cipher domain vocabulary for ICE BREAKER */CIPHER_DOMAIN_EXPANSION_v1_3 { THREAT_TERMS { "ICE FORTRESS", /* New */ "PERIMETER LOCK", /* New */ "DATA LABYRINTH", /* New */ "SHADOW ICE", /* New — implies stealthy threat */ }; OUTCOME_TERMS { "CLEAN EXTRACTION", /* New */ "SCORCHED NETWORK", /* New — implies destructive exit */ "SOFT FOOTPRINT", /* New — implies stealthy success */ }; FINANCE_TERMS { "WIRE ROUTE", /* New — specific to financial domain */ "SUBSIDIARY CHAIN", /* New */ "OFFSHORE LAYER", /* New */ };}Payout Incentive: None (vocabulary changes are free). The incentive is social and aesthetic—high-reputation operators notice and appreciate the expanded voice.
Reputation Threshold: Rep 10+ operators notice and comment on Cipher changes (via LINK protocol community chats, simulated in the design but not mechanically enforced).
3.4 Community Content
Section titled “3.4 Community Content”What: Player-submitted content: ciphers, strategies, operator dossiers, community challenges
How It Works: Content is vetted by Edgeware (simulated team), then bundled into the update. Community-submitted puzzles appear in CIPHER GARDEN’s contract list. Player-designed strategies feed into NODESPACE opponent AI learning. Operator dossiers populate THE VAULT’s PLAYER-CREATED section.
Mechanical Impact: Medium (new contracts, AI learns new tactics)
Content Example:
Player Submission: Operator "Silvertongue" (Rep 47) Title: "Vigenère Cipher: The Tarot Correspondence" Difficulty: Intermediate (Cipher Garden threat 3) Rules: Encryption key is a 78-card Tarot deck's Major Arcana sequence. Plaintext hint: "THE HERMIT WALKS BETWEEN WORLDS." Submitted: 2026-03-15 Accepted by Edgeware: 2026-03-28
Player Submission: Operator "Architect" (Rep 33) Title: "NODESPACE Strategy: Predictive Encirclement Phase 3" AI personality: ASYMMETRIC (phase 3 behavior) Description: "In the final third of the game, the opponent focuses on cutting supply lines rather than expanding territory. This creates a new win condition: survive isolation while controlling the hub node." Submitted: 2026-02-10 Accepted by Edgeware: 2026-03-01Payout Incentive: An operator who submits community content that is accepted receives +25 ¤ bounty and +1 rep on the next RELAY update that includes their work. This directly incentivizes operators to author and submit.
Reputation Threshold for Submission: Rep 25+ (operators can propose community content via RELAY’s SUBMIT tab, though acceptance takes 2–4 weeks).
3.5 RELAY Bounty Template
Section titled “3.5 RELAY Bounty Template”What: A special contract that appears on the mission board only after an update is applied
How It Works: Each RELAY update includes a bounty template. When the operator loads any cartridge post-update, the mission board includes this special contract (in addition to normal contracts). The bounty has higher payout and unique requirements tied to the new content.
Mechanical Impact: Medium (new economic reward, incentivizes engaging with new content)
Content Example (v1.3):
RELAY BOUNTY: "NEW FINANCIAL NETWORKS"Requirement: Complete 2 of the 4 new ICE BREAKER financial penetration templatesBase reward: 150 ¤Content bonus: +100 ¤ (significant new content)Reputation multiplier: 1 + (rep / 100)Example payout at rep 20: (150 + 100) × 1.2 = 300 ¤
Cipher voice briefing (rep 15+): "THE LATEST RELAY BRINGS FINANCIAL NETWORK EXPLOITS. THE MISSION BOARD NOW OFFERS FRESH TARGETS. COMPLETE TWO AND SECURE 300+ CREDITS."Reputation Threshold: Rep 15+ (operators below rep 15 don’t see RELAY bounties on the mission board; they can still complete new contracts, just with no bonus).
4. SYSTEM THREE: PEER-TO-PEER UPDATE SHARING
Section titled “4. SYSTEM THREE: PEER-TO-PEER UPDATE SHARING”RELAY supports asymmetric peer sharing. An operator with v1.3 installed can transmit the update package to an operator still on v1.2 via the physical LINK cable.
4.1 How It Works
Section titled “4.1 How It Works”Host (has v1.3): Loads RELAY, selects SHARE tab, chooses “TRANSMIT UPDATE TO PEER”
Client (has v1.2): Loads RELAY, selects RECEIVE tab, chooses “ACCEPT UPDATE FROM PEER”
Link handshake: Devices connect via 9600 baud link protocol (full spec in KN-86-LINK-Protocol). Encrypted channel established using both operators’ handles + device serial numbers as key material.
Data flow:
- Host encrypts the entire update package (45 KB uncompressed → ~18 KB compressed)
- Host transmits package in 512-byte chunks with parity bytes for error correction
- Client receives, buffers, and verifies CRC every 8 chunks
- Transfer completes (~30–60 seconds at 9600 baud)
- Client decrypts, verifies Edgeware signature, displays EVALUATE phase
- Client can apply immediately or defer (as if they had downloaded from desktop utility)
Payout Incentive: Both operators receive +50 ¤ bounty (“Shared Knowledge”) for successful peer transfer. This is a social reward—no reputation gain, but immediate credit bonus. Encourages operators to share with peers.
Use Case: A community of offline operators (traveling, rural, no direct Edgeware access) can bootstrap updates through one peer who has internet access. The community self-propagates.
5. SYSTEM FOUR: SOUND DESIGN — THE RELAY AESTHETIC
Section titled “5. SYSTEM FOUR: SOUND DESIGN — THE RELAY AESTHETIC”RELAY uses the YM2149 to encode transfer status and verification confidence. Sound is data, never decoration.
5.1 Voice Assignments
Section titled “5.1 Voice Assignments”| Phase | Voice 1 | Voice 2 | Voice 3 |
|---|---|---|---|
| SCAN | Transfer progress (220→440 Hz ramp) | Idle | Idle |
| EVALUATE | Idle | Idle | Idle (operator reading) |
| APPLY | Idle | Signature/CRC verification pulses (330 Hz) | System work (noise) |
| VERIFY | Completion signal (330→660 Hz sweep) | Idle | Idle |
5.2 Audio Events
Section titled “5.2 Audio Events”| Event | Voice(s) | Frequency | Duration | Meaning |
|---|---|---|---|---|
| Transfer begins | Voice 1 | 220 Hz soft attack | 0.5s | Init signal |
| Transfer progress (per 10%) | Voice 1 | 220→260 Hz ramp | 0.8s | ~1 second per 10% |
| Transfer at 50% | Voice 1 | 330 Hz brief pulse | 0.2s | Checkpoint |
| Transfer at 90% | Voice 1 | 440 Hz sustained | 0.3s | Near completion |
| Transfer complete | Voice 1 | 440 Hz sustained | 0.5s | Download done, ready for eval |
| Verification pass | Voice 2 | 330 Hz pulse | 0.2s × 3 | Three short pulses = three checks |
| Signature valid | Voice 2 | 880 Hz high tone | 0.2s | Auth OK |
| CRC pass | Voice 2 | 660 Hz mid tone | 0.2s | Integrity OK |
| Apply starts | Voice 3 | Filtered noise (8 kHz) | 1.0s | System work begun |
| Apply complete | Voice 1 | 330→660 Hz sweep | 0.5s | Final success chime |
| ERROR: Signature failed | Voice 1 | 55 Hz descending buzz | 1.0s | Critical failure (should never happen) |
| ERROR: CRC failed | Voice 1 | 220 Hz repeating 3× | 0.3s | Data corruption (retry transfer) |
5.3 Audio as Information
Section titled “5.3 Audio as Information”An operator who cannot see the screen (accessibility or preference) can navigate RELAY entirely by ear:
- Transfer begins: Low, soft tone = safe to start
- Transfer steady climb: Pitch rising = data flowing, no errors
- Transfer stops climbing: Pitch sustained = nearly done
- Signature check pulse: Three short pulses = three verifications (expected)
- Completion sweep: Rising pitch to high tone = success
- Silence after sweep: System ready = proceed to next phase
This is not a feature—it is the core design. Sound is primary. Display is secondary.
6. CELL ARCHITECTURE
Section titled “6. CELL ARCHITECTURE”RELAY’s data structures follow the cartridge grammar. The primary cell type is UpdatePackageCell, representing the received update in hierarchical form.
6.1 Cell Type Definitions
Section titled “6.1 Cell Type Definitions”/* RELAY Update Package Cell */typedef struct { char update_name[64]; /* "v1.3 Update — Financial Networks" */ uint32_t version_number; /* 0x010300 = v1.3.0 */ uint32_t build_timestamp; /* Unix timestamp of build */ uint16_t package_size_uncompressed; /* 45 KB */ uint16_t package_size_compressed; /* 18 KB */ uint8_t signature[16]; /* Edgeware ECDSA signature */ uint8_t signature_valid; /* 0=unchecked, 1=valid, 2=invalid */ uint32_t crc32; /* Payload CRC */ uint8_t crc_valid; /* Verification state */} UpdatePackageCell;
/* Module Content Cell (one per module affected by update) */typedef struct { uint8_t module_class; /* 0x01–0x0E */ char module_name[32]; /* "ICE BREAKER", "NODESPACE", etc. */ uint16_t *mission_template_ids; /* Array of new template IDs */ uint16_t template_count; /* How many new templates */ uint8_t *cipher_vocabulary_data; /* Raw vocabulary bytes */ uint16_t vocab_size; uint8_t *balance_patch_data; /* Binary patch for this module */ uint16_t balance_patch_size;} ModuleContentCell;
/* RELAY Bounty Cell */typedef struct { char bounty_title[64]; /* "New Financial Networks" */ uint8_t bounty_type; /* 0=template_completion, 1=challenge, 2=social */ uint16_t target_count; /* How many new contracts to complete */ uint32_t base_reward; /* 150 ¤ */ uint8_t reputation_multiplier_pct; /* 1.0 = 100%, 1.2 = 120%, etc. */} RelayBountyCell;
/* RELAY update manifest cell (root of hierarchy) */typedef struct { UpdatePackageCell package; ModuleContentCell modules[14]; /* Variable array (only affected modules) */ uint8_t module_count; uint8_t *community_content_data; /* Variable-size community submissions */ uint16_t community_size; RelayBountyCell bounty; uint8_t bounty_present; /* 0 or 1 */} RelayManifestCell;6.2 Cell Handlers
Section titled “6.2 Cell Handlers”/* RELAY cell handler registration */
ON_CAR(ModuleContentCell *self) { /* Drill into module section: show template count, vocabulary additions, balance changes */ drill_into(self); draw_module_detail_pane(self); sfx_select();}
ON_CDR(ModuleContentCell *self) { /* Move cursor to next module in list */ if (module_index < manifest->module_count - 1) { navigate_to(&manifest->modules[module_index + 1]); } else { sfx_error(); /* Last module */ }}
ON_INFO(ModuleContentCell *self) { /* Display detailed breakdown of this module's content */ nosh_text_clear(); nosh_text_printf(0, 0, "MODULE: %s", self->module_name); nosh_text_printf(0, 1, "TEMPLATES: %d new", self->template_count); nosh_text_printf(0, 2, "VOCABULARY: +%d bytes", self->vocab_size); nosh_text_printf(0, 3, "BALANCE: %s", self->balance_patch_size > 0 ? "PATCHED" : "none");}
ON_EVAL(RelayManifestCell *self) { /* Confirm evaluation and proceed to APPLY phase */ apply_relay_update(self); transition_to_apply_phase();}
ON_BACK(RelayManifestCell *self) { /* Return to mission board without applying */ defer_relay_update(self); /* Preserve in temp storage for later */ navigate_back();}7. KEY MAPPING TABLES — RELAY EDITION
Section titled “7. KEY MAPPING TABLES — RELAY EDITION”RELAY uses a simplified subset of the 31-key grammar. The EVALUATE phase only needs navigation and confirm/deny.
| Key | SCAN Phase | EVALUATE Phase | APPLY Phase | VERIFY Phase |
|---|---|---|---|---|
| CAR | — | Drill into section | — | — |
| CDR | — | Next section | — | — |
| CONS | — | (collapse/expand) | — | — |
| EVAL | Start download | Apply update | — | Confirm done |
| BACK | Cancel | Defer update | — | Return to STATUS |
| INFO | Show details | Detailed section info | — | Show completion |
| SYS | Hard abort | Hard abort | (blocked) | Hard abort |
| Numpad 0-9 | — | (inactive) | — | — |
Navigation Grammar:
- CAR: Drill into the current section (module, balance patch, community content)
- CDR: Move cursor to next section at same level
- BACK: Return to previous level or defer
- EVAL: Confirm current decision
No tool combinations (CONS) or macro recording (LAMBDA) in RELAY. The module is intentionally simple.
8. SCREEN WIREFRAMES
Section titled “8. SCREEN WIREFRAMES”8.1 SCAN Phase — Update Available
Section titled “8.1 SCAN Phase — Update Available”╔══════════════════════════════════════════════════════════════════════════════╗║ RELAY: SCAN FOR UPDATES ║╠══════════════════════════════════════════════════════════════════════════════╣║ ║║ Current version: v1.2 (stable) ║║ Latest available: v1.3 (released 2026-04-10) ║║ ║║ Update size: 45 KB (uncompressed) ║║ Download size: 18 KB (compressed, ~8 sec at 9600 baud) ║║ ║║ Content summary: ║║ • 4 new ICE BREAKER mission templates ║║ • 1 new NODESPACE opponent AI personality ║║ • 20 new CIPHER GARDEN puzzles ║║ • 3 new VAULT entries ║║ • Balance patch (threat 5–6 payouts +5–10%) ║║ • 50 new Cipher voice passages ║║ • 3 community-submitted content items ║║ ║║ [CAR: view detailed manifest] ║║ [EVAL: download and evaluate] ║║ [BACK: not now] ║║ ║╚══════════════════════════════════════════════════════════════════════════════╝8.2 EVALUATE Phase — Manifest Browser
Section titled “8.2 EVALUATE Phase — Manifest Browser”╔══════════════════════════════════════════════════════════════════════════════╗║ RELAY: UPDATE v1.3 EVALUATION ║╠══════════════════════════════════════════════════════════════════════════════╣║ ║║ ▶ NEW MISSION TEMPLATES ║║ ▼ ICE BREAKER ║║ + 4 new PENETRATION templates (financial networks) ║║ + Estimated play time: 12–16 hours of new content ║║ ▶ NODESPACE (collapsed) ║║ ▶ CIPHER GARDEN (collapsed) ║║ ▶ THE VAULT (collapsed) ║║ ║║ ▼ BALANCE PATCH ║║ Threat 5 payout: ×1.10 → ×1.15 (+5%) ║║ Threat 6 payout: ×1.30 → ×1.40 (+10%) ║║ NODESPACE ASYMMETRIC: Turn 30+ aggression +15% ║║ ICE BREAKER HUNTER spawn: threshold 30 → 25 ║║ ║║ ▶ CIPHER VOCABULARY (collapsed) ║║ ▶ COMMUNITY CONTENT (collapsed, 3 items) ║║ ║║ [CAR: expand sections] [CDR: next section] ║║ [INFO: detailed text] [EVAL: apply update] [BACK: defer 24h] ║║ ║╚══════════════════════════════════════════════════════════════════════════════╝8.3 APPLY Phase — Progress
Section titled “8.3 APPLY Phase — Progress”╔══════════════════════════════════════════════════════════════════════════════╗║ RELAY: APPLYING UPDATE v1.3 ║╠══════════════════════════════════════════════════════════════════════════════╣║ ║║ Please keep the device powered. ║║ Do not remove the cartridge. ║║ ║║ Applying... ║║ ║║ ████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ 35% ║║ ║║ • Writing mission templates to cartridge memory... ║║ • Advancing Cipher seed (voice generation)... ║║ • Merging balance patch parameters... ║║ • Verifying integrity... ║║ ║╚══════════════════════════════════════════════════════════════════════════════╝8.4 VERIFY Phase — Success
Section titled “8.4 VERIFY Phase — Success”╔══════════════════════════════════════════════════════════════════════════════╗║ RELAY: UPDATE COMPLETE ║╠══════════════════════════════════════════════════════════════════════════════╣║ ║║ Version: v1.3 ║║ Released: 2026-04-10 ║║ Deck state: UPDATED ║║ ║║ ✓ Signature verification: PASS ║║ ✓ CRC check: PASS ║║ ✓ Template structures: VALID ║║ ✓ Cipher seed: ADVANCED ║║ ✓ Deck state written to flash: COMPLETE ║║ ║║ Status: SUCCESS ║║ ║║ You are now running v1.3. ║║ ║║ Load any cartridge to see new RELAY BOUNTY contracts on the mission ║║ board. Complete them for bonus credits and exclusive content access. ║║ ║║ [EVAL: return to bare deck] ║║ ║╚══════════════════════════════════════════════════════════════════════════════╝8.5 Peer-to-Peer Share — Host View
Section titled “8.5 Peer-to-Peer Share — Host View”╔══════════════════════════════════════════════════════════════════════════════╗║ RELAY: TRANSMIT UPDATE TO PEER ║╠══════════════════════════════════════════════════════════════════════════════╣║ ║║ You have: v1.3 (stable, released 2026-04-10) ║║ ║║ Waiting for peer connection via LINK cable... ║║ ║║ When peer device displays "RECEIVE UPDATE FROM PEER", press EVAL below. ║║ ║║ [Waiting...] ║║ ║║ Peer name: (not yet connected) ║║ Peer version: (not yet connected) ║║ Transfer size: 18 KB ║║ Estimated time: 30–60 seconds ║║ ║║ [EVAL: send update] [BACK: cancel] ║║ ║╚══════════════════════════════════════════════════════════════════════════════╝9. SESSION WALKTHROUGH: “THE SIGNAL”
Section titled “9. SESSION WALKTHROUGH: “THE SIGNAL””A complete 15-minute session from boot to new-content discovery.
MINUTE 0–1: Boot and Notification
Section titled “MINUTE 0–1: Boot and Notification”Operator powers on KN-86. Bare deck loads. Cipher voice: “UPDATE v1.3 AWAITS. TRANSFER VIA DESKTOP UTILITY OR LINK PROTOCOL.”
Operator loads RELAY cartridge.
MINUTE 1–3: SCAN and Decision
Section titled “MINUTE 1–3: SCAN and Decision”RELAY displays SCAN phase. Operator selects “Download v1.3” on desktop utility. Screen shows transfer progress (220 Hz rising pitch, 8 seconds of data flow).
Transfer completes. Voice 1 sustains 440 Hz (ready signal).
Operator reviews update summary: 4 new ICE BREAKER templates, 1 new NODESPACE opponent, 20 new cipher puzzles, 50 new Cipher passages. Operator is intrigued.
MINUTE 3–8: EVALUATE
Section titled “MINUTE 3–8: EVALUATE”Operator presses CAR to drill into manifest. Explores each section:
- ICE BREAKER: Sees “FINANCIAL_NETWORK_v2” (new template targeting banks, multi-node structures)
- NODESPACE: Sees “ASYMMETRIC opponent Phase 3 behavior: cuts supply lines, not expansive”
- CIPHER GARDEN: Sees “20 Vigenère puzzles, threat 2–3”
- Balance patch: Threat 5–6 payouts +5–10%, HUNTER spawn sooner
- Community content: 3 player-designed ciphers from high-rep operators
Operator presses EVAL to apply.
MINUTE 8–10: APPLY
Section titled “MINUTE 8–10: APPLY”Screen shows progress bar. Voice 2 pulses three times (signature, CRC, template verification checks). System writes new mission templates to cartridge memory, advances Cipher seed.
Voice 1 sweeps from 330→660 Hz (completion signal).
MINUTE 10–11: VERIFY
Section titled “MINUTE 10–11: VERIFY”Success screen displays. All checks pass. Operator presses EVAL to return to bare deck.
Cipher voice (rep 15+): “VERSION 1.3 INSTALLED. THE CIPHER VOICE EXPANDS WITH NEW DOMAIN VOCABULARY.”
MINUTE 11–15: Explore New Content
Section titled “MINUTE 11–15: Explore New Content”Operator loads ICE BREAKER cartridge. Mission board regenerates. Operator sees:
- 2 normal Threat 2–3 penetration contracts (existing templates)
- 1 new “FINANCIAL_NETWORK_v2” contract (Threat 2, new template, 600 ¤ base)
- RELAY BOUNTY: “NEW FINANCIAL NETWORKS — Complete 2 of the 4 new financial templates. Reward: 300 ¤ + bonus.” (visible because rep 15+)
Operator bids on the new FINANCIAL_NETWORK_v2 contract, plays a 5-minute run, completes successfully.
Debrief: 600 ¤ base + 50 ¤ new-template bonus = 650 ¤. Rep +2. Cipher voice: “CLEAN EXTRACTION FROM NEW TARGET. FINANCIAL NETWORKS FULLY MAPPED.”
Operator now understands: every RELAY update gives fresh contracts with fresh rewards. Platform never stagnates.
Total session time: 15 minutes. Earnings: 650 ¤, +2 rep. Outcome: Operator feels the platform is alive, responsive, and expansive.
10. DESIGN NOTES: INFINITE PLAY STRATEGY
Section titled “10. DESIGN NOTES: INFINITE PLAY STRATEGY”10.1 The Problem RELAY Solves
Section titled “10.1 The Problem RELAY Solves”A handheld device with 14 cartridges offers hundreds of hours of gameplay. But procedural generation is finite—an operator with 500+ hours played will eventually see repeated contract templates, repeated Cipher passages, repeated opponent strategies.
Traditional solution: “Buy more cartridges” (requires game releases).
RELAY’s solution: Firmware patches as gameplay content.
10.2 How Patches Extend Play
Section titled “10.2 How Patches Extend Play”Each monthly RELAY update contains:
- New mission templates (50–100 new procedurally-generated contracts per module)
- Cipher vocabulary expansion (50–100 new sentence templates)
- Balance adjustments (subtle difficulty/payout recalibrations to keep economy fresh)
- Community content (player-designed puzzles, strategies, operator profiles)
- RELAY bounties (exclusive high-value contracts tied to new content)
An operator who plays ICE BREAKER exclusively for a year will encounter:
- Month 1: 12 base templates × 10 contracts per board refresh ≈ 120 unique runs (procedurally varied)
- Month 2: +4 new templates via RELAY → 16 templates × 10 contracts ≈ 160 unique runs (fresh contracts available)
- Month 12: +48 cumulative new templates via 12 monthly updates → 60 templates × 10 contracts ≈ 600 unique runs (endless procedural variety)
The key: templates compound. Each new template seeds thousands of procedurally-generated contract variations (via threat level, reputation, cartridge history, LFSR seed).
10.3 Economic Loop: Incentivizing Update Adoption
Section titled “10.3 Economic Loop: Incentivizing Update Adoption”Operators are incentivized to apply RELAY updates immediately:
- RELAY bounties grant 50–500 ¤ bonus for completing new content within 7 days
- Exclusive templates only appear in the mission board after an update is applied
- Community content (puzzles, strategies) creates FOMO (fear of missing out)—operators want to see what their peers submitted
- Balance patches can make high-threat contracts more lucrative, pushing operators to upgrade tactics
An operator who defers an update is deliberately missing out on economic gains. This creates soft pressure to stay current while preserving player agency (deferral is always possible).
10.4 Post-Launch Content Strategy
Section titled “10.4 Post-Launch Content Strategy”Year 1 (Monthly):
- STABLE channel: New templates, balance tweaks, community content (12 updates)
- EXPERIMENTAL channel: Prototype new modules, radical balance, unreleased cartridges (24 updates)
Year 2–3:
- Phase 2 & 3 cartridge launches paired with major RELAY updates (8 updates)
- Community voting on which features to prioritize next
Year 4–10:
- LEGENDARY channel: Operator-co-designed content, secret modules, meta-game layers
- Archive of all historical RELAY updates (operators can “downgrade” to earlier patches, relive old contract sets)
10.5 Example Post-Launch Calendar
Section titled “10.5 Example Post-Launch Calendar”Launch Day (April 2026): KN-86 ships with 4 cartridges, RELAY module, v1.0 firmware
Q2 2026: Monthly updates: v1.1 (May), v1.2 (June), v1.3 (July) Each adds templates, balance tweaks, 2–3 community submissions STABLE channel only
Q3 2026: Phase 2 cartridges ship: Shellfire, Nodespace, The Vault, Cipher Garden v1.4 RELAY update includes initial templates from Phase 2 EXPERIMENTAL channel opens (rep 15+)
Q4 2026 – Q2 2027: Monthly STABLE + bi-weekly EXPERIMENTAL updates Phase 3 cartridges launch (SynthFence, Drift, Pathfinder, Takezo) Legendary channel opens (rep 50+)
Q3 2027 onwards: Null + Relay Phase 2 (meta-game layers) Community-driven content pipeline (operators author, Edgeware curates, RELAY distributes) Possibility of operator-designed cartridges (far future)10.6 Protecting Against Content Fatigue
Section titled “10.6 Protecting Against Content Fatigue”RELAY updates are optional but incentivized, not mandatory. An operator can:
- Defer indefinitely (no penalty)
- Roll back to older versions (if they dislike balance changes)
- Stay on older templates (new templates don’t delete old ones)
This prevents the “bloat” feeling some live-service games create. The platform grows, but legacy content remains stable.
11. LINK PROTOCOL INTEGRATION
Section titled “11. LINK PROTOCOL INTEGRATION”RELAY extends the LINK protocol with peer-to-peer update sharing, creating a self-propagating distribution network.
11.1 Update Transmission
Section titled “11.1 Update Transmission”Data Structure:
typedef struct { uint8_t link_msg_type = LINK_MSG_UPDATE_SHARE; /* 0x0F */ uint32_t sender_handle_crc; /* Operator identity check */ uint32_t update_version; /* v1.3 = 0x010300 */ uint32_t payload_size; /* 18 KB compressed */ uint8_t payload[18432]; /* Actual update data */ uint8_t crc32_payload; /* 4-byte CRC */} LinkUpdateMessage;Encryption: Both operators’ handles + their device serial numbers form a shared key (ECDH-style, simplified for 8-bit architecture). The payload is encrypted with this key.
Bandwidth: 18 KB at 9600 baud = ~16 seconds + overhead = ~25–40 seconds total transfer time.
11.2 Network Topology Visualization (Optional UI)
Section titled “11.2 Network Topology Visualization (Optional UI)”If an operator loads NULL (diagnostic module) after peer-sharing an update, NULL can display a simple network topology showing which operators have connected via LINK:
YOUR DEVICE (v1.3) ↓Operator "Architect" (v1.3, rep 33) ↓Operator "Falcon" (v1.2, just received update) ↓Operator "Cipher" (v1.1, queued for next peer share)
Network nodes: 4Updates propagating: 2This is purely optional flavor—no mechanical impact. But it reinforces the fiction of a relay station propagating signals through a network of peers.
12. CROSS-MODULE INTERACTIONS
Section titled “12. CROSS-MODULE INTERACTIONS”With ICE BREAKER
Section titled “With ICE BREAKER”- RELAY updates deliver new network templates (financial, corporate, government domains)
- New HUNTER spawn behaviors can be tuned via balance patches
- Community content: player-designed network topologies (encoded as contract seeds)
- Bounty example: “Complete the 4 new ICE BREAKER templates” (300+ ¤)
With The Vault
Section titled “With The Vault”- RELAY updates deliver new VAULT entries (intelligence briefings, operator dossiers, frequency tables)
- Community content: player-created operator profiles (submitted via RELAY’s SUBMIT tab)
- Bounty example: “Read the 5 new VAULT entries post-update” (100 ¤ + knowledge index +1)
With Cipher Garden
Section titled “With Cipher Garden”- RELAY updates deliver new cipher puzzle types and difficulty adjustments
- Community content: player-designed substitution/Vigenère ciphers
- Bounty example: “Solve 3 new community-submitted ciphers” (150 ¤)
With Null
Section titled “With Null”- NULL can verify RELAY update integrity (CRC check on installed packages)
- NULL can display RELAY version history (which updates have been applied)
- Bounty example: “Verify the latest RELAY update is uncorrupted and complete” (50 ¤)
With All Modules
Section titled “With All Modules”- RELAY bounties appear on the mission board of every loaded cartridge post-update
- Cross-module bounties: “You received ICE BREAKER + Black Ledger + new Cipher templates in this update. Complete one mission from each and link them into a 3-phase operation.” (500 ¤ + 2 rep)
Self-Reference
Section titled “Self-Reference”- RELAY updates can patch RELAY itself (improving transfer speed, adding new features)
- Bounty: “Apply the RELAY v1.4 update (performance improvements)” (0 ¤, +0 rep, but unlocks future optimizations)
13. CONTENT TYPE SPECIFICATIONS
Section titled “13. CONTENT TYPE SPECIFICATIONS”13.1 Firmware Binary Patches
Section titled “13.1 Firmware Binary Patches”Format: ELF binary delta (differences from previous version)
Size: 5–20 KB per patch
Deployment: Only for critical bugs (rare); most changes are cartridge-level
Risk: None (signature validation prevents corruption)
13.2 Cipher Script Expansion
Section titled “13.2 Cipher Script Expansion”Format: LFSR token tree (binary-encoded sentence templates + word tables)
Size: 10–50 KB per update
Mechanical Impact: Zero (purely cosmetic, voice variety)
Deployment: Monthly in STABLE channel
13.3 Campaign Template Data
Section titled “13.3 Campaign Template Data”Format: Serialized mission template structures (threat levels, payout curves, phase requirements)
Size: Variable (5–20 KB per module)
Mechanical Impact: Medium (new contracts on board)
Deployment: Monthly in STABLE channel, weekly in EXPERIMENTAL
13.4 Balance Patch Binary
Section titled “13.4 Balance Patch Binary”Format: Compact binary encoding (module ID → parameter deltas)
Size: 1–5 KB per patch
Mechanical Impact: High (AI difficulty, payout scaling, threat escalation)
Deployment: Monthly in STABLE (tested), weekly in EXPERIMENTAL (untested)
13.5 Community Submission Package
Section titled “13.5 Community Submission Package”Format: User-submitted text (cipher solutions, strategy descriptions, player dossiers)
Size: 1–10 KB per submission
Mechanical Impact: Medium (new puzzles, new AI tactics)
Submission Process:
- Operator (rep 25+) uses RELAY’s SUBMIT tab to author content
- Content is uploaded to Edgeware servers (simulated; not mechanically enforced)
- Edgeware team curates (1–2 week turnaround)
- Content is bundled into next STABLE update
- Submitting operator receives +25 ¤ bounty and +1 rep when their submission ships
14. OPERATOR PROGRESSION: REPUTATION TIERS
Section titled “14. OPERATOR PROGRESSION: REPUTATION TIERS”| Rep | Tier | Update Capabilities |
|---|---|---|
| 0–4 | Apprentice | STABLE channel only; auto-apply updates (no deferral); see simplified changelog |
| 5–14 | Trainee | STABLE channel; can preview and defer updates (1-session delay); see detailed changelog |
| 15–24 | Specialist | STABLE + EXPERIMENTAL channels; can see RELAY bounties; can provide feedback form |
| 25–49 | Expert | Can submit community content; early access to balance patches; can suggest features |
| 50+ | Legend | LEGENDARY channel; beta-test in closed groups; co-design balance with Edgeware |
15. FINAL NOTES: THE PLATFORM AS CONVERSATION
Section titled “15. FINAL NOTES: THE PLATFORM AS CONVERSATION”RELAY is the mechanism by which Edgeware maintains an ongoing conversation with operators. Each monthly update is a message: “We heard your feedback. Here’s what we’ve done.” Each community submission in an update is acknowledgment: “Your puzzle is so good, we’re shipping it.” Each new cartridge launch paired with a major RELAY update is an expansion: “Here’s what’s next.”
This prevents the platform from feeling abandoned. A device shipped in 2026 that receives monthly updates through 2030 does not feel like legacy hardware—it feels alive.
RELAY ensures infinite play. Not infinite content (that requires human authors), but infinite variety—new templates seeding thousands of procedurally-generated runs, new Cipher passages creating fresh narration, new balance tweaks pushing operators to evolve tactics. A single cartridge, patched monthly for a decade, contains thousands of hours of unique experiences.
This is the promise: You buy once. The platform never stops growing.
16. DETAILED SCREEN LAYOUTS
Section titled “16. DETAILED SCREEN LAYOUTS”All screens fit 80 columns × 25 rows. Row 0 = header. Rows 1–23 = content. Row 24 = action bar.
Screen 1: RELAY STATUS (Boot Notification)
Section titled “Screen 1: RELAY STATUS (Boot Notification)”ROW 0: RELAY > STATUS [Current: v1.2]ROW 1:ROW 2: ╔════════════════════════════════════════════════════════════╗ROW 3: ║ UPDATE AVAILABLE ║ROW 4: ╚════════════════════════════════════════════════════════════╝ROW 5:ROW 6: Current nOSh runtime version: v1.2 (stable, released 2026-04-02)ROW 7: Latest available version: v1.3 (released 2026-04-10)ROW 8:ROW 9: CHANGE SUMMARY:ROW 10: • 4 new ICE BREAKER mission templates (financial networks)ROW 11: • 1 new NODESPACE opponent personality (ASYMMETRIC)ROW 12: • 20 new CIPHER GARDEN puzzle variantsROW 13: • 3 new THE VAULT intelligence entriesROW 14: • Balance patch: Threat 5–6 payout bonuses (+5–10%)ROW 15: • 50 new Cipher voice passages (expanded vocabulary)ROW 16: • 3 community-submitted cipher puzzles (peer content)ROW 17:ROW 18: Update size: 45 KB uncompressed | 18 KB transfer (via USB or LINK)ROW 19: Estimated time: 8 seconds (USB) or 30–60 seconds (LINK protocol)ROW 20: New RELAY BOUNTY: "Complete 2 new ICE BREAKER templates" (300 ¤ bonus)ROW 21:ROW 22: [CAR=view manifest] [EVAL=download now] [BACK=defer]ROW 23: RELAY MODULE | UPDATE READY | REPUTATION: 15 | Credits: 2,250Screen 2: SCAN Phase — Download Progress
Section titled “Screen 2: SCAN Phase — Download Progress”ROW 0: RELAY > DOWNLOAD (SCAN PHASE) [8 seconds]ROW 1:ROW 2: Contacting Edgeware firmware servers...ROW 3:ROW 4: ┌─────────────────────────────────────────────────────┐ROW 5: │ Progress: [████████████░░░░░░░░░░░░░░░░░░░░░░] │ROW 6: │ 50% (3.2 KB / 7.1 KB transferred) │ROW 7: └─────────────────────────────────────────────────────┘ROW 8:ROW 9: TRANSFER DETAILS:ROW 10: Protocol: USB HID bulk transfer (9600 baud equivalent)ROW 11: Data source: Edgeware v1.3 stable releaseROW 12: Current speed: ~400 bytes/secROW 13: Time remaining: ~4 secondsROW 14:ROW 15: AUDIO STATE:ROW 16: Voice 1: 220 Hz rising slowly (transfer in progress)ROW 17: Voice 2: IdleROW 18: Voice 3: IdleROW 19:ROW 20: (Do not remove cartridge or power off device during transfer)ROW 21:ROW 22: [SYS=abort download]ROW 23: RELAY SCAN PHASE | TRANSFERRING UPDATE | STAND BYScreen 3: EVALUATE Phase — Manifest Browser
Section titled “Screen 3: EVALUATE Phase — Manifest Browser”ROW 0: RELAY > UPDATE v1.3 MANIFEST (EVALUATE PHASE) [Rep: 15]ROW 1:ROW 2: ▼ NEW MISSION TEMPLATESROW 3: ┌─ ICE BREAKER ──────────────────────────────────────────┐ROW 4: │ [>] 4 new PENETRATION templates (financial networks) │ROW 5: │ Estimated new play time: 12–16 hours │ROW 6: │ Includes: Bank servers, trading floors, wire nodes │ROW 7: └───────────────────────────────────────────────────────┘ROW 8:ROW 9: ┌─ NODESPACE (collapsed) ────────────────────────────────┐ROW 10: │ [ ] 1 new opponent personality (ASYMMETRIC Phase 3) │ROW 11: └───────────────────────────────────────────────────────┘ROW 12:ROW 13: ┌─ CIPHER GARDEN (collapsed) ────────────────────────────┐ROW 14: │ [ ] 20 new Vigenère + substitution puzzle variants │ROW 15: └───────────────────────────────────────────────────────┘ROW 16:ROW 17: ▼ BALANCE PATCHROW 18: Threat 5 payout: ×1.10 → ×1.15 (+5% revenue increase)ROW 19: Threat 6 payout: ×1.30 → ×1.40 (+10% revenue increase)ROW 20:ROW 21: ▼ CIPHER VOCABULARY (collapsed)ROW 22: ▼ COMMUNITY CONTENT (3 submissions, collapsed)ROW 23: [CAR=expand] [CDR=next section] [INFO=detailed] [EVAL=apply] [BACK=defer]Screen 4: APPLY Phase — Installation Progress
Section titled “Screen 4: APPLY Phase — Installation Progress”ROW 0: RELAY > APPLYING UPDATE v1.3 [In Progress]ROW 1:ROW 2: Installing nOSh runtime version 1.3...ROW 3:ROW 4: Please keep device powered.ROW 5: Do not remove cartridge.ROW 6: This may take 5–10 seconds.ROW 7:ROW 8: ┌───────────────────────────────────────────────────────┐ROW 9: │ Progress: [██████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░] │ROW 10: │ 35% (writing mission templates to memory) │ROW 11: └───────────────────────────────────────────────────────┘ROW 12:ROW 13: OPERATIONS IN PROGRESS:ROW 14: ✓ Unpacking archiveROW 15: ✓ Verifying signaturesROW 16: • Writing mission templates to cartridge memoryROW 17: ⊙ Advancing Cipher seed for voice variationROW 18: ⊙ Merging balance patch parametersROW 19: ⊙ Integrity verification pendingROW 20:ROW 21: AUDIO STATE:ROW 22: Voice 1: Idle | Voice 2: 330 Hz pulses (verification checks) | Voice 3: NoiseROW 23: RELAY APPLY PHASE | WRITING UPDATE | STAND BY (DO NOT INTERRUPT)Screen 5: VERIFY Phase — Installation Complete
Section titled “Screen 5: VERIFY Phase — Installation Complete”ROW 0: RELAY > UPDATE APPLIED SUCCESSFULLY [v1.3 Active]ROW 1:ROW 2: ╔════════════════════════════════════════════════════════════╗ROW 3: ║ INSTALLATION COMPLETE ║ROW 4: ╚════════════════════════════════════════════════════════════╝ROW 5:ROW 6: UPDATE VERIFICATION RESULTS:ROW 7: ✓ Signature verification: PASSED (Edgeware 0xA2C4 auth valid)ROW 8: ✓ CRC-32 checksum: PASSEDROW 9: ✓ Mission template structures: VALID (4 new templates, 12 fields each)ROW 10: ✓ Cipher seed advancement: COMPLETE (LFSR position: 0x4A3F)ROW 11: ✓ Deck state written to flash: PERSISTEDROW 12:ROW 13: NOSH RUNTIME STATUS:ROW 14: Version: v1.3 (released 2026-04-10)ROW 15: Installed: 2026-04-15 20:34 UTCROW 16: Deck state: UPDATED and persistentROW 17: Next update check: 2026-05-10ROW 18:ROW 19: NEXT STEPS:ROW 20: Load any cartridge to see new RELAY BOUNTY contracts on the mission board.ROW 21: Complete them for bonus credits and exclusive content access.ROW 22:ROW 23: [EVAL=return to bare deck] [BACK=view manifest again]Screen 6: SHARE Phase — Peer-to-Peer Transmission (Host)
Section titled “Screen 6: SHARE Phase — Peer-to-Peer Transmission (Host)”ROW 0: RELAY > TRANSMIT UPDATE TO PEER [v1.3 → Peer]ROW 1:ROW 2: You have: v1.3 (stable, released 2026-04-10)ROW 3: Peer has: v1.2 (awaiting upgrade)ROW 4:ROW 5: PEER-TO-PEER LINK STATUS:ROW 6: ┌────────────────────────────────────┐ROW 7: │ Waiting for peer connection... │ROW 8: │ [Listening on LINK port 9600 baud]│ROW 9: └────────────────────────────────────┘ROW 10:ROW 11: WHEN PEER DEVICE DISPLAYS "RECEIVE UPDATE FROM PEER":ROW 12: 1. Ensure both devices are physically close (< 2 meters)ROW 13: 2. Verify LINK cable is connected (9-pin serial)ROW 14: 3. Press EVAL below to begin transmissionROW 15:ROW 16: TRANSFER SPECS:ROW 17: Package size: 18 KB (compressed)ROW 18: Estimated time: 30–60 seconds at 9600 baudROW 19: Encryption: ECDH shared key (both operators' handles + serials)ROW 20:ROW 21: BONUS: Both operators receive +50 ¤ "Shared Knowledge" bountyROW 22:ROW 23: [EVAL=send update] [BACK=cancel] [INFO=link protocol]Screen 7: New Content Discovery — Mission Board
Section titled “Screen 7: New Content Discovery — Mission Board”ROW 0: ICE BREAKER > MISSION BOARD [Post v1.3]ROW 1:ROW 2: AVAILABLE CONTRACTS (5 active, 1 new)ROW 3: ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ROW 4:ROW 5: [>] RELAY BOUNTY: NEW FINANCIAL NETWORKS [BONUS CONTRACT]ROW 6: Complete 2 of the 4 new ICE BREAKER financial templatesROW 7: Reward: 300 ¤ (bonus) + base payout from templatesROW 8: Est: 20–30 minutesROW 9:ROW 10: [ ] FINANCIAL PENETRATION: BANK A [NEW TEMPLATE]ROW 11: Multi-node bank server network (threat 2–3)ROW 12: Reward: 650 ¤ | Est: 15 minROW 13:ROW 14: [ ] FINANCIAL PENETRATION: TRADING FLOOR [NEW TEMPLATE]ROW 15: High-speed derivative trading network (threat 2)ROW 16: Reward: 500 ¤ | Est: 12 minROW 17:ROW 18: [ ] FINANCIAL PENETRATION: WIRE SERVICE [NEW TEMPLATE]ROW 19: International transaction routing (threat 3)ROW 20: Reward: 720 ¤ | Est: 18 minROW 21:ROW 22: [ ] STANDARD PENETRATION: CORPORATE OFFICE [EXISTING]ROW 23: [CAR=select] [CDR=next] [INFO=details] [SYS=menu] [EVAL=bid]Screen 8: Version History & Archive Access
Section titled “Screen 8: Version History & Archive Access”ROW 0: RELAY > VERSION HISTORY [Installed v1.3]ROW 1:ROW 2: NOSH RUNTIME VERSIONS INSTALLED ON THIS DEVICEROW 3: ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ROW 4:ROW 5: [>] v1.3 (current) released 2026-04-10 | installed 2026-04-15 22:14ROW 6: 4 new ICE BREAKER templates, balance patch, community contentROW 7: Size: 45 KB | Status: ACTIVEROW 8:ROW 9: [ ] v1.2 (previous) released 2026-04-02 | installed 2026-04-10 18:30ROW 10: NODESPACE new opponent, CIPHER GARDEN content, balance patchROW 11: Size: 52 KB | Status: ARCHIVED (available for rollback, not recommended)ROW 12:ROW 13: [ ] v1.1 released 2026-03-10 | installed 2026-03-15ROW 14: Initial RELAY release, VAULT entries, balance tweaksROW 15:ROW 16: [ ] v1.0 released 2026-02-15 (shipped with hardware)ROW 17: Base firmware with 4 cartridges, RELAY module, initial mission templatesROW 18:ROW 19: ARCHIVE NOTE:ROW 20: Previous versions are archived but NOT automatically deleted. Device storage:ROW 21: 2.1 MB used of 4 MB available. Oldest version can be deleted to free space.ROW 22:ROW 23: [CAR=version details] [INFO=archive info] [BACK=return]END SPECIFICATION
CIPHER-LINE Contributions
Section titled “CIPHER-LINE Contributions”Relay’s voice: communications operator in a quiet shack, logging traffic. Short traffic-style bulletins. Edgeware Systems publisher → Corporate neutral.
Vocabulary Pools
Section titled “Vocabulary Pools”(:subject "packet" "pack" "manifest" "signature" "update" "submission" "hash" "chain" "feed")(:object "integrity" "mark" "bundle" "digest" "entry")(:location "channel" "feed" "pipe" "queue" "log")(:verb-present "arrives" "verifies" "holds" "stages" "applies" "syndicates")(:verb-past-participle "verified" "applied" "refused" "queued" "archived")(:memory-keyword "pack" "submission" "signature" "chain" "feed")(:affect-word "clean" "signed" "unsigned" "ragged" "fresh")Production Fragments
Section titled “Production Fragments”(:mode-observe (3 (:subject) ". " (:affect-word) ".") (2 (:location) " " (:verb-present) ".") (1 "verified."))
(:mode-annotate (3 "pack " (:affect-word) ".") (1 "signature clean.") (1 "unsigned."))
(:mode-reflect (3 "same feed. " (:memory-fragment)) (2 "this submitter. " (:memory-fragment)))
(:mode-drift (2 "a pack that broke the audit.") (1 "community puzzle from summer."))
:event-types ((:type :pack-received :affect (:routine)) (:type :pack-verified :affect (:significant)) (:type :pack-refused :affect (:tense :anomalous)) (:type :grammar-extended :affect (:significant)))Mode-Weight Biases
Section titled “Mode-Weight Biases”| Beat | observe | annotate | reflect | drift | silent |
|---|---|---|---|---|---|
:mission-brief | +0.05 | +0.05 | — | — | — |
:active-hack (apply) | +0.05 | — | — | — | +0.05 |
:phase-transition (pack applied) | — | — | +0.10 | — | — |
Runtime Grammar Extension
Section titled “Runtime Grammar Extension”Relay is the primary runtime caller of (cipher-extend-grammar ...). Content packs may ship additional vocabulary, productions, and even new event types. When a pack is applied, Relay calls cipher-extend-grammar in the :mission-brief or :bare-deck beat (the framework forbids it during :active-hack). A successful extension pushes an event:
(:event :type :grammar-extended :tag :relay :t ... :affect (:significant) :target "<pack-id>")Cipher’s next tick then observes this as grammar grew. or similar. The operator hears the voice acknowledge the expansion.
Structurally Important Moments Preserved on CIPHER-LINE
Section titled “Structurally Important Moments Preserved on CIPHER-LINE”| Beat | Intent | CIPHER-LINE fragment(s) |
|---|---|---|
| Pack received | ”Pack inbound. Signature pending.” | pack. inbound. |
| Signature verified | ”Signature clean. Ready to apply.” | signed. |
| Pack refused | ”Signature rejected. Unsigned pack.” | unsigned. refused. (anomalous) |
| Grammar extended | (voice itself notes the change) | grammar grew. |
| Community submission shipped | ”Kit published. Operator catalog updated.” | shipped. |
nEmacs Contributions
Section titled “nEmacs Contributions”Per ADR-0016 (nEmacs + REPL + Input Model), each cart declares what its scripted-mission surface looks like — grammar fragments contributed to the predictive palette, domain vocabulary that earns the +5 ranking boost (ADR-0016 §7), whether it uses prompt-text for raw text entry (§8), and whether any of its keys bind :double-tap or :long-press events (§9). Relay’s role as the platform maintenance engine makes it the heaviest nEmacs contributor of all 14 launch carts. Where Relay contributes Cipher grammar at runtime (via the existing cipher-extend-grammar), it now mirrors that with a symmetric emacs-extend-grammar path — content packs ship nEmacs grammar extensions that ride the same distribution rails.
Scripted Missions?
Section titled “Scripted Missions?”Yes — routing logic and messaging scripts. Relay’s scripted-mission surface has two faces:
- Routing logic — the operator authors predicates that decide whether an incoming pack should be auto-applied, deferred, or refused. The default firmware-provided predicates are conservative; high-rep operators write their own (
(prefer-signed-by? pubkey),(quarantine-if-unverified)). - Messaging — Relay is the cart where operators compose messages to peers over LINK. Message composition happens in nEmacs +
prompt-text(§8), and common operator-authored templates get saved as scripted-mission forms.
Scripted missions remain optional on the critical path (ADR-0002). A low-rep operator accepts firmware defaults for both routing and messaging; the platform is fully usable without writing a line of Lisp.
Typical scripted-mission shapes:
(on-pack-inbound (if (signed-by? :known) (apply) (queue)))— auto-apply handler.(compose-to "friend-handle" (template :invite))— messaging helper.(pack-filter (:min-rep 5))— routing predicate.(content-pack-manifest pack-id)— inspection primitive.
Cart Grammar Fragments
Section titled “Cart Grammar Fragments”Relay’s grammar contribution is the largest of any launch cart because it’s also the distribution channel for community grammar. Content packs themselves may carry emacs-extend-grammar blocks that Relay merges into the running grammar arena at pack-apply — the §7 FFI runs at pack-apply as well as cart-load. Relay’s baseline contribution:
(emacs-extend-grammar ;; Pack management (pack (id)) ; returns pack record (pack-manifest (id)) ; full metadata + file list (pack-signature (id)) ; signature status (pack-provenance (id)) ; origin trail (apply-pack (id)) (defer-pack (id)) (refuse-pack (id :reason string)) (quarantine (id)) ;; Routing (on-pack-inbound (&body handler)) (on-pack-apply (&body handler)) (pack-filter (&key :min-rep :signed-by :publisher)) (signed-by? (pack :key)) ;; Peers / LINK (peers) (peer (handle)) (link-status) (broadcast (message-form &key :reach)) (announce-cart (cart-id)) ;; Messaging (uses prompt-text for body) (compose-to (handle template)) (reply-to (message-id template)) (template (name)) ;; Community (catalog) (bounty-submission (&key :title :body :payload)) (publish-kit (kit-id)))Vocabulary Contribution
Section titled “Vocabulary Contribution”Via (emacs-extend-vocabulary ...). Distribution / community / firmware domain:
(emacs-extend-vocabulary "pack" "manifest" "signature" "signed" "unsigned" "apply" "defer" "refuse" "quarantine" "verify" "peer" "link" "broadcast" "announce" "handshake" "catalog" "kit" "bounty" "submission" "publish" "firmware" "patch" "version" "release" "channel" "upstream" "mirror" "relay" "propagate" "compose" "reply" "template" "message" "inbox" "rep" "pubkey" "trust" "authenticity")Relay is also the only cart that may inject vocabulary from an applied content pack. A Kōji Interactive Nodespace pack shipped via Relay can extend Relay’s active vocabulary with Go-board terms while that pack is installed. Relay tracks pack-contributed vocabulary as a separate arena so it can be evicted on pack-remove.
prompt-text FFI Usage
Section titled “prompt-text FFI Usage”Yes — heavy use. Relay is the second-heaviest prompt-text caller after Cipher Garden, across five identified call sites:
| Call site | Purpose | Typical length |
|---|---|---|
| Message compose | Body of a peer message | 20–500 chars (paginated if long) |
| Peer handle entry | Address a message to a handle not in the catalog | 3–8 chars |
| Pack search | Free-text search over available packs | 1–30 chars |
| Bounty title | Title for a community submission | 5–60 chars |
| Kit description | Short description when publishing a kit | 10–200 chars |
Message compose is the most intensive use and is the forcing function for the ADR-0016 §6 note that Nokia multi-tap may need autocomplete or prediction tuning if operators actually use Relay for central messaging. Initial playtest will tell us if 500-char messages are usable with plain multi-tap or if prediction is a v1.1 priority.
Double-Tap and Long-Press Bindings
Section titled “Double-Tap and Long-Press Bindings”Relay opts into ADR-0016 §9:
| Key | :tap | :double-tap | :long-press |
|---|---|---|---|
INFO | preview-pack — show pack summary | preview-deep — full manifest + diff against current state | verbose-log — provenance + signature chain + propagation history |
CAR | open-pack — browse pack contents | open-pack-diff — side-by-side with current state | — |
QUOTE | mark-trusted — flag peer / pack as trusted | — | untrust-all-since — bulk untrust back to a chosen point |
EVAL | apply-pack / send-message (context-dependent) | — | — |
CONS | add-to-batch — queue for bulk operation | — | show-batch — list queued items |
Row 24 renders e.g.: INFO:PREV INFO²:DEEP INFO…:LOG CAR:OPEN EVAL:APPLY QUOTE:TRUST.
Context-Polymorphic Key Semantics (Cart Gameplay)
Section titled “Context-Polymorphic Key Semantics (Cart Gameplay)”Relay has four primary cursor contexts: inbox (pending packs/messages), catalog (available content), compose (writing messages), peers (LINK roster):
| Key | Inbox | Catalog | Compose | Peers |
|---|---|---|---|---|
INFO | preview-pack | preview-listing | show-template-info | peer-stats |
CAR | open-pack | open-listing | insert-template-slot | drill-into-peer |
CDR | next-item | next-listing | next-field | next-peer |
CONS | batch-queue | add-to-wishlist | insert-quote | add-to-contacts |
EVAL | apply | download | send | ping-peer |
QUOTE | flag | flag-publisher | save-as-template | trust-peer |
BACK | exit-inbox | exit-catalog | discard-compose | exit-peers |
| Numpad | item-select | result-select | Nokia multi-tap | peer-select |
The compose context is where Nokia multi-tap (§6) is most active — numpad keys 2–9 become A–Z cycles per §6, KEY_DOUBLE_TAP is suppressed on numpad per the disambiguation rule in §6/§9, and CIPHER-LINE Row 4 echoes the composition.
When the operator opens nEmacs (via SYS → Edit) to author a routing predicate, dispatch yields to :nemacs-nav — same pattern as other carts.