fix: validate complete-day monitoring coverage

This commit is contained in:
xavierk
2026-09-29 03:34:17 +05:30
parent d045e88043
commit e22b99442e
7 changed files with 130 additions and 65 deletions
@@ -187,6 +187,39 @@ class TestGateNoCompleteDay:
assert any("full local observation day" in fact
for fact in result.contributing_facts)
def test_day_split_by_deliberate_pause_does_not_open_gate(self, store):
"""A complete-looking summary cannot span separate monitoring periods."""
_insert_baseline(store)
_insert_segment(store)
for i in range(20):
day = (datetime(2026, 9, 10) + timedelta(days=i)).strftime("%Y-%m-%d")
_insert_day(store, day, bw=1024 * 1024 * 100)
_insert_sample(store, "2026-09-30T10:00:00+00:00", pu=5)
store.executemany(
"INSERT INTO monitoring_periods (started_at, ended_at, end_cause) "
"VALUES (?, ?, ?)",
[
("2026-09-29T00:00:00+00:00", "2026-09-29T12:00:00+00:00", "user_disabled"),
("2026-09-29T13:00:00+00:00", "2026-09-30T00:00:00+00:00", "user_disabled"),
("2026-09-30T00:00:00+00:00", None, None),
],
)
store.commit()
_insert_local_day(
store,
"2026-09-29",
utc_start="2026-09-29T00:00:00+00:00",
utc_end="2026-09-30T00:00:00+00:00",
complete=True,
)
result = compute_projection(store, _clock())
assert result.confidence_state == ConfidenceState.UNSUPPORTED
assert any("full local observation day" in fact
for fact in result.contributing_facts)
def test_partial_but_trusted_local_activity_opens_gate(self, store):
"""Known local intervals can coexist with an incomplete day total."""
_insert_baseline(store)