commit df5107ec4a64ba18e9377953e5302ea96597d9e2
parent 2a6906654fee3611f697e56428a849c1916beb81
Author: I Mean I'm Just Saying <imeanimjustsaying@kiwifarms.st>
Date: Mon, 28 Sep 2026 14:11:49 -0400
Merge main into r12/source-mirror (release 11 rollout record)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Diffstat:
3 files changed, 89 insertions(+), 1 deletion(-)
diff --git a/AGENTS.md b/AGENTS.md
@@ -317,7 +317,7 @@ table is a convenience and will drift:
| `hasanalyzer` | Hasanalyzer | https://hasanalyzer.pages.dev |
| `anilyzer` | Anilyzer | https://anilyzer.pages.dev |
| `bonnellyzer` | Bonnellyzer | https://bonnellyzer.pages.dev |
-| `jasolyzer` | Jasolyzer | *(no `siteUrl` — not published)* |
+| `jasolyzer` | Jasolyzer | https://jasolyzer.pages.dev (launched 2026-09-28, exports off) |
Jeralyzer is the largest and most popular instance (30 channels / 30,886 videos at its
2026-08-07 build). The project's own site is `https://archilyzer.pages.dev`
diff --git a/plans/STATE.md b/plans/STATE.md
@@ -3,6 +3,29 @@
The working memory for the local-AI derived-corpus work. Rewritten at the end of every
session, before context is cleared. See [`README.md`](README.md) for the protocol.
+**Now (2026-09-28, afternoon): release 11 is LIVE as 0.10.0, and Jasolyzer is launched.** The
+rollout ran 12:11–14:05 ([`release-11.md`](release-11.md), "Rollout, as done", every deploy and job
+id): the cut (editor `24c8352e`, export `bf6904e8`), ONE :3001 restart (`BUILD_ID`
+`vWCJb87ktCy5akih_pM9X`, on `main` `e6c5d2e3`), a Settings save (two ran; the second byte-identical — `buildPipeline.mode` dropped, the
+x.com icon `currentColor`), and the six sites by name + the hub + the homepage (the homepage through
+`pnpm ops build-homepage {"deploy":true}` — O4's live proof). **Jasolyzer**
+(https://jasolyzer.pages.dev; `piratesoftware`, 1,889 videos; archives and transcript downloads
+off; vermilion; a draft description the operator may reword) is the sixth site in every footer, the
+hub and the homepage. **The LM chat-only tier is closed as moot** (Legal Mindset's filter has
+`includeLivestreams: true`).
+- **The external drive stalled the rollout** (11:35–12:57): an SMR disk (`sdb`, JMicron JMS578 UAS)
+ under a 10 GB remux timed out, reset and froze :3001 — all four libuv workers blocked in its
+ ext4 reads. No data errors. **Open, for a later slice:** one stalled drive freezes the whole
+ editor. **Operator options:** `echo 180 | sudo tee /sys/block/sdb/device/timeout` (not persistent)
+ and the durable `options usb-storage quirks=152d:a578:u` (a replug; do it with the lanes paused).
+- **Release 12 belongs to a parallel session** (the source mirror, [`source-mirror.md`](source-mirror.md);
+ slice Q merged at `4855f70b`, slice R next). **This session's bundles are release 13**
+ ([`release-13.md`](release-13.md)): W1 editor lows, W2 export/docs lows, W3 the build image (with
+ W3b: container Build all was broken on `main` — `.next` symlink + the image's baked `public/` —
+ and a wrong-site guard now sits before every site deploy), all reviewed SHIP; then one-core
+ Phase 5 (P0, the plan doc `one-core-phase-5.md`, awaits the operator's OK and five rulings).
+- **Worktrees:** the seven `r11-*` stay until release 12's are gone (index-based ports).
+
**Now (2026-09-28, morning): release 11 is merged to `main` in full and NOT rolled out.** The
overnight of 2026-09-28 ([`release-11.md`](release-11.md): every slice's record, then "Integration,
as merged", then "Rollout"). `main` = `eb28a341` + three integration `plans:` commits
diff --git a/plans/release-11.md b/plans/release-11.md
@@ -1863,3 +1863,68 @@ integration tip (above); the live :3001 editor still runs `BUILD_ID` `S07zTu3MKT
already reach the live :3050 from disk, and an unbranded render is byte-identical.
9. **Afterwards:** remove the seven merged `r11-*` worktrees when nothing runs (it re-sorts the port
blocks; `diet-series` stays).
+
+## Rollout, as done (2026-09-28, 12:11–14:05 local)
+
+Run by the parent from the primary checkout with the scripts in
+`~/reports/overnight-2026-09-28/scripts/`, on the operator's plan of 2026-09-28 (roll out release 11
+as 0.10.0 and launch Jasolyzer, exports off). Logs: `~/reports/overnight-2026-09-28/tmp/r11-*`.
+
+1. **Cut** (`archilyzer release cut all next-minor --commit`): editor **0.10.0** `24c8352e` (8
+ bullets), export **0.10.0** `bf6904e8` (9). The homepage changelog keeps its own convention.
+2. **The external drive stalled first.** From 11:35 the auto-download lane's remux of a 10.3 GB
+ `nuxanor-kick` VOD, reading and writing the same SMR disk (Seagate ST2000DM008 in a JMicron
+ JMS578 UAS enclosure, `sdb`), drove it into 30 s command timeouts, UAS aborts and USB resets
+ (`hostbyte=DID_ERROR cmd_age=30s`; the `I/O error` lines are failfast READAHEAD requests; no
+ medium errors, no ext4 errors). All four of the live editor's libuv threadpool workers blocked in
+ ext4 reads on it, so **:3001 answered nothing** (not even `/api/view/pulse`) from ~12:10 until
+ the remux finished at 12:56:39. Every one of the six sites has a channel on that drive (11
+ channels), so the rollout waited. The operator checked the cable and ran `smartctl` (the identify
+ command failed: the drive was busy). Nothing was killed. Found and left, for a later slice: one
+ stalled drive freezes the whole editor.
+3. **:3001 restart** on `main` `e6c5d2e3` (the cut + release 12's slice Q, whose editor-side changes
+ are comments and an `[Unreleased]` bullet): `r11-build.sh` BUILD_OK 97 s, `BUILD_ID`
+ `S07zTu3MKTjHJa9eDM1GF` → `vWCJb87ktCy5akih_pM9X`; `r11-restart.sh` `/` 200 after 3 s, `/sites`
+ has the Homepage section, 0 ZodError, boot `re-queued 0, cancelled 29 (sync 26, stale 3)`. The
+ md5 sweep (81 files: settings, every `site.json` and `config.json`, `homepage.json`) was identical
+ before, before the restart and after boot. `smoke.sh`: 20 OK lines, `PULSE_OK` ×2,
+ `DEFERRED_OK`, umtool OK; `SMOKE_FAIL=1` from one `PAIR_DIFF`
+ (`/api/auto-queue/status` vs `/api/view/autoQueueStatus`, 10 bytes of 517 KB, the two calls 98 s
+ apart) that is live drift — a `hasanabi` pick and a `HasanAbiVODs3` queue between the calls.
+ The OOM killer fired at 13:01:11 on the OLD editor (already exiting under TERM, anon-rss 0) and a
+ worktree e2e server; the new editor was unaffected.
+4. **One Settings save** (headless, no change): `buildPipeline.mode` is gone and the x.com icon's
+ `fill="white"` is `currentColor`. Two saves ran — the first script's wait resolved on Next's
+ empty route-announcer alert and closed early, but its save still landed (13:06:01); the second
+ rewrote byte-identical JSON. md5: only `settings.json` changed.
+5. **Jasolyzer:** Pages project `jasolyzer` created (`wrangler pages project create jasolyzer
+ --production-branch main`); `/sites/jasolyzer` saved headless with `cloudflareProject`
+ `jasolyzer`, `siteUrl` `https://jasolyzer.pages.dev`, archives off, transcript downloads off and
+ the draft `siteDescription` "Search through the streams of our favorite game dev, Jason 'Pirate
+ Software' Hall" (the operator may reword it). md5: only `transcripts/sites/jasolyzer/site.json`.
+6. **Deploys** (`pnpm ops build-deploy --json '{"siteIds":[six],"skipArchives":true}'`, the host
+ path, by name — `r11-sites6.sh`): SITES_OK in 2,872 s, no site skipped.
+
+ | Site | Job | Deploy |
+ |---|---|---|
+ | jasolyzer (first deploy) | `01M3MFRJ9RVDYPERPY22C3MD49` | https://fa021d5b.jasolyzer.pages.dev |
+ | jeralyzer | `01M3MFRJDSJV341S08JG0PV21E` | https://9bbd2c88.jeralyzer.pages.dev |
+ | anilyzer | `01M3MFRJDZRQWW56APC4NQGVBC` | https://1a6a795d.anilyzer.pages.dev |
+ | bonnellyzer | `01M3MFRJEF4K2GJSE0D06FBPYH` | https://bb5cb426.bonnellyzer.pages.dev |
+ | hasanalyzer | `01M3MFRJEHZ53S9V6DDN9QVNX1` | https://2cd0d19f.hasanalyzer.pages.dev |
+ | rekietalyzer | `01M3MFRJEVNHMNHKQ3KH8BEEZY` | https://1ca2acf8.rekietalyzer.pages.dev |
+ | hub (`build-hub {"deploy":true}`) | `01M3MJG5DG0ZGH16VYWWKCT7QR` | https://c215ae89.archilyzer-hub.pages.dev (84 s) |
+ | homepage (`build-homepage {"deploy":true}` — **O4's live proof**) | `01M3MJK8NV8N1M3PPGQC6F3V0X` | https://41bef909.archilyzer.pages.dev (73 s) |
+
+7. **Live checks, all pass:** every `/changelog` of the eight surfaces reads 0.10.0; the
+ forced-colours rule is in every site and the hub; the x.com footer icon is `currentColor` (it
+ follows the footer colour); Jasolyzer serves `data-accent="vermilion"`, a footer listing the
+ five siblings and a `corpus.json` of 1 channel / 1,889 videos; `hub-summary.json` has 6
+ instances; the homepage's summary has 6 sites and draws Jasolyzer on `var(--chart-6)` (legend and
+ area); the five 410'd Rumble videos publish `isDeleted: true` (Jeralyzer `v4taj2f`, `v4uooni`,
+ `v4we0zh`, `v4xpb46` — URL slugs `v4vriou`, `v4x5o1l`, `v4yqask`, `v501kfc`; Rekietalyzer
+ `v7btopk` — slug `v7e07us`).
+8. **Closed as moot:** the Legal Mindset chat-only tier (its filter has `includeLivestreams: true`,
+ so the tier never changes what is kept).
+9. **Still owed:** re-upload the YouTube picture, watermark and banner (since release 10); the
+ seven `r11-*` worktrees stay until release 12's worktrees are gone (index-based ports).