commit 38bbb79ce673c54bad95c7e9494df6b846ef9532
parent 71e233745fdd3c329532082642ef071de7fca64b
Author: I Mean I'm Just Saying <imeanimjustsaying@kiwifarms.st>
Date: Fri, 25 Sep 2026 22:22:15 -0400
plans: brand + themes — slice S1 review fixes recorded
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Diffstat:
1 file changed, 32 insertions(+), 0 deletions(-)
diff --git a/plans/brand-and-themes.md b/plans/brand-and-themes.md
@@ -759,6 +759,38 @@ The hex-only `parseAccent` fallback, which S0 flagged at `:19`, is gone.
- **`export/.2origin/hubA`** is a hub build (gitignored, about 2.5 GB, because `out/` copies the
linked public data). It stays in the worktree for the next 2origin run.
+**Review fixes** (review verdict SHIP, `$T/s1-review.md`; review nit 5, the `layout.tsx` import
+conflict with S2, is left for the merge).
+- `541a46e0`, should-fix 1 + nit 2:
+ - both service workers serve `/icons/` network-first into shell-v2 (fresh online, cached
+ offline), so a redeployed accent reaches readers;
+ - `/_next/static/` stays cache-first; `SHELL` stays `"shell-v2"` and `VERSION` `"v1"`;
+ - the `SHELL` comment now says the rename also drops the cached HTML and chunks, so the installed
+ app opens offline again only after one more online visit.
+ - No test covered the strategy (`contract.test.ts` pins only the URL families). The new
+ `lib/archive/serviceWorkerRouting.test.ts` runs each worker in `node:vm` with a fake
+ `self`/`caches`/`fetch` and drives its fetch handler. Reverting site-sw's routing turns its icon
+ test red.
+- `405fccd5`, nits 3 + 7:
+ - `ICON_FILES`, `iconFile`, `ICON_METADATA`, `FAVICON_SIZES` and `siteIconPalette` moved to the pure
+ `common/lib/brandIconFiles.ts` (no `next` import);
+ - `lib/brandIcons.ts` keeps the renderers beside `next/og`, and its only importers are the four
+ icon/favicon routes; the layouts and `export/app/lib/brand.ts` read the pure module. A test pins
+ the importer set and the purity.
+ - The variant test: pixel (0,0) is transparent on the `any` 512 and the opaque ground on the
+ maskable 512 and the apple 180. A variant-ignoring `renderIconPng` turns it red.
+- `951a0ff5`, nit 6: the `accentHex` comment says the published hex is the icon's lit line only for a
+ named accent.
+- `4a7641af`, nit 4: `pwa.spec`'s 404 probe names the dev log line it causes as expected.
+- Gates:
+ - tsc clean before each commit;
+ - common **1,887** (+6), editor unit **79**;
+ - export build ok (23 s), homepage build ok (14 s), with the same seven `out/icons` files + favicon
+ and the same PNG/ICO magic;
+ - export `pwa.spec.ts brand.spec.ts`: **8 passed**, 15 s; `e2e:hub`: **14 passed**, 24 s;
+ - the worktree's `sw.js` stayed a copy, and the primary's `sw.js` is unchanged (10,027 B,
+ 20:47:37).
+
## Operator rollout (after merge)
1. Restart the live :3001 editor on the new `main`; it needs S0's form.