byrongamatos and Claude Sonnet 4.6
a55dca7893
fix(h3d): Toby r3 — restore _CV_KEY_TIME to screen.js, fix test-16 regex vacuity
...
F1 (HIGH): _CV_KEY_TIME_MUL / _CV_KEY_TIME_SLOT were moved into the
renderer.js closure at 06e4fe3 but _encodeChordVerdictKey (defined in
screen.js IIFE scope, DI'd as fn-ref) still reads them from screen.js
scope → ReferenceError on first chord-template chart frame. Fix:
restore both consts to screen.js (declared before _encodeChordVerdictKey),
add them as DI shorthands in renderer.js, remove closure copies. Single
source of truth — no dual definitions.
Kill test 23: asserts _CV_KEY_TIME_MUL / _SLOT are declared in screen.js
before _encodeChordVerdictKey. RED at 06e4fe3 , GREEN here.
F2 (MED): test #16 createRenderer regex /const \{ update \} = .../ did not
match after F1-prewarm added _prewarmStatic/_prewarmChart to the destructure
→ vacuous pass (wiring block never extracted, 0 shorthands checked). Fix:
updated regex to /const \{[^}]*update[^}]*\} = createRenderer\({...}\)/.
Added anti-vacuity floor: assert extracted Set.size >= 150 so a future
regex break fails loudly.
P3 (LOW): added ⚠ comment on smoke tests 23-25 documenting the new Function
sloppy-mode hole and naming eslint no-undef as the compensating layer.
DI count: 313 → 315 (+2 shorthands for _CV_KEY_TIME_MUL / _CV_KEY_TIME_SLOT).
Suite: 1406/1407 (test 46 pre-existing).
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_014uZ169yfoFYArXz962g7KW
2026-09-06 01:16:13 +02:00
..
2026-07-11 16:33:03 +02:00
2026-06-16 18:47:13 +02:00
2026-07-19 12:16:02 +02:00
2026-06-23 11:03:01 +02:00
2026-06-23 11:03:01 +02:00
2026-06-16 18:47:13 +02:00
2026-06-23 11:03:01 +02:00
2026-06-23 11:03:01 +02:00
2026-06-23 11:03:01 +02:00
2026-06-23 11:03:01 +02:00
2026-06-23 11:03:01 +02:00
2026-06-23 11:03:01 +02:00
2026-06-23 11:03:01 +02:00
2026-06-23 11:03:01 +02:00
2026-06-23 11:03:01 +02:00
2026-07-12 14:22:19 +02:00
2026-07-05 23:50:30 +02:00
2026-07-10 23:19:20 +02:00
2026-06-23 11:03:01 +02:00
2026-06-23 11:03:01 +02:00
2026-06-23 11:03:01 +02:00
2026-06-23 11:03:01 +02:00
2026-06-23 11:03:01 +02:00
2026-06-23 11:03:01 +02:00
2026-06-23 11:03:01 +02:00
2026-06-23 11:03:01 +02:00
2026-07-11 18:18:00 +02:00
2026-06-23 11:03:01 +02:00
2026-09-03 18:34:02 +02:00
2026-07-15 10:50:55 +02:00
2026-07-19 11:27:52 +02:00
2026-07-23 11:26:32 +02:00
2026-06-23 11:03:01 +02:00
2026-07-02 18:42:26 +02:00
2026-07-12 13:43:57 +02:00
2026-07-05 23:37:39 +02:00
2026-07-19 11:52:51 +02:00
2026-07-19 11:52:51 +02:00
2026-07-15 00:36:20 +02:00
2026-07-10 23:19:20 +02:00
2026-09-05 22:47:48 +02:00
2026-09-05 18:32:25 +02:00
2026-09-05 09:03:10 +02:00
2026-09-05 09:55:36 +02:00
2026-09-05 22:47:48 +02:00
2026-09-05 22:47:48 +02:00
2026-09-05 19:19:57 +02:00
2026-07-05 22:20:32 +02:00
2026-09-05 22:47:48 +02:00
2026-09-05 22:47:48 +02:00
2026-09-05 06:50:52 +02:00
2026-09-05 16:07:37 +02:00
2026-09-05 07:19:58 +02:00
2026-09-05 22:47:48 +02:00
2026-09-05 16:37:20 +02:00
2026-09-05 12:40:34 +02:00
2026-09-05 23:37:57 +02:00
2026-06-22 13:27:21 +02:00
2026-09-05 15:14:53 +02:00
2026-09-05 16:37:20 +02:00
2026-09-05 10:24:40 +02:00
2026-09-05 22:47:48 +02:00
2026-09-06 01:16:13 +02:00
2026-07-02 00:40:52 +02:00
2026-09-06 01:00:02 +02:00
2026-09-06 01:00:02 +02:00
2026-09-05 22:47:48 +02:00
2026-09-05 17:51:54 +02:00
2026-09-05 06:50:52 +02:00
2026-09-05 22:47:48 +02:00
2026-09-05 07:42:18 +02:00
2026-09-05 08:02:00 +02:00
2026-09-05 16:37:20 +02:00
2026-07-12 12:24:40 +02:00
2026-06-23 11:03:01 +02:00
2026-09-05 20:32:15 +02:00
2026-09-05 22:47:48 +02:00
2026-09-05 20:32:15 +02:00
2026-07-19 11:27:52 +02:00
2026-07-11 19:22:14 +02:00
2026-07-10 23:19:20 +02:00
2026-07-12 12:24:40 +02:00
2026-09-05 22:47:48 +02:00
2026-07-15 00:36:16 +02:00
2026-07-10 23:19:20 +02:00
2026-07-10 23:19:20 +02:00
2026-07-12 12:24:40 +02:00
2026-09-05 20:32:15 +02:00
2026-07-10 23:19:20 +02:00
2026-07-11 20:58:41 +02:00
2026-07-11 22:44:03 +02:00
2026-07-12 00:19:59 +02:00
2026-06-16 19:36:53 +01:00
2026-07-03 14:35:07 +02:00
2026-07-13 00:35:09 +02:00
2026-07-11 21:32:31 +02:00
2026-07-23 11:26:32 +02:00
2026-06-23 11:03:01 +02:00
2026-07-12 16:06:28 +02:00
2026-06-23 11:03:01 +02:00
2026-06-23 11:03:01 +02:00
2026-07-11 23:26:35 +02:00
2026-07-15 12:39:25 +02:00
2026-07-03 13:07:47 +02:00
2026-07-11 23:26:35 +02:00
2026-06-23 11:03:01 +02:00
2026-06-23 11:03:01 +02:00
2026-06-23 11:03:01 +02:00
2026-06-23 11:03:01 +02:00
2026-07-11 18:18:00 +02:00
2026-07-12 00:19:59 +02:00
2026-07-12 00:19:59 +02:00
2026-07-11 18:18:00 +02:00
2026-06-23 11:03:01 +02:00
2026-06-23 11:03:01 +02:00
2026-06-23 11:03:01 +02:00
2026-06-23 11:03:01 +02:00
2026-07-11 22:44:03 +02:00
2026-07-11 20:58:41 +02:00
2026-07-12 14:08:45 +02:00
2026-07-12 16:05:50 +02:00
2026-07-12 14:22:19 +02:00
2026-07-11 22:05:22 +02:00
2026-07-12 11:56:07 +02:00
2026-07-11 21:52:51 +02:00
2026-07-11 23:26:35 +02:00
2026-07-12 14:22:19 +02:00
2026-06-16 18:47:13 +02:00
2026-06-23 11:03:01 +02:00
2026-07-12 14:22:19 +02:00
2026-06-16 18:47:13 +02:00
2026-07-11 19:37:44 +02:00
2026-07-11 19:37:44 +02:00
2026-06-28 13:58:14 +02:00
2026-07-02 14:03:05 +02:00
2026-06-29 10:42:41 +02:00
2026-07-02 14:52:40 +02:00
2026-07-03 14:35:07 +02:00
2026-07-11 23:30:30 +02:00
2026-06-28 14:10:15 +02:00
2026-07-19 00:10:53 -05:00
2026-06-28 12:39:13 +02:00
2026-06-29 12:26:29 +02:00
2026-07-19 00:04:30 -05:00
2026-07-05 00:19:46 +02:00
2026-07-02 13:57:58 +02:00
2026-06-29 14:44:56 +02:00
2026-07-13 15:07:28 +02:00
2026-06-16 18:47:13 +02:00
2026-06-23 11:03:01 +02:00
2026-07-14 22:11:52 +02:00
2026-07-15 12:39:25 +02:00
2026-07-11 18:41:52 +02:00
2026-06-23 11:03:01 +02:00
2026-09-03 14:37:34 +02:00
2026-07-11 17:09:18 +02:00
2026-07-01 11:07:58 +02:00
2026-07-05 00:16:42 +02:00