SAFETY-129 round 3: the real reason for the 16 s limit, a slow-start check, the row's tail
checks / unit (pull_request) Successful in 23m1s
infra-pin / fresh (pull_request) Successful in 1s

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
glenn schrooyen
2026-11-07 00:12:33 +01:00
co-authored by Claude
parent 03541a1eee
commit c70eeb6916
3 changed files with 22 additions and 8 deletions
+11 -2
View File
@@ -121,6 +121,15 @@ for dead in (8.0, 10.0):
check(f"{dead:.0f} s dead time at a 5 s meter is not read as late "
f"(R2-1 does not get worse)", secs == 0)
# At a 6 s meter an 8 s dead time reads late on the slow fit alone; only the
# slow-start and battery-fit check keeps it from a verdict (122 s late
# without the check, from 1 084 s).
r, secs, first = run_late(house=owner, noise=80.0, units=AB, p1_s=6.0,
dead_s=8.0, dur=1500.0)
print(f" 8 s dead time, 6 s meter: late {secs} s")
check("an 8 s dead time at a 6 s meter is never late (the slow fit needs an "
"ask slow to start and no battery fit on time)", secs == 0)
# A 12 s dead time is already read as late (R2-1, SAFETY-128); the slow-meter
# fit must not make that longer. The same run with the slow fit off is the
# tree before this card.
@@ -219,8 +228,8 @@ check("one late slow-meter fit is no fit; two in a row are one, and "
check("the slow fit asks for a longer window and a later delay than the "
"fast one", lateness.M_SLOW_FIT_S > lateness.M_FIT_S
and lateness.M_SLOW_LATE_S > lateness.M_LATE_S)
check("the slow fit's delay is above what a 10-12 s slow battery reads "
"(R2-1: up to 15 s at a 5 s meter)", lateness.M_SLOW_LATE_S >= 16.0)
check("the slow fit's late limit is above the fast one's and above a "
"10 s lag", lateness.M_SLOW_LATE_S >= 16.0)
print()
if fails: