glenn schrooyen and Claude
88ab8a50e3
checks / unit (pull_request) Successful in 56m44s
infra-pin / fresh (pull_request) Successful in 1s
SAFETY-125: a grid charge counts a late meter reading's seconds; the guard row says "over" when it is
...
A meter reading late near a quarter's end left seconds the projection did
not count (SAFETY-99), and charge_headroom_w() read them as room: the cheap
run (and price trading, and the N=2 maintenance charge) went back to full
power in the quarter's last seconds and the quarter could land over a banked
month peak or the cap. peakguard.charge_room_w() counts those seconds at the
held reading for the charge only; the guard's floor is unchanged.
The guard row said "idle, heading for 5 814 W, under this month's 5 413 W
peak". Over the limit at the current rate the row and the month-peak line
now say so, and that the grid charge is cut back.
Version 0.19.2, CHANGELOG, DECISIONS. test_safety125.py new; the lag pins
in test_price_run_fixes.py and test_opt20.py and the AST pin in
test_arbitrage.py follow the change (see the pull request).
Co-Authored-By: Claude <noreply@anthropic.com >
2026-10-29 02:08:38 +01:00
..
2026-10-29 02:08:38 +01:00
2026-10-29 02:08:38 +01:00
2026-09-29 19:29:32 +02:00
2026-10-22 10:37:43 +02:00
2026-10-22 03:21:41 +02:00
2026-08-23 01:15:25 +02:00
2026-10-29 02:08:38 +01:00
2026-10-29 02:08:38 +01:00
2026-08-23 02:25:58 +02:00
2026-10-28 15:08:21 +01:00
2026-09-24 22:13:25 +02:00
2026-09-25 00:06:58 +02:00
2026-08-23 02:25:58 +02:00
2026-08-23 02:25:58 +02:00
2026-09-28 18:51:29 +02:00
2026-10-01 02:00:20 +02:00
2026-10-29 02:08:38 +01:00
2026-09-29 22:37:09 +02:00
2026-09-01 02:07:09 +02:00
2026-09-25 19:07:34 +02:00
2026-10-04 00:15:42 +02:00
2026-09-27 08:01:16 +02:00
2026-09-28 19:41:36 +02:00
2026-09-13 03:49:08 +02:00
2026-09-28 02:16:24 +02:00
2026-09-24 23:24:50 +02:00
2026-09-27 02:12:10 +02:00
2026-10-04 00:15:42 +02:00
2026-09-28 02:49:58 +02:00
2026-10-22 10:37:43 +02:00
2026-09-27 08:01:16 +02:00
2026-09-06 01:10:15 +02:00
2026-10-05 23:24:02 +02:00
2026-10-14 00:39:37 +02:00
2026-10-14 22:07:09 +02:00
2026-10-09 23:56:29 +02:00
2026-10-10 00:42:01 +02:00
2026-10-08 20:37:01 +02:00
2026-10-13 01:07:51 +02:00
2026-10-22 10:37:43 +02:00
2026-10-28 17:17:56 +01:00
2026-10-06 12:44:25 +02:00
2026-10-17 02:16:34 +02:00
2026-09-25 00:06:58 +02:00
2026-10-11 05:12:35 +02:00
2026-10-29 02:08:38 +01:00
2026-09-27 02:12:10 +02:00
2026-09-25 00:06:58 +02:00
2026-10-01 19:05:27 +02:00
2026-10-02 14:03:54 +02:00
2026-10-22 14:59:13 +02:00
2026-10-22 10:37:43 +02:00
2026-10-22 10:37:43 +02:00
2026-10-29 02:08:38 +01:00
2026-10-14 22:07:09 +02:00
2026-10-22 10:37:43 +02:00
2026-10-22 10:37:43 +02:00
2026-09-28 00:45:01 +02:00
2026-09-28 02:16:24 +02:00
2026-09-27 18:11:42 +02:00
2026-09-24 23:27:50 +02:00
2026-10-06 04:02:03 +02:00
2026-10-13 12:15:44 +02:00
2026-10-01 00:56:34 +02:00
2026-10-21 10:09:14 +02:00
2026-10-01 20:25:41 +02:00
2026-10-01 19:05:27 +02:00
2026-10-21 10:09:14 +02:00
2026-10-05 12:39:28 +02:00
2026-10-02 14:54:20 +02:00
2026-10-08 12:03:55 +02:00
2026-10-04 12:21:24 +02:00
2026-10-07 16:41:16 +02:00
2026-10-06 05:46:32 +02:00
2026-10-04 16:57:16 +02:00
2026-10-08 03:12:03 +02:00
2026-10-09 03:52:39 +02:00
2026-10-13 02:10:27 +02:00
2026-10-16 18:19:44 +02:00
2026-10-21 10:09:14 +02:00
2026-10-29 02:08:38 +01:00
2026-09-27 23:11:31 +02:00
2026-09-28 05:31:18 +02:00
2026-10-14 22:07:09 +02:00
2026-09-29 11:21:32 +02:00
2026-10-22 10:37:43 +02:00
2026-10-28 17:17:56 +01:00
2026-10-28 01:09:39 +01:00
2026-09-27 10:58:43 +02:00
2026-09-19 02:37:01 +02:00
2026-09-27 05:55:45 +02:00
2026-09-27 05:55:45 +02:00
2026-10-16 05:26:32 +02:00
2026-09-28 02:49:58 +02:00
2026-10-16 01:40:40 +02:00
2026-10-22 03:41:18 +02:00
2026-09-27 23:11:31 +02:00
2026-09-27 05:55:45 +02:00
2026-10-14 22:07:09 +02:00
2026-09-27 08:01:16 +02:00