Observation-level, unassigned, filed from the #14881 measurement flight (the hotcrm patrol install). ⛔ Not the subject of that card. Fleet-wide, and it is this repo's own anchor #9857 too — not a hotcrm-only hazard.
The measurement
.github/workflows/stale.yml in this repo:
days-before-issue-stale: 60
days-before-issue-close: 14
stale-issue-label: 'stale'
exempt-issue-labels: 'pinned,security,roadmap'
remove-stale-when-updated: true
The patrol anchor #9857 carries exactly one label, tracking, and no assignee. tracking is not in that exempt list. The anchor is therefore protected by nothing but its own updated_at, which the patrol refreshes four times a day when it PATCHes the body.
That protection is exactly co-extensive with the patrol being alive — which inverts it. half-state-patrol.yml's header states the property the anchor exists to carry:
The Swept timestamp in that body is the patrol's heartbeat and is deliberately refreshed even when the findings are unchanged: a timestamp that stops advancing is how a reader learns the standing caller died.
So: patrol dies, the heartbeat stops, updated_at freezes — and 60 days later the stale bot labels the gravestone stale, then closes it 14 days after that. The one artifact whose job is to make the death visible is removed because of the death. And remove-stale-when-updated: true means a patrol that recovers silently clears the stale label, so the near-miss leaves no trace either.
The sweeper keeps writing into a closed issue afterwards — issues.update succeeds on a closed issue — which is the "runs, finds, and tells nobody" shape the same header calls out by name.
Severity, stated honestly
It needs the patrol dead ~74 days first, and a patrol that cannot run fails its job red on every scheduled fire, so this is a second-order failure behind a loud first-order one, not a live defect today. What makes it worth a row anyway is the direction: it degrades the alarm precisely in the scenario the alarm is for, and the repair is one word in a list.
It is tighter in the repos being onboarded
hotcrm (clone at 18444c8, .github/workflows/stale.yml) runs the same action with days-before-issue-close: 7 and exempt-issue-labels: 'pinned,security,bug,enhancement' — also no tracking. Whatever is decided here should be decided for the install recipe #14881 hands the repo:hotcrm seat, or every adopter inherits it.
What would close it
Add tracking to exempt-issue-labels in stale.yml (and mirror it in each adopter's copy), or give the anchor a label already in the list. ⛔ Not fixed in #14881's PR: stale.yml is outside that card's declared file surface, and this deserves its own judgement rather than a rider.
Generated by Claude Code
Observation-level, unassigned, filed from the #14881 measurement flight (the hotcrm patrol install). ⛔ Not the subject of that card. Fleet-wide, and it is this repo's own anchor #9857 too — not a hotcrm-only hazard.
The measurement
.github/workflows/stale.ymlin this repo:The patrol anchor #9857 carries exactly one label,
tracking, and no assignee.trackingis not in that exempt list. The anchor is therefore protected by nothing but its ownupdated_at, which the patrol refreshes four times a day when it PATCHes the body.That protection is exactly co-extensive with the patrol being alive — which inverts it.
half-state-patrol.yml's header states the property the anchor exists to carry:So: patrol dies, the heartbeat stops,
updated_atfreezes — and 60 days later the stale bot labels the gravestonestale, then closes it 14 days after that. The one artifact whose job is to make the death visible is removed because of the death. Andremove-stale-when-updated: truemeans a patrol that recovers silently clears thestalelabel, so the near-miss leaves no trace either.The sweeper keeps writing into a closed issue afterwards —
issues.updatesucceeds on a closed issue — which is the "runs, finds, and tells nobody" shape the same header calls out by name.Severity, stated honestly
It needs the patrol dead ~74 days first, and a patrol that cannot run fails its job red on every scheduled fire, so this is a second-order failure behind a loud first-order one, not a live defect today. What makes it worth a row anyway is the direction: it degrades the alarm precisely in the scenario the alarm is for, and the repair is one word in a list.
It is tighter in the repos being onboarded
hotcrm (clone at
18444c8,.github/workflows/stale.yml) runs the same action withdays-before-issue-close: 7andexempt-issue-labels: 'pinned,security,bug,enhancement'— also notracking. Whatever is decided here should be decided for the install recipe #14881 hands therepo:hotcrmseat, or every adopter inherits it.What would close it
Add
trackingtoexempt-issue-labelsinstale.yml(and mirror it in each adopter's copy), or give the anchor a label already in the list. ⛔ Not fixed in #14881's PR:stale.ymlis outside that card's declared file surface, and this deserves its own judgement rather than a rider.Generated by Claude Code