Repository navigation
Deployed November 3, 2026 to the public and private dashboards and the Cloud Run jobs, from main at 4b8f02b.
Changes since v0.3.11
- Data freshness, shown separately from check freshness: each check records when the publisher last changed its data (ArcGIS
lastEditDate, HTTPLast-Modified, or the newest MnGeo county acquisition date). Each source has an expected update interval: an owner-setexpected_update_days, or one learned from history, or a 90-day default. The private overview gets a Data freshness card, and source pages show the age, the interval and where it came from. Stale data never becomes an active alert (#197). - Weekly digest: the new
watchtower weekly-digestcommand reads saved state and logs one structured digest line. It lists stale sources oldest first, sources with no publisher time, and overdue checks, and it makes no provider requests. An informational alert policy emails it on Monday mornings (#197). - Digest policy for a dedicated job:
render_alert_policies.py --digest-jobrenders the digest policy for a job that runs onlyweekly-digest, so its scheduler needs no permission to override job arguments (#199).
Known limitations
- Provider-terms follow-ups join the digest with the CRM-backed terms view (#185).
- Sources checked only by the local worker learn no update interval in the digest. They use their configured interval or the 90-day default.