docs: handoff, session log and pointers to the contract

docs/HANDOFF.md is the starting point for the next maintainer;
docs/superpowers/notes/2026-11-11-session-log.md records the day.
AGENTS.md, CLAUDE.md and README now point maintainers to the handoff
and to docs/contract.md.

Co-Authored-By: Claude Fable 5.2 <noreply@anthropic.com>
This commit is contained in:
Lucas WintherandClaude Fable 5.2 committed 2026-11-11 12:06:48 +01:00
1 parent c67d81b288
commit 2277f4beb6
6 files changed
+165 -3

No files matched your search

@@ -79,7 +79,7 @@ Owner request: audit the course, fact-check, add sources, knowledge and exercise
- Not done: a human playing the games; the tab-switch fix is covered by stream tests only.
## Open follow-ups (added)
- Changes are uncommitted in the working tree.
- (Committed later the same day; see the end of this file.)
- `Check.fs` is not in `fsharp/web/Web.fsproj` (not needed in the browser).
- A turn queue (honouring Up-then-Left within one step) is still only a question in Module 3.
- Resolved from the earlier list: backwards `Time` is now harmless behind `clampTime`.
@@ -123,7 +123,7 @@ Owner approved eleven extensions; spec: `docs/superpowers/specs/2026-11-11-cours
- VS Code's own display of the JS type errors was not checked, only `tsc`.
- TypeScript version is not pinned (`TS_PACKAGE` can pin it).
- Scala lacks the JS test "play without a best answers LoadBest with 0".
- Everything is uncommitted in the working tree.
- (Committed later the same day; see the end of this file.)
## Playwright end-to-end suite (2026-11-11, owner's suggestion; spec Item 12)
- `e2e/` (own `package.json`, `@playwright/test` 1.65.0 pinned) and `scripts/e2e.sh`; `scripts/play.mjs` deleted, `smoke.mjs` kept. The course tracks stay dependency-free.
@@ -131,3 +131,9 @@ Owner approved eleven extensions; spec: `docs/superpowers/specs/2026-11-11-cours
- Result: 176 tests pass in about 20 s. No frame of any track differs from the model.
- Found and fixed: the three tracks read an unusual stored best differently (`"1e2"`, `"7.0"`, `"2147483648"`). Ruling: only plain decimal digits with a value of at most 2147483647 count; anything else reads as 0. Applied to `js/solutions/browser.js`, `scala/web/BrowserPlatform.scala`, `fsharp/web/BrowserPlatform.fs`.
- Still not covered: real animation timing and real hidden-tab throttling (the clamp is tested with a fake 10 s frame), rendered pixels and fonts, zoom, touch, key auto-repeat, Firefox (no build installed), and a person playing.
## Wrap-up (2026-11-11)
- `docs/contract.md` is now the canonical contract; the "contract" section of the 2026-10-28 plan is superseded.
- Specs: `specs/2026-11-11-audit-pass.md` (written after the fact) and `specs/2026-11-11-course-extensions.md` (twelve items, marked as built).
- Committed on branch `audit-and-extensions` (`edd57f0`), merged into `main` (`c67d81b`) and pushed to origin on the owner's instruction.
- `docs/HANDOFF.md` is the starting point for the next maintainer; `notes/2026-11-11-session-log.md` records the day.