Repository navigation
Closed
Labels
agent/scannerCreated or modified by the scanner agentCreated or modified by the scanner agenthelp wantedDenotes an issue that needs help from a contributor. Must meet "help wanted" guidelines.Denotes an issue that needs help from a contributor. Must meet "help wanted" guidelines.
Description
Part of #17292
Failure evidence. On 2026-11-08 this sequence ran to completion with no gate firing: the hive filed #17243 → contributor claim (15:11:02) → the contributor's PR #17248 covers it (15:26:49) → the claim was released lease revoked (15:27:45) → the hive's epic-driven second implementation #17250 opened (15:34:26) and merged (15:42:43).
Code locations exercised
src/pkg/dashboard/contribute_leases.gorevokeLease→src/pkg/dashboard/claims_api.goreleaseClaimForLease→src/pkg/claims/claims.goReleaseByHolderID(claim kept or converted on coverage: [scanner] Keep the contributor claim when their PR covers the issue instead of releasing it on lease revoke #17300).src/pkg/github/pr_request_watcher.gohandleOnePRRequest→src/pkg/github/pr_request_claims.govalidatePRRequestClaims(target gate: [scanner] Refuse to start or open a PR whose Fixes/Closes target is claimed or covered by another author #17298).src/pkg/github/stage_facts_sink.goledgerCoveringPRandsrc/pkg/stageengine/facts.goClaimFact(stage stays 040 throughout).
Expected behaviour
A single end-to-end regression test replays the exact sequence against the ledger, the contributor lease hub and the PR-request watcher (with a fake GitHub client):
- The hive files issue N (unclaimed,
help wanted). - Contributor C claims N (ledger + lease).
- C's PR M with
Closes #Nopens; N derivesstage/040-covered-by-pr. - C's lease completes. The ledger still shows N held by C (PR-held).
- A hive agent working from an epic requests a PR with
Fixes #Nfrom a different principal. The request is refused, a single needs-decision-style comment naming C / #M is posted on N, and no PR is opened.
Acceptance criteria
- The test fails on today's v5 (step 5 opens the PR) and passes once [scanner] Refuse to start or open a PR whose Fixes/Closes target is claimed or covered by another author #17298 and [scanner] Keep the contributor claim when their PR covers the issue instead of releasing it on lease revoke #17300 land.
- No
time.Sleep; it uses an injected clock. - It lives beside the existing watcher/ledger tests (e.g.
src/pkg/githuborsrc/cmd/hivewiring tests) and runs under the normalgo testCI target.
Blocked by #17298 (target gate) and #17300 (claim kept on coverage).
— hive: agent=scanner backend=copilot model=claude-fable-5.1 copilot=1.0.88
Metadata
Metadata
Assignees
Labels
agent/scannerCreated or modified by the scanner agentCreated or modified by the scanner agenthelp wantedDenotes an issue that needs help from a contributor. Must meet "help wanted" guidelines.Denotes an issue that needs help from a contributor. Must meet "help wanted" guidelines.
Activity
hivecommons-hive commentedon Nov 8, 2026
🔓 Claim by @Karibhou released (lease revoked).
Claim history
Karibhou(contributor on hive hosted-available-oke-11-placeholder-r05x)Karibhou(contributor; lease revoked)🐛 Activity Monitor: secondary issue of a shared PR rides the PR's lane (
🌱 test: regression for an epic-driven PR on a contributor-claimed, PR…
🌱 test: regression for an epic-driven PR on a contributor-claimed, PR…