Codex
04bb54aef3
fix: the baseline cache keys on geometry, and the smoke tells all three worlds apart ( #330 r2-M1)
...
The reviewer proved my behavioural claim false by running the stale-cache
mutant against the smoke: 11 vs 12 total calls — indistinguishable. Two real
defects hid behind that finding:
1. The cache keyed on _cfgEpoch, which ticks on every ACCEPTED PREVIEW —
the cache missed on every pointermove and the baseline was recomputed
~4 times per gesture (measured). The key is now the document identity
plus spacePhysicalGeometryFingerprint of its space: content, not a
counter. A preview overlay leaves the fingerprint alone; an in-place
structural commit changes it and honestly invalidates.
2. The smoke now counts BASELINE computations only (calls whose document is
_serverCfg) across two gestures with a commit in between, expecting
exactly 1 then exactly 2. A disabled cache lands near 20, an eternal
cache stays at 1 — every mutant class turns the smoke red, and the smoke
is now the mutant's guard alongside the source-contract unit.
Issue: #330
User-Visible: no
2026-08-28 03:35:40 +03:00
..
2026-08-27 23:32:07 +03:00
2026-08-12 19:18:54 +03:00
2026-08-20 19:32:16 +00:00
2026-08-04 14:13:38 +03:00
2026-08-27 12:23:54 +03:00
2026-08-22 13:45:26 +03:00
2026-08-23 00:34:55 +03:00
2026-08-26 02:20:57 +03:00
2026-08-26 01:34:20 +03:00
2026-08-09 21:51:33 +03:00
2026-08-06 16:48:45 +03:00
2026-08-16 21:53:41 +03:00
2026-08-08 21:33:09 +03:00
2026-08-24 17:13:21 +03:00
2026-08-24 17:13:21 +03:00
2026-08-07 13:02:46 +03:00
2026-08-20 11:00:22 +03:00
2026-08-27 23:17:52 +00:00
2026-08-20 11:00:22 +03:00
2026-08-26 01:34:20 +03:00
2026-08-27 22:41:46 +03:00
2026-08-23 22:24:32 +03:00
2026-08-19 22:37:25 +03:00
2026-08-23 08:08:17 +03:00
2026-08-16 22:35:54 +03:00
2026-08-23 16:32:12 +03:00
2026-08-23 00:19:54 +03:00
2026-08-20 01:38:01 +03:00
2026-08-24 15:06:06 +03:00
2026-08-11 19:15:21 +03:00
2026-08-05 11:41:00 +03:00
2026-08-19 23:33:44 +03:00
2026-08-11 02:49:42 +03:00
2026-08-10 00:24:42 +03:00
2026-08-27 23:32:07 +03:00
2026-08-28 01:59:45 +03:00
2026-08-25 12:49:41 +03:00
2026-08-19 02:12:37 +03:00
2026-08-13 00:14:51 +03:00
2026-08-28 02:55:22 +03:00
2026-08-20 01:38:01 +03:00
2026-08-23 01:59:26 +03:00
2026-08-14 00:43:13 +03:00
2026-08-14 00:43:13 +03:00
2026-08-26 01:34:20 +03:00
2026-08-28 03:35:40 +03:00
2026-08-13 15:28:19 +03:00
2026-08-11 22:12:08 +03:00
2026-08-17 16:45:41 +03:00
2026-08-17 16:45:41 +03:00
2026-08-18 21:31:04 +03:00
2026-08-12 12:43:27 +03:00
2026-08-27 00:21:23 +03:00
2026-08-28 01:33:36 +03:00
2026-08-18 21:31:04 +03:00
2026-08-24 17:02:48 +03:00
2026-08-26 02:21:20 +03:00
2026-08-19 18:04:11 +03:00
2026-08-22 12:25:05 +03:00
2026-08-25 12:17:30 +03:00
2026-08-19 15:43:23 +03:00
2026-08-23 01:59:26 +03:00
2026-08-23 01:59:26 +03:00
2026-08-26 02:20:57 +03:00
2026-08-20 01:38:01 +03:00
2026-08-19 15:43:23 +03:00
2026-08-10 18:01:16 +03:00
2026-08-27 20:30:07 +03:00
2026-08-27 18:50:02 +03:00
2026-08-22 14:47:38 +03:00
2026-08-27 13:58:06 +03:00
2026-08-26 14:01:58 +03:00
2026-08-25 16:36:55 +03:00
2026-08-20 08:42:34 +03:00
2026-08-26 10:28:04 +03:00
2026-08-18 20:33:44 +03:00
2026-08-10 18:01:16 +03:00
2026-08-27 18:55:41 +03:00
2026-08-19 02:12:37 +03:00
2026-08-23 10:15:45 +03:00
2026-08-26 02:20:57 +03:00
2026-08-27 20:30:07 +03:00
2026-08-24 22:59:33 +03:00
2026-08-26 02:20:57 +03:00
2026-08-27 20:30:07 +03:00
2026-08-24 17:35:45 +03:00
2026-08-22 10:56:22 +03:00
2026-08-22 15:32:55 +03:00
2026-08-11 02:49:42 +03:00
2026-08-23 09:49:22 +03:00
2026-08-22 18:32:52 +03:00
2026-08-22 19:12:27 +03:00
2026-08-23 00:35:48 +03:00
2026-08-27 16:33:47 +03:00
2026-08-17 16:45:41 +03:00
2026-08-19 02:49:39 +03:00
2026-08-21 00:50:15 +03:00
2026-08-25 14:47:04 +03:00
2026-08-26 01:34:20 +03:00
2026-08-26 01:55:00 +03:00
2026-08-17 12:01:14 +03:00
2026-08-19 16:17:09 +03:00
2026-08-09 21:51:33 +03:00
2026-08-28 02:04:40 +03:00
2026-08-14 03:32:53 +03:00
2026-08-11 05:40:32 +03:00
2026-08-08 21:33:09 +03:00
2026-08-26 13:39:52 +03:00
2026-08-22 10:56:38 +03:00
2026-08-21 13:25:16 +03:00
2026-08-27 20:30:07 +03:00
2026-08-26 23:41:35 +03:00
2026-08-27 15:00:30 +03:00
2026-08-26 13:39:52 +03:00
2026-08-26 13:39:52 +03:00