Archilyzer · Source

archilyzer

Archilyzer
git clone https://archilyzer.pages.dev/source/archilyzer.git
Log | Files | Refs | README | LICENSE

commit 35b5c5bc1c08ab90e9dab93257eeb70f9bcb5fe9
parent c1c563dc262bfcebcdf8b5a269381b63c5491195
Author: I Mean I'm Just Saying <imeanimjustsaying@kiwifarms.st>
Date:   Tue,  8 Sep 2026 09:41:39 -0400

plans: the reset route clears the armed regen timer, it does not await one in flight

Review of c1c563d found STATE.md saying the test invalidate-cache route "cancels the
pending regen". resetSnapshotScheduler() only clears the debounce timer and drops state;
a generation already past the debounce is not awaited and keeps walking (it checks no
abort signal). The fixture fix is therefore the half that actually closes the rename
hazard, and the note now says so. Also states the attribution reproduction rate as the
measured 1-2 in 10 rather than "~2".

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>

Diffstat:
Mplans/STATE.md | 8+++++---
1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/plans/STATE.md b/plans/STATE.md @@ -80,15 +80,17 @@ deleted it, `reconcileVideoDirs` RENAMED it. Snapshot generation moves `data/<na `one-youtube-channel-with-data` fixture was the only directory in the tree where they did; the previous test armed the debounced regen, and `resetData` copied the fixture back in BEFORE it invalidated, so the regen renamed the fresh copy. The fixture's id now matches its -directory and `resetData` quiesces first (that route's `resetSnapshotScheduler()` cancels the -pending regen), so the two halves of the hazard are both closed. The export "no FOUC" theme +directory and `resetData` quiesces first (that route's `resetSnapshotScheduler()` clears the +armed timer; a regen already past the debounce is not awaited and keeps walking, which is +why the fixture fix is the half that actually closes it), so the two halves of the hazard +are both closed. The export "no FOUC" theme tests read `data-theme` after a `waitUntil: "commit"` reload that does not promise the head script has run — the script now marks itself `data-theme-ready` and they wait for it. And ask-chat's "Stop aborts mid-sweep" raced a 500 ms route timer; the test holds batch 2 open on a latch it releases itself. No retries, `test.slow`, or serial markers were added anywhere. **The fourth REPRODUCED, is NOT fixed, and is not what the plan guessed.** -`attribution.spec.ts` "Run from the video page runs that video and no other" fails ~2 runs in 10 +`attribution.spec.ts` "Run from the video page runs that video and no other" fails 1-2 runs in 10 under `--repeat-each 10` (four runs, six failures), always waiting the full 90 s for the batch's closing "1 done" line. The unit IS dispatched and the stub DOES answer: every failure freezes on the same three lines, and the failure snapshot shows the freshness pill already reading