Add feed health observability and critical-lane alerts - #8
Closed
MEHuggins wants to merge 14 commits into
Closed
Conversation
Contributor
Author
|
Superseded by clean Draft PR #10. PR #8 served as the live integration branch and proved the health system could rebuild all 111 areas with zero critical and zero empty lanes, but its workflow-generated feed outputs made the review too large. The branch and test history are being retained for evidence; this PR should not be merged. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What changed
scripts/feed_health.py, an independent post-build auditor that:HEALTHY,DEGRADED,STALE_LAST_KNOWN_GOOD,EMPTY,CRITICAL_STALE, orCRITICAL_EMPTYlast_nonempty_atand counts consecutive nonproductive runshealth/feed-health.json,health/feed-health.md, and a publichealth/index.htmldashboardscripts/check_feed_health.pyto publish GitHub Actions warnings/errors and fail the run when a critical lane is empty or stale.gzip -n, eliminating timestamp-only.gzchurn.Root cause addressed
The existing workflow treats structurally valid empty feeds as healthy and silently preserves old files when a lane produces zero usable items. Fresh
.gztimestamps also obscure this because compression rewrites every archive even when the underlying feed did not run successfully.Operational impact
After merge, each scheduled collection will commit a machine-readable and human-readable health report. Critical lanes such as agentic AI, quantum security, Elon Musk, robotics, AI policy, workforce change, and planetary warning will produce explicit GitHub Actions errors when empty or stale. The report is committed before the final policy gate, so diagnostics remain available even when the run is marked failed.
Validation performed
python -m py_compilepassed for all new and modified Python files.python -m unittest discover -s tests -p "test_*.py"passed: 5 tests.Safety
main.