Archilyzer · Source

archilyzer

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

commit 8e78a76aaa2e94c1965f0a972c63a3171a13a7e8
parent af992bdc9c20dd37767e70413a20035d553b405c
Author: I Mean I'm Just Saying <imeanimjustsaying@kiwifarms.st>
Date:   Fri,  9 Oct 2026 21:11:08 -0400

plans: release 22's fix round — the sticky switch, each first-run failure's cause and fix, final counts

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

Diffstat:
Mplans/release-22.md | 28++++++++++++++++++++++++++++
1 file changed, 28 insertions(+), 0 deletions(-)

diff --git a/plans/release-22.md b/plans/release-22.md @@ -219,6 +219,34 @@ would render 100+ small slides — not measured). (3) The keyboard-arrival heuri overview mounted (a keydown anywhere counts). (4) `report.json`'s change summary (revision history) does not name a slide-field edit ("Other edits"). (5) slides.html's light base only (no dark variant), as report.html. +#### Fix round, as it went + +Branch `r19/shapes-fix`, off `acda58f9`. The specs' first run (export report suite 42/45, umtool article specs +18/21) and the operator's ruling of 2026-10-09: **the view switch is sticky** — Article | Slides | Overview stays in +reach while the article scrolls, on desktop and phones, on the export site and in umtool. On the export site the +switch leaves the report's `<header>` for a strip right after it (`[data-report-views]`, `sticky top-14` under the +site header, within the article's box; frosted like the site header, no label); in umtool it sticks to the top of +the reading column (`[data-article-views]`). Every anchor lands below the bars (`[&_[id]]:scroll-mt-32` on the +export article, `scroll-mt-16` on umtool's blocks and claims). The failures: + +- `overview.spec.ts:15` and `slides.spec.ts:39` (the switch in the header scrolled away; a click scrolled to the + top, so the head was the place) — fixed by the sticky switch. Under it a second cause showed: the part being read + was the last place above the top third, so a jump to a section with a short lead (`#bridge`) and a switch opened + its first claim. The line is now the top of the reading area — where a jump lands a place (its + `scroll-margin-top`) plus 32 px — in both readers. Then `overview.spec.ts` pressed Enter before ArrowRight's focus + move (next frame) had landed; it now waits for the card's focus, as after every other key. +- `overview.spec.ts:68` (phone) — passes as fixed in `acda58f9`. +- `article-slides.spec.ts:30` and `:62` — umtool's `ArticleShapes` never rewrote a slides URL naming a place to the + slide's hash; it now does, replacing the entry, as `ReportReader` does. +- `article-evidence.spec.ts:51` — not a regression (the walk is unchanged in release 22): the trace shows `j` + pressed ~30 ms before the walk hydrated. The spec repeats the press until the walk moves (safe: `j` at the last + citation stays there). + +Specs: `slides.spec.ts` asserts the switch in the viewport and the claim below it after the jump to `#claim-3`; +`article-slides.spec.ts` the same after Esc lands on a section; `reports.test.ts` holds the switch after +`</header>`, sticky. Export `CHANGELOG.md` one bullet. **Final: export report suite 45/45, umtool article specs +21/21**, `pnpm --filter export test` 118/118, tsc clean (common, export, umtool). + ## Rollout Rebuild and deploy each site with reports (the slides view is in the bundle, and `reports prepare` re-exports to