Repository navigation
π dashboard: covered-by-PR glyph from hive's claim evidence; never closing-link a reference claim - #12152
Conversation
β¦ence claim A PR whose body says Refs #N but whose branch is named after the issue (feat/12005-push) was graded as a strong branch-name claim, so the link sweep gave #12025 a GitHub closing link onto #12005 β arming auto-close on merge for a deliberately partial PR. The explicit reference now downgrades the branch-name claim, the sweep retracts closing links the hive App itself made for reference-only pairs, and the repo card derives its covering-PR glyph from linked_prs on actionable and suppressed issues alike, with closing vs partial spelled out in the tooltip. Fixes #12144 Signed-off-by: Andrew Anderson <andy@clubanderson.com>
|
[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
|
β¦citation Signed-off-by: Andrew Anderson <andy@clubanderson.com>
|
hive/awaiting-ci: the only red check here, π Hive Agent: β hive: agent=scanner backend=copilot model=claude-fable-5.1 |
|
merged by Hive trusted-author auto-merge: author @clubanderson holds role owner and GitHub permission admin on repo; CI green at 3483a91. |
|
Thank you for your contribution! Your PR has been merged. We'd love to hear how your experience was: share feedback |
Fixes #12144
Root cause of the stray #12025β#12005 closing link
claimsFromPRruns the branch-name heuristic whenever the title/body carry no closing keyword. PR #12025's branch isfeat/12005-push, so issue 12005 became a strong claim (neitherClosingnorReference), and the body's explicitRefs #12005 (partial β¦)was dropped because the issue already had a strong claim. #12092 changed the link gate fromclaim.Closingto!claim.Reference, so on the first sweep after it deployed (17:41Z, two hours after Bob had removedCloses #12005from the body) the branch-name claim gotaddCloseIssueReferences. Not a stale body or a stale memo β a grading bug.Changes
pkg/githubclaimsFromPR: an explicit non-closing reference to the branch-name issue downgrades the branch-name claim to a reference claim.Closes #Nstill beats both;Refs #otherstill adds a separate weak claim.Client.RetractHiveClosingIssueLink: for a reference claim the sweep looks up the PR'sclosingIssuesReferencesandCONNECTED_EVENTtimeline. If the pair is linked and the most recent connect actor is this hive's App account (appBotLogin, compared without[bot]), it runsremoveCloseIssueReferencesand forgets the ensure-memo so a laterCloses #Nedit re-links. A link made by a person β or seen by a PAT-authenticated hive that cannot tell its own links apart β is left alone and logged at Warn (not-hive-linked). Memoised per pair; failures are not memoised.Closing), so every link seen here is a manual one; attributing it via the connect actor is the only way to avoid undoing a maintainer's deliberate sidebar link. β¨ keep unstick steps running in conserve API budget modeΒ #12025ββ¨ re-run PRs red on a fixed shared-CI baseline, and stop shedding unstick sweeps under API budget pressureΒ #12005 (actorhivecommons-hive) will be retracted on the next sweep after deploy β not run by hand.RepoWorkIssue(thenonActionableIssuesentry a suppressed issue becomes) now carrieslinked_prsandclaim_context;IssueLinkedPRgainsreference.Dashboard (
static/index.html)issueCoveringPR/issueCoveringPRBadge: theπpill is derived fromlinked_prsβ hive's own claim evidence, the same source that appliesπ covered by PRβ and used by both the actionable and the non-actionable pill renderers. Tooltip: "closes via PR #N" / "covered by PR #N (partial)" / "merged via PR #N". Exactly one badge per issue; several PRs β closing one primary,πΓ2, rest in the tooltip. Non-actionable rows also get theissue:linked-prfilter kind. Reuses.repo-issue-plan.pill-iconandrepoPillActionCluster; no inline styles or raw px (ratchet counts unchanged).Tests:
prclaims_branch_reference_12144_test.go(claim grading incl. the #12025 shape, retraction matrix, sweep retracts + never adds for reference claims, suppressed issue keepslinked_prs),repo_card_covering_pr_glyph_12144_test.go(node-executed badge assertions).Docs:
dashboard.md(Linked PR issue signals),dashboard-sections.md(Repositories pills),labels-and-control-signals.md(covered-by-PR row: link rule + retraction).Live check before the change (
/api/statuson hive's hive): #12002 and #12005 both sat innonActionableIssueswithreason: Open external PR #N covers this issueand nolinked_prsβ which is why the label showed and the glyph did not.