GENERATED VIEW · PRIVATE ARCHIVE · DO NOT SERVE
RobCo Industries · Archive Museum

HOUSE_STANDARD.md



STANDING

planning/_standing/HOUSE_STANDARD.md

sha256 b57ceb51e69f743f · 6327 bytes · original held in the private archive

# RobCo U.O.S. — HOUSE STANDARD (derived canon) > Derived from the strongest existing in-world surfaces in the v2.6.0 codebase (not imposed). > Where the code contradicts itself, the **strongest / most-used** form wins and is locked here. > This is the yardstick `DIEGETIC_AUDIT.md` measures everything against. Untracked planning doc. ## 0. Canon anchors (the surfaces that already nail it) - **Boot sequence** (`ui-audio.js:655` `runBootSequence`): `> ROBCO INDUSTRIES (TM) UNIFIED OPERATING SYSTEM` / `COPYRIGHT 2075-2077` / `64K RAM SYSTEM | 38911 BYTES FREE` / `MEMORY CHECK.................. [OK]` / `SECURE LINK ESTABLISHED. BOOTING...`. **This is the canonical voice.** - **Panel headers**: `> BIO-METRICS`, `> BIO-SCAN & LIMB STATUS`, `> BACKPACK INVENTORY`, `> SKILL MATRIX`, `> QUEST LOG`, `> FACTION STANDING`, `> KARMA CENTER`, `> SESSION STATISTICS`, `> WORLD MAP`, `> CAMPAIGN CONFIGURATION`. - **Error register**: `⚠ [SYS-ALERT: DATA CORRUPTION]`, `[SYS-ALERT: INSUFFICIENT TELEMETRY]`, `⚠ FATAL EXCEPTION AT 0x####`, `⚠ [SAFETY NET] … IRREVERSIBLE …`, `⚠ [FACTION ALERT] … HOSTILE ENGAGEMENT EXPECTED`. - **Action labels**: `> TRANSMIT PROTOCOL`, `> REBOOT TERMINAL`, `WIPE TERMINAL`, `[COMMAND]`-bracket verbs (`[CRAFT]`, `[VISUAL UPLOAD]`, `[TIMELINE]`, `[VATS]`). - **`<title>`**: `RobCo U.O.S. 2.6.0 - Optics Enabled`. **PWA name** `RobCo U.O.S.` / **short_name** `RobCo` (version-less by protocol). - **Persona** (`getSystemDirective`): *"Rigid, efficient, professional RobCo interface."* Gem = Mind (Director); User = Courier (Body). ## 1. Voice & register (LOCKED) 1. **`> ` prompt prefix** on system lines, status messages, and primary action buttons (boot, sys chat, `> TRANSMIT PROTOCOL`, `> REBOOT TERMINAL`). 2. **ALL-CAPS** for chrome: headers, labels, status, buttons, system messages, empty/loading/error states. (Sentence-case is the modern-web tell to eliminate.) 3. **Bracketed status/tags**: `[OK]`, `[SYS-ALERT: …]`, `[FACTION ALERT]`, `[SAFETY NET]`, `[EXPIRING]`, `[VISITED]`, `[CURRENT]`. 4. **Period-leader progress**: `RETRIEVING ARCHIVES.......... [OK]`. 5. **Machine register** — terse, clipped, imperative; **no pleasantries** ("please", "sorry", "Oops", "Welcome"). Faults are stated, not apologized for. 6. **`⚠` glyph** prefixes warnings/alerts; FATAL faults read as hardware exceptions. 7. **Retro-hardware diction**: TERMLINK, U.O.S., OPTICS, vacuum-tube, phosphor, SECURE LINK, RAD, CLEARANCE, OVERSEER. 8. **Box-drawing dividers** `─────` (already used in boot). ## 2. Palette & type (LOCKED — from `:root`) | Token | Value | Use | |---|---|---| | `--robco-green` | `#14fdce` | primary phosphor (OPTICS-swappable theme) | | `--robco-alert` | `#f39c12` | amber — warnings, expiring, mid-tier | | `--robco-danger` | `#e74c3c` | red — faults, destructive, negative rep | | `--robco-blue` | `#3498db` | COMM-LINK / cloud accents | | bg | `#010a07` / `--robco-dark #021c14` | near-black CRT field | | `--robco-glow` | `0 0 6px …0.6` | phosphor bloom | - **Monospace** ('Courier New'); CRT scanline overlay; phosphor glow; `>` prompts; ASCII/box-drawing — **nothing a 2077 CRT couldn't render** (no gradients-as-decoration, no modern card shadows, no emoji except the established `⚠`/`⚙`/optics glyphs). - **Color is "OPTICS", never "dark mode."** Theme switch = "OPTICS COLOR", not "theme/appearance." ## 3. Type/usability rules that GATE any fix (non-negotiable) - Focusable inputs render **≥16px** (auto-zoom guard); **≥28px** tap targets. - Phosphor palette must keep **AA contrast** (any reframed text on the dark field). - **Keyboard nav + focus order** preserved; **ARIA labels / alt text stay literal & clear** (NOT diegetic — a screen reader says "Strength input", never "S.P.E.C.I.A.L. core"). - **CRT motion (flicker/scanline/type-out/pulse) MUST honor `prefers-reduced-motion`.** *(Currently it does not — see audit CR-1.)* ## 4. LOCKED TERMINOLOGY TABLE (the in-world word for each concept) | Concept | USE (canon) | AVOID (modern tell) | |---|---|---| | The product / device | **TERMINAL**, RobCo U.O.S., TERMLINK | "the app", "the site", "web app" | | Operating system | **UNIFIED OPERATING SYSTEM (U.O.S.)** | — | | The AI director | **GEM** / **THE DIRECTOR** / DIRECTOR LINK | "the AI", "Gemini" *(in narrative)* | | Chat surface | **COMM-LINK** | "chat", "messages" | | Send a message | **> TRANSMIT PROTOCOL** / TRANSMIT | "send", "submit" | | Settings/config | **CAMPAIGN CONFIGURATION** / TERMINAL CONFIGURATION | "settings", "preferences", "options" | | Account/sign-in | **ACCOUNT** + **UPLINK** framing | "sign in", "log in", "profile" | | Cloud save | **CLOUD ARCHIVE** / **TELEMETRY UPLINK** | bare "cloud", bare "sync" | | Local save | **SAVE SLOT** / **ARCHIVE** | — | | Loading | **RETRIEVING… / DECRYPTING… / ESTABLISHING LINK…** | "Loading…", spinner | | Empty list | **NO ENTRIES IN MEMORY** / **ARCHIVE EMPTY** / **NO ACTIVE DIRECTIVES** | "No items", "Nothing here" | | Error | **⚠ [SYS-ALERT: …]** / **⚠ FATAL EXCEPTION** | "Error:", "Something went wrong", "Oops" | | Success | **[OK]** / **SYNC COMPLETE** / **TELEMETRY PROCESSED** | "Success!", "Done ✓" | | Update / refresh | **FIRMWARE UPDATE** / **> REBOOT TERMINAL** | "new version available", "refresh" | | Image upload | **> VISUAL UPLOAD** / OPTIC SCAN | "upload", "attach" | | Stats screen | **BIO-METRICS** / **S.P.E.C.I.A.L.** | "stats page" | | Inventory | **BACKPACK INVENTORY** | — | | Skills | **SKILL MATRIX** | — | | Map | **WORLD MAP** / REGIONAL ZONE MAP | — | | Delete / reset | **PURGE** / **WIPE TERMINAL** | "delete", "clear", "reset" | | Confirm destructive | **CONFIRM TERMINAL WIPE** / **CONFIRM PURGE** | "Are you sure?" | | Diagnostics log | **CLIENT ERROR LOG** / **[LOGS]** | "console", "debug" | ## 5. The two registers (don't cross them) - **DIEGETIC layer** (everything the Courier reads): obeys §1–§4. - **LITERAL layer** (a11y + a handful of real-world config the user genuinely needs): ARIA/alt text, and the **Gemini API key field label** (the user must know it's *their Gemini key* to paste the right value). These stay plain and clear. When a concept lives in both, the visible chrome is diegetic and the ARIA/label is literal — see audit TENSION items.
STAMP · generated for RELEASE v2.8.5 commit 06e5180 (06e51801b38a) · archive input-tree hash c07fbfbdd2e1ddeb · 754 files · no wall-clock timestamp (regenerates identically when nothing changed).