commit 7ddbdfb6c0e973a0272462d95a1bfaecb4e6bb06
parent 90b052e81724afba70c98cffcbcc30f7e2557829
Author: I Mean I'm Just Saying <imeanimjustsaying@kiwifarms.st>
Date: Fri, 2 Oct 2026 12:57:45 -0400
plans: release 17 — the big three migrated (12:19–12:34, 860 s, /home 77→43 GB); the saved-video store move deferred (the platter writes at ~5 MB/s), its marker left for the operator
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Diffstat:
2 files changed, 36 insertions(+), 6 deletions(-)
diff --git a/plans/STATE.md b/plans/STATE.md
@@ -10,11 +10,17 @@ and LIVE: the editor on `:3001` (`Dt4zuo5uJcPKZ9fKk0L-f`, restarted 02:51 after
`~/reports/release-17/RUNBOOK.html`; its scripts are `~/reports/release-17/scripts/`.
- **The migration ran (02:40–02:51, editor stopped):** ten channels moved to the media tier (realcandaceo,
omnimirror, leaflit-rumble, cornbreadman, shondo-vods, friday-night-tights, piratesoftware, kirsche,
- nuxanor-kick, HasanAbiVODs3); `--all` stopped before rekietalaw, the-quartering-rumble and omnibased, which
- stay `legacy` and HELD (reports, index, stats, digests refused) until the operator runs
- `archilyzer storage migrate-tier --all --include-large` with the editor stopped (`/home` has 81 GB free;
- they need about 35 GB). `purge-superseded-auto-subs` on omnibased/HasanAbiVODs3 runs after. `--reclaim`
- (the platter's text copies) later. `transcripts/channels` is a paused Syncthing folder: unpausing now
+ nuxanor-kick, HasanAbiVODs3). **12:19–12:34 (2026-10-02, editor stopped): the big three too** — rekietalaw,
+ the-quartering-rumble and omnibased migrated in 860 s; nothing on the retired layout remains; `/home`
+ 77 GB → 43 GB free. `purge-superseded-auto-subs` on omnibased/HasanAbiVODs3 is owed (an editor job; no ops
+ route). `--reclaim` (the platter's text copies) later.
+- **The saved-video store move (209 GB → the Platter) is DEFERRED:** started 11:45 offline through
+ `relocateSavedVideos`, stopped at 6.8 GB because the platter wrote at 2 MB/s (a 1 GiB `dd` on the idle
+ drive: 4.7 MB/s; reads 55 MB/s). The marker is left at phase `copy` (the permission layer refused its
+ removal): the Storage page's saved-video card shows "Move in flight" with Clear marker / Resume — while
+ the marker exists the store's writers (persist source video) refuse. Resume when the drive writes at a
+ sane rate; the partial copy under `<platter>/saved-videos` is reused. The operator floated "text on the
+ platter as a per-channel option" as a release valve for SSD space — not built; a candidate slice. `transcripts/channels` is a paused Syncthing folder: unpausing now
syncs the migrated text to the peers.
- **Live proof:** a migrated video page in 0.2 s, its audio and transcript stream through the links (206),
the dashboard answered in 1.4–2.1 s during three simultaneous report regenerations (D0), `/storage` says
@@ -22,7 +28,7 @@ and LIVE: the editor on `:3001` (`Dt4zuo5uJcPKZ9fKk0L-f`, restarted 02:51 after
- **Owed to the operator (release 17):** X posts private — create the private site (Sites → New, Audience:
Private, every channel), set "Where X posts appear: Private" on `/settings`, rebuild + deploy hasanalyzer,
anilyzer and jeralyzer, REBUILD + DEPLOY THE HUB (it serves X posts today), decide on old Cloudflare
- deployments, re-register the MCP against the private build; the big-three migration; watch the download
+ deployments, re-register the MCP against the private build; the store's marker (clear or resume); watch the download
lane page (YouTube's backoff was at 6 failures at 03:18, no hold; "Clear hold" is the way out of a hold).
- **Rulings this release:** an implementer's commits carry its own model's `Co-Authored-By` (never rewritten
to another model's); never write the refused identifier suffix as text in a record; never run a whole e2e
diff --git a/plans/release-17.md b/plans/release-17.md
@@ -1,3 +1,27 @@
+
+### As it went, part two — the big three (2026-10-02, 11:42–12:53)
+
+Asked for by the operator ("do the big three migration"); re-planned once the dry run put the three
+channels' text at 33.7 GB against 77 GB free on `/home`: the saved-video store (209 GB on the SSD,
+202 GB of it nuxanor-kick's kept containers; the platter 1.2 TB free) is moved first, then the three
+are migrated. Both offline in one editor-stopped window, the store through the same controller the
+Storage card's Move button enqueues (`relocateSavedVideos`, run under tsx from `common/`).
+
+| step | result |
+|---|---|
+| dry run `migrate-tier --all --include-large` (editor up) | rekietalaw 8.73 GB text / 1,348 links; the-quartering-rumble 10.16 GB / 175; omnibased 14.84 GB / 318 |
+| saved-video store move out, 11:45 (editor stopped) | 46 files, 208.46 GB; STOPPED at 12:19 with 6.8 GB copied — the platter wrote at 2 MB/s (20 requests in flight, the drive 100 % busy); the marker stays at phase `copy`, the partial copy stays under `<platter>/saved-videos` |
+| `migrate-tier --all --include-large`, 12:19–12:34 | all three migrated in 860 s; `/home` 77 GB → 43 GB free; no platter writes (the rename) |
+| editor restart 12:34 (`Dt4zuo5uJcPKZ9fKk0L-f`, unchanged) | 200 in 2 s; boot cancelled 9 stale queued metas, closed 4 ghosts |
+| live proof | `/`, `/storage`, `/channels` in 0.23–0.31 s; one video page per channel 0.14–0.46 s; `transcript.live_chat.json` (rekietalaw) and `audio.mp3` (the other two) stream through their links (206); Refresh report on all three — snapshots rewritten 12:51–12:53 with `totalTextBytes` |
+| the platter's write speed, idle | `dd` 1 GiB direct: 226 s, 4.7 MB/s (reads were 55 MB/s during the migration); only a file manager held the volume open |
+
+The omnibased snapshot of 12:53 carries `totalMediaBytes: null`: the write test was holding the
+platter at that moment and the snapshot's media walk gave up as designed; the next Refresh fills it.
+Nothing on the retired layout remains. The marker clear was refused by the permission layer and is the
+operator's ("Clear marker" on the Storage page's saved-video card): while it exists the store's writers
+refuse. The store move is deferred until the platter writes at a sane rate; it resumes from the card.
+The ten-channel scripts gained `r17-big3-only.sh` and `tmp-move-store.ts` (run from `common/`).
# Release 17 — the media tier: big files move, hot text stays on the SSD
Written 2026-10-01 in plan mode against `main` `03be31b5` (releases 13–16 live). Rules: