docs/ — Index¶
Map of everything under docs/, with freshness flags so agents and humans
know what to trust. Agent-facing guides live at the repo root
(CLAUDE.md, AGENTS.md) and in each major
directory’s CLAUDE.md.
This tree also builds as a Sphinx/MyST site for Read the Docs — conf.py,
requirements.txt and index.md (the landing page + nav) here, with
.readthedocs.yaml at the repo root. Build it locally with:
pip install -r docs/requirements.txt
python -m sphinx -b html docs docs/_build/html
New Markdown files are picked up by the globbed toctrees in index.md
automatically; a file needs an # H1 to get a nav entry.
The site is published in the same 16 languages as the product — see
translations.md for the pipeline, the translated-page
subset, and the Read the Docs per-language project setup.
Trust order for conflicts: code > docker-compose.yml/deploy.sh >
root CLAUDE.md / directory CLAUDE.mds > the reference docs below > dated
design docs/plans (historical snapshots — they describe intent at the time of
writing, not necessarily the current code).
Reference docs (keep current)¶
Doc |
Contents |
|---|---|
What the site consists of — hand-written area guides (social, economy, content, games/apps) plus generated inventories of every page route, API route, game and app ( |
|
Canonical code-layout overview: stack, repo layout, conventions, where to look first |
|
Runtime topology + deploy pipeline: what runs where in production, images, CI, ports, auth across tiers |
|
Test suites (Vitest main + epic, Go Bazel), how to run them, and which CI workflows gate them |
|
Performance guardrails: bundle budgets, synthetic probes, RUM SLO bands, and rollback trigger policy |
|
|
The statement of the design language (repo root) — what Radial Avant-Garde Glass is, why, and the laws behind it, with no values that move. Read it first; the two below are the build manual and win on any conflict |
The visual system in detail — the radial shell / hub / liquid globe / wheel-feed architecture and the Apple-style Liquid Glass material rendered on it: |
|
Checklist + recipes for building pages that look native |
|
The commit gate ( |
|
|
The radial UI module: the shell frame, the globe’s gesture/ripple/physics rules, the metaball layer’s removal, and the measured frame-rate findings that constrain both signature interactions |
Link previews: the card design (the globe, in ink on white), the |
|
Universal search: the nine corpora, the recall/precision two-stage design, the shared 0..1 relevance scale and confidence bands, and the gated DeepSeek query-expansion fallback |
|
Advertising: the five conditions under which an ad may render (publisher id, cookie consent, non-paid tier, allowed path, not in Discord), the manual-placement design and why not Auto ads, the two build-time variables and the four files each has to be threaded through, the CSP additions, and a blank-unit debugging order |
|
RMH Capital leadership (canon) — the firm’s executive committee and six business heads, their titles and remits, plus the rules for writing them |
|
The developer API documentation — guides plus a generated endpoint reference ( |
|
Albums storage architecture (DB + R2/S3) |
|
Coin economy design (implementation plan, largely shipped) |
|
Slice It: the beatmap analyser (SuperFlux onsets, comb-filtered tempo, DP beat tracking, nested difficulty budgets), the multiplayer state machine and its two disconnect grace windows, the pause/resume rules, storage and quotas, and the scoring the score endpoint bounds submissions against |
|
What of Slice It you can actually reach. |
|
Slice It chart editor design (idea |
Operations¶
Location |
Contents |
|---|---|
Current operational runbooks: Go runtime cutover (2026-06-22), Go fleet steady-state deploy (2026-06-23), assets/CDN cutover, and web hotswap rollback (flip Apache back to the previous blue/green color). Follow these for deploy/rollback work. |
|
The Go+Bazel migration book: |
|
Security audits/reports ( |
|
Optimization/build-speed audits and plans (mostly executed) |
Plans & specs (dated snapshots — check dates before trusting)¶
Location |
Contents |
|---|---|
Bum’s Rush — game design & implementation document (2026-08-08): the full spec for a 2–4 player hand-drawn physics party game at |
|
Slice It! feature & update ideas (2026-08-06, revised same day against the two Slice It commits on |
|
The Next 100 (2026-08-05, round eight): 112 ideas in six sections — AI integration (A1–A20), quality of life (B1–B24), consolidation (C1–C14), deduplication & refactoring (D1–D15), future-proofing (E1–E15) and new surfaces (F1–F24) — deliberately excluding every idea in the seven prior plan docs. Two findings reframe the AI section: a real 3-provider abstraction (DeepSeek/OpenAI/Anthropic) already exists at |
|
65 catalogued optimization ideas (2026-08-05), each verified as NOT already implemented before being written down — the “Evidence” line of every entry names the file that proves the gap. Covers the critical path and CI budgets, CSS delivery ( |
|
Untapped feature ideas (2026-08-04, round two): thirteen features in the places the other seven plan docs share a blind spot for — the app tier (RMHType per-key analytics, RMHLadder application autofill + interview prep, RMHHomes commute-time and affordability filters; none of these apps has ever appeared in a plan doc despite RMHLadder being the schema’s largest subsystem at 26 models), the messenger (DMs have no |
|
Competitive feature gaps (2026-08-04): feature generation framed as parity against the products each tier competes with (Steam/itch for the arcade, Twitch/YouTube for the watch tier, Anki/Quizlet for study, Steam/Netflix for recommendations). Opens with two registry defects, both since fixed on the branch — 18 shipped namespaces missing from |
|
Feature generation & frontend consolidation (2026-08-03): the consolidation half is the substance — nine surfaces where a fold was started and left half-landed ( |
|
Feature gap ideas (2026-07-31): 24 ideas ranked with gap evidence, clustered in safety/compliance under the money-adjacent economy (age assurance, appeals, visibility tiers, keyword mutes, transparency report), platform ops (feature flags — the doc’s own highest-leverage item, status page, changelog), economy depth (auctions, faucet/sink dashboard, crafting, gift cards), games infra (unified matchmaking + anti-cheat, spectating), discovery (semantic search, RSS/ActivityPub, importers) and a11y/i18n. Appeals have since landed; feature flags have not |
|
Parity, QOL & customization design (2026-07-20): sixteen features in four pillars — parity must-haves from comparable platforms (lists/custom feeds, unified saves with folders, history & resume, game hubs with reviews + player guides, post awards, wishlists), social & presence (rich presence + friends rail, custom status, close-friends circle, modular profile showcase), QOL & user customization (appearance/accessibility suite, user-authored theme studio + theme economy, home/sidebar layout control, notification matrix + quiet hours, feed controls), and universal search v2. Verified gap inventory, data models, wave prioritization, KPIs. Companion to the 2026-07-15 and 2026-07-19 docs |
|
Platform expansion design (2026-07-19): twelve features specified as deltas over shipped systems — Arcade Pass (per-game daily challenges), Creator Studio (multi-tier memberships + dashboard), live Spaces, cross-game party system, RMHEvents + RSVP, replays-as-content, P2P cosmetic marketplace, gifting v2, weekly digest email, AI concierge, onboarding “First Week” arc, shareable stat cards. Includes a verified ground-truth inventory of what already exists, data models, wave-based prioritization, KPIs. Companion to the 2026-07-15 doc |
|
Cross-system feature ideas design doc (2026-07-15): six features that compose existing systems — Tournaments Hub, Wager Matches, self-referential prediction markets, creator coin→value bridge, AI personas as residents, unified live-ops season + spectating/”Guess the ___”. Data models, economy loops, prioritization (RMHLadder “Career Mode” excluded — owned separately) |
|
|
UI consistency audits — the 08-01 pass is the most recent over the site tier (token-contract holes, popover legibility, font coherence, and the three CI rules added to close them); 07-28 carries the extended theme × width test matrix |
Why mobile is slower than desktop — the asymmetry, not the total. The current mobile pass, and the one to read before optimising for phones. Answers it structurally: the load cost here is main-thread JS and GPU compositing, the two axes a phone pays 4–6× on, so the same bytes are simply several times more expensive. Two gaps hid it — the RUM beacon had no device dimension (mobile and desktop pooled into one percentile, so a 3× regression read as drift), and every prior audit measured unthrottled desktop Chromium. Both closed. Also found that the site’s two device tiers ( |
|
The current loading/runtime audit — read this before any earlier performance pass, and read its “Corrections to earlier audits” section first: two claims in 08-09 are wrong and would send you the wrong way. Measured against a running production build in a real browser. Found and fixed the actual root cause of the 431 KB lucide icon chunk (four files doing a computed lookup on a namespace import — not the 588-file codemod OPT-10 proposed), zod on the critical path via the catalog, socket.io-client on every page, nine routes blocking first paint on Google Fonts, the H3 |
|
|
Measured performance passes. 08-12 asks where the work runs rather than how much there is: it finds the site had already built a zero-JS scroll-driven reveal ( |
Liquid Glass v2 optics & floating shell design doc (2026-07-21): the rim-glint layer, lens refraction, the two-layer aurora, sheen rebuild, degradation extensions. ⚠️ Its |
|
Sitewide Liquid Glass redesign design doc (2026-07-14): glass as the material system — tokens, elevation tiers, realism/reactivity/performance specs, per-page coverage incl. library/studio/shop/admin, phased rollout. ⚠️ Its reactivity section (the pointer-tracked hotspot) was retired on 2026-08-01 |
|
The main archive of dated design specs + implementation plans (~75 files, |
|
Older dated plan/design pairs (dream-rift, rmhmusic, rmhcode CLI, terraform/helm migration, farming sim) |
|
Full rewrite design & implementation spec (2026-07-18, machine-readable): target architecture, database domain-schema redesign, async backbone, frontend decomposition, exact deletion inventories, and a dependency-ordered task graph (R0–R5) with per-task verify/acceptance/rollback |
|
Scalability & future-proofing audit (2026-07-17): what breaks at 10x–100x users/data across DB, feed/social, caching, realtime, infra, frontend, and security — with a phased roadmap |
|
CI/CD speed audit (2026-07-17): measured timings for the 79-workflow fleet, deploy-pipeline latency breakdown, redundancy map, and phased recommendations (parallel deploy gate, |
|
Build & deploy speed audit (2026-08-08): per-phase breakdown of the post-bake pipeline from real run logs. Finds the build itself is no longer the problem — ~62 s of every deploy was a GHCR cache export running after both images were pushed, with the deploy webhook held behind it. Ships a conditional export, removes the no-op |
|
Cross-cutting audit + phased roadmap (2026-06-30) |
|
Mobile audit — findings implemented 2026-06-29 (historical) |
|
Feed/timeline scaling plan |
Per-feature docs¶
Location |
Feature |
|---|---|
RMHBox party games — largest doc set: |
|
Altair strategy game — implementation, multiplayer, balance patch history |
|
App design docs (rmhtube |
|
|
Game design docs |
Alex, the Discord tamagotchi pet (now implemented in |
|
Generated book projects (architecture textbook; Library content) — content artifacts, not code docs |
⚠️ Known-stale docs (do not trust these claims)¶
These predate the Next.js → TanStack Start migration and/or the Go cutover:
Any reference to a repo-root
specs/directory — it was deleted; the legacy AI-agent game specs it held (vega.mdand friends) are gone with itrmhtube/features.md— 2025 roadmap for a now-shipped app (its stack line is now correct, but it still describes intent rather than the shipped feature set)Older design docs in
rmhbox/,plans/,misc/, and the textbook chapters mention Next.js in historical context — the routes/stack described there map toapp/routes/+ TanStack Start today../go-services/FOUNDATION.md— apkg/API reference; the removedpkg/events/pkg/realtimesections were cut, but treatgo-services/CLAUDE.mdas canonical (go-services/README.mdwas refreshed to the current 3-service-in-prod reality)Anything claiming production runs PM2 — production is Docker Compose with a blue/green web hotswap (see
architecture.md)Anything describing a warm
.vinximodule-graph cache as load-bearing —opti/build-deploy-speedup.md,runbooks/2026-06-23-go-fleet-deploy.mdandci-speed-audit-2026-07-17.mdall treat it as the thing that keeps the Vite build incremental. It never was:.vinxiis a Vinxi artifact and this stack builds through Vite/Nitro, so the mount was always empty. It was removed on 2026-08-08 — seebuild-deploy-audit-2026-08-08.md§2.opti/also predates the move of the image build into CI, so itsdeploy.sh-builds-the-image framing is superseded wholesaleAny design doc describing pointer-tracked optics — a hovered-glass diffuse hotspot, a pointer-parallaxing aurora or ring backdrop,
useGlassLight,usePointerParallax,useCardSheen, a JS-published--light-x/--light-yscene light, or thelib/liquid-glGL/WebGPU shader tier. All of it was deleted on 2026-08-01; the glass answers a static sun and hover is a state, not a coordinate.design-language.md§5.1.1 is the record of what went and why. The twoplans/2026-07-*glass docs and the older audits still describe it as live because they are dated snapshots
Fixed in the 2026-07-29 audit: the stack lines in void-breaker/specs.md,
temple-of-joy/game-design.md and rmhtube/features.md now name TanStack
Start. temple-of-joy/ was rewritten again on 2026-07-30 alongside the game
itself: game-design.md describes the current economy, and the four docs that
described the superseded one (patch-1.md, patch-2.md,
content-expansion.md, implementation-plan.md) were deleted. The repo-root specs/ directory this file used to point at no longer
exists — the reference was removed rather than repaired.
Narrowed in the 2026-08-08 testing audit: the vitest suite no longer covers
gameplay. 180 test files — Slice It’s judgement engine, the RMHBox minigame
rules, and the whole gameplay suites for cookgame / Kowloon Knockout / Dream
Rift / Temple of Joy / Versecraft / Kaikai / laundry-sort / massive-march /
isleworks / nightrail / daily-puzzles / Void Breaker — were deleted to take the
run from ~37s to ~20s. Any game design doc that describes a behaviour as
“covered by tests” is now stale. What survived and why:
testing.md §What is not tested.
Fixed in the 2026-08-08 testing audit: testing.md was rewritten. It had
described a vitest-coverage.yml, an epic-tests.yml and a
typecheck-server.yml that did not exist, counted “~45 workflows” and “~227
test files” against a tree with 10 and 427, and called the epic suite CI-gated
when nothing ran it. The workflow count and the epic gate are now real
(epic-tests.yml was written rather than the claim deleted); the rest is
measured against the tree and dated in the doc’s header.