Part of #25
Question
Teach the health sweep to notice unreleased work.
The release-cut decision chose a workflow_dispatch button, whose honest weakness is that nothing presses it. That failure is already evidenced: VirtualWindow sat 46 commits past its only release and nothing surfaced it until this map went looking, three weeks later.
The sweep in cshuttle/Monitoring already walks the estate periodically, applies trend judgment and files deduplicated GitHub issues. This adds one more check beside the Netdata/Komodo/ArgoCD/backup ones: for each repo that has releases, commits on the default branch since the last release tag.
To decide while building:
- The threshold. A count, an age, or both — one commit a week old is not drift; thirty are. Whatever it is, it should not page for a repo that is simply quiet.
- Which repos are in scope. Every repo with a release tag, or an explicit list? An explicit list avoids nagging about repos that deliberately never release; a tag-presence rule needs no maintenance.
chrome-exporter is a component, not a repo — its tags are chrome-exporter/vX.Y.Z inside Monitoring, so "commits since the last release" must be scoped to that subdirectory or the number is meaningless.
- Dedupe and close behaviour: the issue should update rather than multiply, and close when a release lands.
Sequenced after the first real releases exist — there is nothing to measure drift against until then.
Part of #25
Question
Teach the health sweep to notice unreleased work.
The release-cut decision chose a
workflow_dispatchbutton, whose honest weakness is that nothing presses it. That failure is already evidenced: VirtualWindow sat 46 commits past its only release and nothing surfaced it until this map went looking, three weeks later.The sweep in
cshuttle/Monitoringalready walks the estate periodically, applies trend judgment and files deduplicated GitHub issues. This adds one more check beside the Netdata/Komodo/ArgoCD/backup ones: for each repo that has releases, commits on the default branch since the last release tag.To decide while building:
chrome-exporteris a component, not a repo — its tags arechrome-exporter/vX.Y.Zinside Monitoring, so "commits since the last release" must be scoped to that subdirectory or the number is meaningless.Sequenced after the first real releases exist — there is nothing to measure drift against until then.