commit b738b79a1c9e938def6bd9b0413ca284f498a0e2
parent 9f5cb575368039da6622b24ced5997fcf8298ffd
Author: I Mean I'm Just Saying <imeanimjustsaying@kiwifarms.st>
Date: Sat, 12 Sep 2026 02:22:18 -0400
plans: Phase 2's five wrong paths corrected in the prose, not just the note
SearchSessionContext, SearchDataContext, siteRegistry and the worker copy
live under common/components/; useAskChat under export/app/ask/; the two
service workers under export/service-worker/ (public/sw.js is the composed,
gitignored copy). sw-hub.js's SHARD_RE has no digests today — S2a widens
both.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Diffstat:
1 file changed, 8 insertions(+), 7 deletions(-)
diff --git a/plans/one-core-phase-2.md b/plans/one-core-phase-2.md
@@ -27,9 +27,9 @@ original wording.
`common/components/{transcript,subs,posts,digest,summaries,stats,duplicates,aliases}Cache.ts`
— 825 lines, all keyed by `OriginId` (`components/originId.ts`). Seven more walk sites:
`export/app/lib/offlineCache.ts`, `umtool/report-to-video/cues.mjs`,
- `common/lib/siteRegistry.ts:287`, `export/app/lib/SearchDataContext.tsx`,
- `export/app/lib/SearchSessionContext.tsx`, `export/app/lib/useAskChat.ts`, and the
- deliberate copy in `export/app/lib/searchIndex.worker.ts:39-41` (a worker cannot import
+ `common/components/siteRegistry.ts:287`, `common/components/SearchDataContext.tsx`,
+ `common/components/SearchSessionContext.tsx`, `export/app/ask/useAskChat.ts`, and the
+ deliberate copy in `common/components/searchIndex.worker.ts:39-41` (a worker cannot import
the reader; it **stays**, guarded by the SW/contract equality test in S2a).
2. **The reader interface is mcp's 18-member `ShardSource`** (`mcp/src/source.ts:292-372`),
not the umbrella's four methods. `record(layer, slug, id)` must **not** be added: a
@@ -119,10 +119,11 @@ parallel slices reuse it instead of each rebuilding it.
The eight caches become `memo(originId, () => reader.X(...))` — the memo stays, the walk
goes. `offlineCache.ts` enumerates every layer that has a manifest plus `ROOT_FILES`
(`/duplicates.json`, stats) — this closes the duplicates-page-dead-offline gap.
-`export/public/site-sw.js:27` `SHARD_RE` and the evict prefixes (`:138-142`) widen to
-match. The SW layer list stays hand-written (a service worker cannot import), guarded by a
-`contract.test.ts` case that reads both SW files and asserts equality with
-`CONTRACT.layers`.
+`export/service-worker/site-sw.js:27` `SHARD_RE` and the evict prefixes (`:138-142`) widen
+to match, and so does `sw-hub.js:26`, which today lacks `digests` altogether. The SW layer
+list stays hand-written (a service worker cannot import), guarded by a `contract.test.ts`
+case that reads both files under `export/service-worker/` and asserts equality with
+`CONTRACT.layers`. (`export/public/sw.js` is the gitignored composed copy — never edit it.)
Not in scope: refactoring `SearchDataContext` / `SearchSessionContext` / `siteRegistry`
state. They keep their state; only the fetch walk moves.