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

museum-identity-pass.md



MEMORY

memory/project-C--Dev--RobCo--RobCo-Archive/museum-identity-pass.md

sha256 d3399275da3e7d90 · 3335 bytes · original held in the private archive

--- name: museum-identity-pass description: "Owner PICKED Direction B (Records Office) 2026-07-21; dark twin ('after hours') built for all 4 views in museum/design/2026-07-identity-pass/ and recommended as the single identity — light-vs-dark awaiting owner" metadata: node_type: memory type: project originSessionId: f5f4466d-749c-41e5-bee0-888ea2941635 modified: 2026-07-21T18:04:57.907Z --- 2026-07-21: owner picked **Direction B — Records Office** ("okay go with B"); A and C are closed. Same day, the withheld dark twin was built for all four views (`*-records-dark.html` in `museum/design/2026-07-identity-pass/`), plus a deliberately-weak lamplit study (`01-…-lamplit.html`, kept as evidence that the dim-paper middle option fails). Verified at 360/412 px via Playwright (playwright lives in the APP repo's node_modules, not the archive's); every text pair in both new palettes computed ≥4.5:1. **Why:** owner reads almost exclusively at night on a phone. Key design fact, measured: light B's lightbox effect comes from ADJACENCY, not the global field — dark window vs dark card is 1.4:1 (a hole), cream mount vs card is 8.6:1 (an object). So the dark twin is a two-layer transposition, not an inversion: room goes dark slate (#262823/#2f312a, cream ink), while paper that IS an exhibit object stays lamplit buff (mats #d9d0b6, chart tape #ddd4ba with its original deep ink). Stamps do NOT survive unchanged (#a03123 is 1.97:1 on dark → #e87f63). Phosphor would pass as text on the dark ground (11.3:1) but stays confined to instrument windows — container text in phosphor would put the terminal costume back on. **How to apply:** recommendation on record in the folder README — dark twin as the SINGLE identity (no toggle/prefers-color-scheme: a second skin kept correct forever fails the mechanism-must-earn-existence discipline; the light twin stays in the folder as a finished fallback decision). Owner has not yet chosen light vs dark. Whichever wins, implement in generate.mjs as static output; the folder README carries all carried-forward flags. Related: [[museum-no-bezel-own-identity]], [[museum-visual-design-pass]], [[museum-path-based-naming-and-redirects]]. **IMPLEMENTED 2026-07-21 (commit efe9827, local only).** Dark twin shipped in `museum/generate.mjs` as the single live identity — self-contained CSS (no app-CSS reuse, no `--robco-*` tokens), `shell()` rewritten to drop `.machine/.bezel/.navkey/.glass-frame/.crt-overlay` entirely. Existing content class names (`.changelog-*`, `.bay-*`, `.mz-*`) kept as structural hooks and fully reskinned rather than renamed, so rooms/standing/graveyard/search/docs inherited the identity without a body-HTML rewrite. Same session then rebuilt the lobby as the vault ledger, the growth page as the strip-chart tape (real new daily-commits series, `collectDailyCommits()`), added Intent vs Reality (flip + plaque only, curated pairs in `museum/accounts/intent-pairs.json`), and wired the Bug Museum (see [[bug-museum-data-layer]]). Verified via the app repo's Playwright at 360/412px, contrast recomputed per new color pair (all ≥4.5:1), double-fresh-clone regeneration byte-identical. See [[museum-generator-2026-07-21-implementation]] for the full session account and what it deliberately left undone (release-pinned reality captures).
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).