commit 8bea197de80e88b42f7df539f725166152788502
parent 598e763442185bf180afe23d9dcaa73d5d3e5524
Author: I Mean I'm Just Saying <imeanimjustsaying@kiwifarms.st>
Date: Sat, 26 Sep 2026 04:22:24 -0400
plans: STATE — brand S4, L1 and L2 reviewed to SHIP and parked for after the brand rollout; merge order, the copy rulings owed, the new lows
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Diffstat:
1 file changed, 41 insertions(+), 0 deletions(-)
diff --git a/plans/STATE.md b/plans/STATE.md
@@ -26,6 +26,47 @@ full gates, the records, the runbook) fast-forwarded. Record:
- Worktrees: `brand-mark` and `brand-themes` are merged and can go; `brand-found-line` once `main`
carries its tip. Removing any of them re-sorts the port blocks (`diet-series` moves up).
+**Parked for after the brand rollout (2026-09-26, all Opus-reviewed to SHIP; none merged):**
+- **Brand S4 (Archilyzer Media)**, `brand/media` @ `333d2826`, worktree `../brand-media`:
+ - `common/lib/brandMedia.ts` builds the lockup with its text as glyph outlines;
+ - `common/bin/brand-media.ts` writes the YouTube assets. They are already generated in
+ `~/reports/archilyzer-media/brand/` and can be uploaded now; see `INDEX.html` there
+ (Customization → Profile);
+ - the opt-in umtool report-to-video preset `render.brand: "archilyzer-media"`, with its fonts
+ vendored (OFL) under `umtool/report-to-video/fonts/`. Manifests that don't opt in render
+ byte-identical (334 files checked).
+- **L1, hub lows**, `r10/hub-lows` @ `b6b47ec1`, worktree `../r10-hub-lows`:
+ - subs 404 = an empty manifest, with one retry that never fails the archive;
+ - `/ask` honours the scope chips;
+ - the official-instance accent fallback, and one card order (the homepage's);
+ - the playwright config and `compose-hub`/`compose-site` never write through `export/public`
+ links (`common/bin/_publicFile.ts`).
+- **L2, runner lows**, `r10/runner-lows` @ `14e96739`, worktree `../r10-runner-lows`:
+ - YouTube's "try again later" soft block reads as `rate_limit` and backs off: download batch,
+ runner, scan, and a prefetch early exit;
+ - the availability check stops on it, and `verifyBeforeClean` marks every unprobed suspect
+ `unverified`;
+ - the boot pass waits at most 60 s for the storage pass;
+ - `/jobs` shows `cancelReason`;
+ - the safeRevalidate warning is counted.
+- **Merge plan.** Merge in the order S4 → L2 → L1. The code merges clean. `plans/release-10.md`
+ conflicts on the record sections only: keep every section. At that merge:
+ - update FACTS to retire the `sw.js`-copy and compose-output-swap workarounds; the per-path
+ seed of the `export/public` links stays;
+ - L1 adds public `export/CHANGELOG.md` `[Unreleased]` bullets, so cut before the next site
+ deploy;
+ - the live umtool needs a rebuild and restart before its new-project form offers the brand.
+- **Copy rulings owed by the operator:**
+ - `NO_ARCHIVES_IN_SCOPE` (`export/app/ask/hubScopeCopy.ts`, draft "No archives selected.
+ Choose some on the [hub's front page] to ask.");
+ - whether `/ask` shows a "Searching N of M archives" scope line.
+- **New lows:**
+ - `/ask` waits forever on a hub with zero archives;
+ - the chip doesn't show a member's missing live chat (it needs a subs-only Retry);
+ - `resolveMaybeMissingState` reads an `error` probe newer than the scan as `available`
+ (display only);
+ - umtool's rail, ledger and chart are still on Fira Sans, and a bold Plex Mono is not vendored.
+
**Live on :3001 — unchanged since 2026-09-25, 19:40:** `0213f6c8` (release 9 slice F + hub C1),
`BUILD_ID` `P0VMdKX7gbdsaiS5GvorF`; umtool untouched (`a9YAe_dwhuM6DiCPzIwMD`). Live sites:
- https://archilyzer-hub.pages.dev — C1 + C1b + C2 (archilyzer theme, "Official Instances" with