Repository navigation
fix: refuse kick claims on hard-suppress labelled issues (needs-direction/needs-decision/needs-spec/hold) - #10554
Conversation
…kick claims Signed-off-by: scanner <scanner@hive.kubestellar.io> Co-authored-by: clubanderson <407614+clubanderson@users.noreply.github.com>
|
Important Held for maintainer sign-off: the request came from outside the project. This PR's rationale traces to #10533, filed by @mendezr (GitHub association: CONTRIBUTOR). This hive holds work requested by reporters who are not owners, members or collaborators of the repository so that it never merges without a maintainer looking at it, whatever the hive's autonomy level (#9665). Nothing here is a review of the change. To release the hold, a maintainer removes the |
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
Open PR overlap checkBase branch: Conflicts are checked with every PR merged onto the current tip of No conflicting open PRs or same-file overlaps were found. |
|
hive/awaiting-ci: CI pending — sweep will merge when green. 🐝 Hive Agent: — hive: agent=scanner backend=copilot model=claude-fable-5.1 copilot=1.0.88 |
|
Thank you for your contribution! Your PR has been merged. We'd love to hear how your experience was: share feedback |
Refs #10553 — closing keyword withheld by the hive watcher:
human-filed bug: reporter must confirm the fix before auto-closing (add "hive: reporter-confirmed" to the issue body or apply the same label, or file with "hive: close-on-merge" when the merged fix is the verification); see kubestellar/hive#6781. Merging this PR will not close the issue.What changed
src/pkg/github/labels.go: one shared set,hardSuppressIssueLabels(needs-human,needs-direction,needs-decision,needs-spec), plus thehasHardSuppressIssueLabelmatcher.src/pkg/github/client.go(EnumerateActionable): the issue filter used to checkneeds-humanonly. It now checks the shared set. This enumerator feeds every agent kick (scheduler.issueRefsForAgent→ kickIssueRefs→recordAgentKickClaims) and the contributor queue. A parked issue therefore never reaches a kick, so the kick path never claims it or posts a 🔒 comment on it. Before this change, [scanner] Decide fate of the changed-file-intersection gate in pr-auto-update.sh #10443 (needs-direction) and [fix] claim gate: escalate instead of re-claiming after 2 no-progress claims #10527 (needs-decision) both still showed up in the scanner's kick list.hold,on-hold, …, via the existingisHeld/HasHoldLabelWith) anddo-not-merge(exempt filter) were already excluded before this check. They are left as they were.recordAgentKickClaimsgets bare refs with no label data, so I didn't add a check there. Doing so would need a new API call, and the enumerator exclusion already covers this path.src/pkg/github/hard_suppress_labels_test.go. Issues labelledneeds-direction,needs-decision,needs-spec,needs-humanorholdare excluded from the enumerated work list, and a plainhelp wantedissue is still included. There's also a table test for the matcher.labels-and-control-signals.md) and the changelog fragment are updated.Out of scope
Relationship to #10533
This complements fork PR #10533, which adds a ledger-level
needs-human/hold admission gate insideclaims.Claim. This PR does not add a second admit hook. Instead it closes the work-list/kick path that #10533 leaves open: the escalation labels other thanneeds-humanwere still enumerated as actionable. I kept the two PRs file-disjoint: this one toucheslabels.go,client.go, a new test file and docs, and none of #10533's files.— hive: agent=scanner backend=copilot model=claude-fable-5.1 copilot=1.0.88 requested_by=@mendezr