Working notes: 2026-10-22 evening, after crash 46
Claude, one session from 19:20 MDT (back up after the 19:16 crash). Matthew, AFK until about 6:00: "Please do your best", and "Some stuff is meant to run later --- please don't crash my computer before it does." So since 19:43 every timing and test run has gone to GitHub; the laptop has run only typechecks (10 to 55 s, niced) and two seconds-long node checks.
Where things are
- Servers (restarted after the crash): 8000 (dashboard), 8131 (reports' sources, with tonight's DRAFT at
/029/#fixes-2, not published), 8341 (#2635), 8311 (#2597), 8312 (ticket 468's trial), 8133 (Dress Up), 8361 (#2698), 8482 (the Scripting panel PR). - Fumola, ticket 549: issue Adapton/fumola#149 (a deep answer traps the wasm instance) and PR Adapton/fumola#150 (deep answers written and dropped in a loop), filed on Matthew's word; Auto-fix on.
bench/549-deep(measuring only) stays, the PR cites it. - Hazel, ticket 559 (the evaluator's fast path for values):
trial/r25-fastpath(on the counter build) andtrial/r25-fastpath-best(ontrial/r25-best), CI green on both; timed bytiming/559-fastpath(run 39885788957). Worktrees~/hazel-559,~/hazel-559-best. - Hazel × Dress Up, ticket 553 (a map for the rules): the game's branch
hazel-map-553(dac7bc6, kids-choice-games, worktree~/kcg-553); librarytrial/r25-553(r25-best + 547, 548, 551; worktree~/hazel-553); timing branchtiming/553-map, runs 39886598556 (map against shipped), 39887272978 (against Fumola), 39888318843 (set-up in parts). - Hazel, ticket 552 (a CI test on a call's passes):
lib-complexity-552onlib-closures(worktree~/hazel-552), and its negative controltrial/552-without-547onlib-floor(to delete after it fails as it should). - Measurement rows:
~/hazel-perf-report/559-work/and553-work/, copied into029/data/fixes/for the draft. Nothing in that repo is pushed (a push publishes).
Found
- 559: pass counts exact; a third fewer passes on loops (count(1000): 14,009 to 9,007) for about 10% of the time (count, fib: 0.87 to 0.93, noise 2 to 4%); a held list's reference (h_ref) 7 passes at every size, 34x faster at 3,000, without 547. Long list loops unchanged (their cost is 548's re-typing).
- 553: with the squares held in Common's map, a World move is about 1 ms at every size from 3x3 to 64x64 (0.97 ms at 64x64 against 236 ms for the rule as shipped); within 1.3x to 3.5x of Fumola's HashMap on the same runners. Needs 547 (without it the held map is re-walked). The map's set-up is 1.5 to 2.1 s at 64x64 (Fumola: 0.33 s): three walks of the list at Hazel's per-pass cost; annotations make no difference.
Waiting on Matthew
- Whether 559 becomes a PR, and where (it sits on trial builds).
- Publishing ^report(29)'s second fixes (draft at localhost:8131/029/#fixes-2).
- The standing ones: 558 (lib-floor's PR), 564, 562, and 549's PR review.
After 20:20
- 552: CI green on
lib-complexity-552; the negative control (lib-floor+ the test) failed on exactly that test, so it guards 547; the control branch is deleted. - 553: against Fumola on the same runners, Hazel's map is 1.3x to 3.5x its HashMap (2.5x at 64x64), both flat; set-up 6.5x Fumola's. The set-up is three walks at Hazel's per-pass cost (annotations make no difference);
hazel-map-5536de982a folds the count into the order check: 12 to 19% less set-up at 32x32 and 64x64. - 540:
Square's map by uid is blocked: Hazel has no string ordering.Wrong (corrected 10-23 07:05): Hazel has hadstring_comparesince May (Atom.compare_builtins, returningOrd: Lt, Eq, Gt); I had searched one list of builtins only. A duplicate I added on 10-23 was reverted. - 565: done after midnight: the picture archive's run-2026-10-23 (0.0.411, 864 drawings, 26 new, 0 page errors), landed as dress-up-pictures f9e90d2.
- Every open Hazel ticket in the queue now waits on Matthew (tagged so on the dashboard).