Skip to content

fix: refuse kick claims on hard-suppress labelled issues (needs-direction/needs-decision/needs-spec/hold) - #10554

Merged
clubanderson merged 1 commit into
v5from
scanner/fix-10553
Oct 5, 2026
Merged

clubanderson merged 1 commit into
v5from
scanner/fix-10553

Conversation

@hivecommons-hive

Copy link
Copy Markdown
Contributor

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 the hasHardSuppressIssueLabel matcher.
  • src/pkg/github/client.go (EnumerateActionable): the issue filter used to check needs-human only. It now checks the shared set. This enumerator feeds every agent kick (scheduler.issueRefsForAgent → kick IssueRefs → 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 labels (hold, on-hold, …, via the existing isHeld/HasHoldLabelWith) and do-not-merge (exempt filter) were already excluded before this check. They are left as they were.
  • recordAgentKickClaims gets 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.
  • Tests: src/pkg/github/hard_suppress_labels_test.go. Issues labelled needs-direction, needs-decision, needs-spec, needs-human or hold are excluded from the enumerated work list, and a plain help wanted issue is still included. There's also a table test for the matcher.
  • Docs (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 inside claims.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 than needs-human were still enumerated as actionable. I kept the two PRs file-disjoint: this one touches labels.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

…kick claims

Signed-off-by: scanner <scanner@hive.kubestellar.io>
Co-authored-by: clubanderson <407614+clubanderson@users.noreply.github.com>
@hivecommons-hive hivecommons-hive Bot added the hold label Oct 5, 2026
@hivecommons-hive

Copy link
Copy Markdown
Contributor Author

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 hold label; Hive will not remove it on its own. To trust this reporter in future, add them under Settings → Labels → Reporter trust.

@kubestellar-prow kubestellar-prow Bot added the dco-signoff: yes Indicates the PR's author has signed the DCO. label Oct 5, 2026
@kubestellar-prow

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
Once this PR has been reviewed and has the lgtm label, please assign kellyaa for approval. For more information see the Code Review Process.

The full list of commands accepted by this bot can be found here.

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@kubestellar-prow kubestellar-prow Bot added the size/M Denotes a PR that changes 30-99 lines, ignoring generated files. label Oct 5, 2026
@github-actions

github-actions Bot commented Oct 5, 2026 •

Copy link
Copy Markdown
Contributor

Open PR overlap check

Base branch: v5

Conflicts are checked with every PR merged onto the current tip of v5, so a PR that only needs a rebase is not reported as conflicting with its siblings.

No conflicting open PRs or same-file overlaps were found.

@hivecommons-hive

Copy link
Copy Markdown
Contributor Author

hive/awaiting-ci: CI pending — sweep will merge when green.


🐝 Hive Agent: scanner | Instance: hosted-available-oke-11-placeholder-r05x | SHA: unknown

— hive: agent=scanner backend=copilot model=claude-fable-5.1 copilot=1.0.88

@clubanderson
clubanderson merged commit d03ef60 into v5 Oct 5, 2026
61 of 64 checks passed
@kubestellar-prow
kubestellar-prow Bot deleted the scanner/fix-10553 branch October 5, 2026 14:40
@github-actions

github-actions Bot commented Oct 5, 2026

Copy link
Copy Markdown
Contributor

Thank you for your contribution! Your PR has been merged.

We'd love to hear how your experience was: share feedback

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

copilot dco-signoff: yes Indicates the PR's author has signed the DCO. hold size/M Denotes a PR that changes 30-99 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant