Add 8-hour default window for legacy-meter deploy monitoring
Some checks failed
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 5s
Build and Publish Multi-Context Image / build-and-push (push) Failing after 1m15s

Expose hours query param on /legacy-meter/summary and weekly-review;
capture_legacy_meter_evidence.py defaults to --hours 8 (--days 7 for
weekly retirement gate). Re-capture post-deploy evidence with tighter window.
This commit is contained in:
tegwick 2026-07-09 01:35:51 +02:00
parent 674479dcc7
commit e302ca9f59
7 changed files with 252 additions and 90 deletions

View file

@ -93,6 +93,25 @@ class TestWorkplanAliasesAndLegacyMeter:
assert item["window"]["components"] == {"old-client": 1}
assert item["retirement_candidate"] is False
async def test_weekly_review_accepts_hours_window(self, client):
r = await client.post("/legacy-meter/interfaces", json={
"interface_key": "rest_api:GET /hour-window",
"interface_kind": "rest_api",
"replacement_ref": "/workplans/",
"replacement_verified": True,
})
assert r.status_code == 201, r.text
review = (await client.get("/legacy-meter/weekly-review?hours=8")).json()
window_seconds = (
datetime.fromisoformat(review["window_end"].replace("Z", "+00:00"))
- datetime.fromisoformat(review["window_start"].replace("Z", "+00:00"))
).total_seconds()
assert 8 * 3600 - 5 <= window_seconds <= 8 * 3600 + 5
bad = await client.get("/legacy-meter/weekly-review?days=7&hours=8")
assert bad.status_code == 422
async def test_weekly_review_reports_unused_verified_legacy_interface(self, client):
r = await client.post("/legacy-meter/interfaces", json={
"interface_key": "rest_api:GET /obsolete",