glenn schrooyen and Claude
2929ece7da
infra-pin / fresh (pull_request) Successful in 1s
checks / unit (pull_request) Successful in 1h0m42s
SAFETY-125 round 2: the one-inverter maintenance charge is sized to the room too
...
Owner 2026-10-29: fix N=1 in this hotfix. _charge_headroom() no longer
returns early at one inverter, so the N=1 cheap-window maintenance charge
is held to charge_room_w() as at N=2; SAFETY-84's site-stop rule stays N>=2
only (at N=1 such a stop outranks the shaping anyway). The guard no longer
steps in and gives power at each quarter's end during that charge.
test_safety125.py: N=1 maintenance on 5 s and 10 s meters with late
readings, with and without a banked peak; the row in an N=2 maintenance
charge and in shadow mode; edge cases (blind past the hold, a start
mid-quarter, the summer-time change, the forecast in W, a 10 s meter, the
last second). test_safety84/87: three N=1 pins move. test_safety119: its
quarter-edge hand-back runs keep the old N=1 sizing as a fixture, plus a
check that with the new sizing nothing hands back. CHANGELOG, DECISIONS,
DOCS follow.
Co-Authored-By: Claude <noreply@anthropic.com >
2026-10-29 14:57:39 +01:00
..
2026-10-29 14:57:39 +01:00
2026-10-29 14:57:39 +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 14:57:39 +01:00
2026-10-29 02:08:38 +01:00
2026-08-23 02:25:58 +02:00
2026-10-29 14:57:39 +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-29 14:57:39 +01:00
2026-10-01 20:25:41 +02:00
2026-10-01 19:05:27 +02:00
2026-10-29 14:57:39 +01: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-29 14:57:39 +01:00
2026-10-29 14:57:39 +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