commit 6e162a70472a5db5d26ffffb84d2f5310a9aa1fa
parent 7271f79844e89db1b203ea19b9ca135f9048e5e3
Author: I Mean I'm Just Saying <imeanimjustsaying@kiwifarms.st>
Date: Sat, 26 Sep 2026 23:39:10 -0400
plans: Ko-fi dropped (2026-09-26) — release 10's record and STATE's Ko-fi ruling
The record, before ## Rollout: what `export/drop-kofi` undoes (release 9
C1b's hub + homepage text link, slice O's mark on every site and the hub,
the homepage's mark), the commit table and the gates: tsc clean; common
2,013; editor unit 85; test:scripts 174 + 1; mcp 269; export site, hub and
homepage builds ok with no Ko-fi in out/ beyond the changelog bullet and
corpus data; e2e export 204/204 (8.7 min), e2e:hub 24/24 (57.1 s),
homepage 27/27 (50.4 s); the three negative checks fail on bbf8c567's code.
STATE: the Ko-fi ruling line says it is dropped for now; slice O's merged
bullet points at the reversal.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Diffstat:
2 files changed, 75 insertions(+), 2 deletions(-)
diff --git a/plans/STATE.md b/plans/STATE.md
@@ -35,6 +35,7 @@ below this block's homepage entry).
text link is gone. SUPERSEDES the 2026-09-25 "hub + homepage only" ruling on the operator's word
(2026-09-26: "show kofi in the social section on all sites"). Homepage untouched. Live only after
every site + the hub rebuild (runbook steps 5–6). Plan: [`kofi-mark-on-sites.md`](kofi-mark-on-sites.md).
+ **Reversed by `export/drop-kofi`** (Ko-fi dropped for now, 2026-09-26; record in `release-10.md`).
- **Slice N, the whole-recording fetch downloads anyway + metadata history — merged `6a1678a0`**
(`editor/full-fetch-media` @ `115f9656`, reviewed SHIP after fixes; full editor e2e 641/2/12 of 655,
both failures classified: `tags.spec:220` load flake 3/3 alone, `cookies-mode.spec:241` a pre-existing
@@ -155,7 +156,7 @@ report-to-video scripts on disk are `main`'s, above). Live sites:
yet: [`homepage-deploy-from-ui.md`](homepage-deploy-from-ui.md);
- https://jeralyzer.pages.dev — **the brand, in Signal**, deploy `35593886` (2026-09-26 11:06, above);
- the other four official sites at release 8's slices Z + E (17:45 / 18:10 deploys); they carry no
- Ko-fi — until release 10's rebuild, when slice O puts the mark on every site.
+ Ko-fi, and with Ko-fi dropped (`export/drop-kofi`) release 10's rebuild will not add it.
**The release 10 candidates of 2026-09-25 evening are all done** (L1 and L2 above). Next after
release 10's rollout: the homepage deploy from `/sites` ([`homepage-deploy-from-ui.md`](homepage-deploy-from-ui.md),
@@ -164,7 +165,9 @@ one small slice), Phase 4 slice 3 (`plans/one-core.md`), the LM chat-only tier c
**The 2026-09-25 evening plan is complete** (steps A–C: release 9 F + C1 live on :3001; C1b, C2, C3
on the hub and the homepage). The operator's rulings (C2's federated search as proposed; a bare Ko-fi
-link on the homepage and hub footers only — superseded 2026-09-26 by slice O, the mark on every site; the Paramount Tactical filter clear) are recorded in
+link on the homepage and hub footers only — superseded 2026-09-26 by slice O, the mark on every site,
+and then **Ko-fi dropped for now** (2026-09-26, `export/drop-kofi`: no Ko-fi link or asset on any
+site, the hub or the homepage); the Paramount Tactical filter clear) are recorded in
`release-9.md`. Paramount Tactical downloads in full at lane pace since the operator cleared its
`Quartering` include filter (19:35). See the
[release-9 rollout record](release-9.md#rollout-2026-09-25-evening--0213f6c8-live-on-3001-third-restart-of-the-day).
diff --git a/plans/release-10.md b/plans/release-10.md
@@ -1779,6 +1779,76 @@ the parent's.
`--json '{"workspace":"site","version":"next"}'` (expect a 400 naming the three workspaces).
The route has no read-only mode: `release show` is the CLI's.
+### Ko-fi dropped (2026-09-26)
+
+The operator dropped Ko-fi for now (2026-09-26). Branch
+`export/drop-kofi` off `main` `b1e8827b`, worktree `/home/user/Projects/export-drop-kofi`, one Opus
+implementer. It undoes three things: release 9 slice C1b's bare "Ko-fi" link (hub and homepage
+footers, live on both), slice O's official mark on every site's and the hub's social row (merged
+`6a5167a7`, never deployed) and the homepage's mark (`9801a034` + `b1e8827b`).
+
+- **Export footer** (every site and the hub): the social row is the operator's links alone, under
+ its old `socialLinks.length > 0` guard, so a site with none renders no empty list. Byte-identical
+ to the file before C1b apart from the brand's `BrandMark` changes.
+- **Homepage footer:** byte-identical to the file before C1b. The "Elsewhere" column renders only
+ when the operator has social links.
+- **Removed:** `KOFI_URL` (`common/lib/project.ts`) and its comment; `export/public/kofi-symbol.svg`
+ and `homepage/public/kofi-symbol.svg`; the `/kofi-symbol.svg` rule in `site-sw.js` and `sw-hub.js`
+ and the site worker's header line. `SHELL` stays `"shell-v2"` and `VERSION` `"v1"`, so no cache
+ moves; `/icons/` stays network-first. Both workers equal slice O's parent byte for byte.
+- **Nothing else to remove.** Slice O added no `_headers` entry, precache list, icon list or
+ `normalizeSocialSvg` exception, and `AGENTS.md`, `homepage/content/**` and the docs never named
+ Ko-fi.
+- **Tests:** the Ko-fi case per worker in `serviceWorkerRouting.test.ts`, `expectKofiMarkLast` and
+ `KOFI_SYMBOL_SHA256` (`export/e2e/helpers.ts` is back to slice O's parent) and the three Ko-fi
+ e2e tests are gone. One negative check per surface replaces them: once the footer is visible, no
+ `a[href*="ko-fi.com"]` on the page (`site-branding.spec.ts`, `e2e-hub/official-instances.spec.ts`,
+ `homepage/e2e/marketing.spec.ts`). **They bite:** with `b1e8827b`'s footers, `KOFI_URL` and
+ SVGs put back, all three fail (expected 0, received 1).
+- **Changelogs** (no released section touched): export `[Unreleased]` loses slice O's bullet and
+ gains "The hub no longer links to Ko-fi."; editor `[Unreleased]` (the hub and homepage
+ convention) gains "The hub and the homepage no longer link to Ko-fi."; homepage `[Unreleased]`
+ gains "The footer no longer links to Ko-fi."
+
+| sha | what |
+|---|---|
+| `70f0a9ea` | `export:` the footer's social row drops the mark and is guarded again; `public/kofi-symbol.svg` removed |
+| `a8658444` | `export:` both service workers drop the `/kofi-symbol.svg` rule; the worker test's Ko-fi case removed |
+| `741133e4` | `export(e2e):` a site page and the hub have no link to ko-fi.com; the helper and its hash removed |
+| `af516047` | `homepage:` the Elsewhere column drops the mark and renders only with social links; its SVG removed; e2e negative |
+| `a36fd3d9` | `common:` `KOFI_URL` removed |
+| `37ffc782` | `export, editor, homepage:` the `[Unreleased]` bullets |
+| _this_ | `plans:` this record; `STATE.md`'s Ko-fi ruling |
+
+**Gates**, all from the worktree root; the logs are `k-*.log` in the job's scratch dir.
+- **tsc** (`pnpm -r --no-bail --workspace-concurrency=1 exec tsc --noEmit`): clean before each of
+ the five code commits, and on the tip tree (the changelog commit is Markdown only).
+- **common 2,013/2,013** (slice P's 2,015 minus the two worker cases), 47 s; **editor unit 85/85**;
+ **`test:scripts` 174 + 1 skipped**; **mcp 269/269**.
+- **Builds:** export `next build` site mode, ok in 29 s; `INSTANCE_MODE=hub` `next build`, ok in
+ 32 s; homepage `next build` (its `public/` data copied from the primary), ok in 16 s. After each,
+ `out/icons` has its 7 files and there is no `out/kofi-symbol.svg`. `grep -rIl -i ko-fi out` finds
+ only (a) `/changelog`, which renders export's `[Unreleased]` "no longer links" bullet, and (b) on
+ the export builds, corpus data linked from the primary (`subs/friday-night-tights` live chat, a
+ viewer's `ko-fi.com` link; a `the-quartering-rumble` transcript). No `ko-fi.com` href anywhere
+ outside that data. The homepage's case-insensitive `kofi` hits are a video id in `stats/`.
+- **e2e** (queued, detached, `node scripts/worktree.mjs run -- …`; no queue wait):
+
+ | run | passed | failed | time |
+ |---|---|---|---|
+ | **export full** | **204** | **0** | **8.7 min** |
+ | **`e2e:hub` full** | **24** | **0** | **57.1 s** |
+ | **homepage full** | **27** | **0** | **50.4 s** |
+ | bite check (`b1e8827b`'s Ko-fi code, `-g ko-fi`), site + hub + homepage | 0 | 1 + 1 + 1 | — |
+
+- **Numbers tool: none.**
+
+**Left.** `plans/` keeps its Ko-fi history (release 9 C1b, slice O, `kofi-mark-on-sites.md`), as a
+record. **Rollout:** the hub and the homepage keep the Ko-fi link they were last deployed with (at
+least C1b's text link) until they are rebuilt and redeployed; no site was ever deployed with Ko-fi,
+so their release 10 rebuild simply does not add it. An installed PWA picks up the worker change on
+its next update check, and no data cache moves.
+
## Rollout
Nothing is rolled out, except that **Jeralyzer is already on the brand, in Signal** (a build-deploy