diff --git a/PERIHELION_BRIEF.md b/PERIHELION_BRIEF.md index 4b2b31c..4b42f5b 100644 --- a/PERIHELION_BRIEF.md +++ b/PERIHELION_BRIEF.md @@ -255,3 +255,55 @@ Full suite green, online and offline-minus-live-gates. *Merge order N → M → E → V; Fable reviews each. HERALD (deploy to the VPS) is deliberately NOT in this wave — it needs the user's DNS/tunnel decision first.* + +--- + +# Part ω — the closer (added post-merge, Fable 2026-07-16) + +**Status: all four lanes MERGED to `main` (`b42473a`), 21/21 gates in-browser, +pushed.** N→M→E→V merged in order; integration fixes landed in review +(`sbdb_lookup` → `CONFIG.proxy.sbdbLookup`; era-aware BC dates in `lib.js`; +V's verify wait-guard raised 13→18 for the merged gate count). + +### ω.0 Process note — orchestrator mode is now canon + +Wave 2 ran as ONE Opus session dispatching four worktree-locked subagents that +built headlessly (node + serve.py/curl), with the orchestrator keeping the +single browser for all verification and real-input tests. **This is the +endorsed topology for all future multi-lane waves** — it preserves the +one-tree-one-writer rule and centralizes the thing there's only one of (the +browser). Lane briefs stay written for individual agents; the orchestrator +passes each its lane section verbatim. + +### ω.1 The closer lane (one agent, branch `perihelion/o-closer` from ≥ b42473a) + +1. **README refresh.** README.md still describes wave 1: CDN importmap (it's + vendored now), "schematic ring" NEOs (real orbits now), 13 gates (21 now), + no Epoch toggle / Sky events / moon textures / decade-century rates. Rewrite + the affected sections; keep the voice; update the layer table + controls + + verify table + credits (add USGS/NASA moon maps). New `docs/hero.jpg` via + the `/snap` endpoint if the old one no longer represents the app (deep-time + or Jupiter+textured-Galileans would sell it). +2. **Timeline event density** (E's flagged UX): the ±2 yr event window maps to + ~1.6% of the 250-year strip (worse in deep time). Build the **event band**: + a second thin strip directly under `timeline-outer` that maps ONLY the + computed window to full width — diamonds live there (same DOM/click-jump + machinery, same CSS classes); the main strip gets a subtle bracket marking + the window's extent. Events layer owns it; no main.js changes beyond what + the layer contract already allows. Real-input gate: click a diamond in the + band → clock jumps; near-mode AND deep-mode. +3. **Housekeeping.** After user confirmation: `git worktree remove` the four + lane worktrees and delete the merged `perihelion/*` branches (their commits + live in main's merge history). Do NOT touch `../godstrument-*` worktrees. +4. **Full regression before report:** 21/21 (+ your band gate), zero console + errors in near and deep modes, README quickstart from a fresh clone. + +### ω.2 Deferred (needs the user, not an agent) + +- **HERALD** — deploy to the VPS (domain/tunnel decision → then mirror the + godstrument.pro rsync+systemd pattern; serve.py binds loopback, so prod + needs the same reverse-proxy shape godstrument uses). +- **Titan/Europa color** — M shipped grayscale where USGS has no color mosaic + (truth boundary held; ENDORSED in review). If the user wants iconic-color + moons, that's an explicit directorial choice to source non-data colorized + maps — flag it as such in CREDITS if taken.