feat(dev): claim AFK issues via the afk/<N> branch, not a tracker label #93
No reviewers
Labels
No labels
bug
enhancement
in-progress
needs-info
needs-triage
p0
ready-for-agent
ready-for-human
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
Cloonar/nixos!93
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "afk/92"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Resolves the claim-flapping / clobbering described in #92 by making an AFK run's claim its local
afk/<N>branch instead of a mutablein-progresstracker label.What changed
launchAFKRunno longer flipsready-for-agent → in-progress; the claim is the worktree it creates onafk/<N>. A failed spawn rolls back by tearing down only the worktree + branch — no label restore.Git.AFKBrancheslists localafk/<N>branches (git for-each-ref refs/heads/afk/); selection filters the ready queue to the claimable set before picking the lowest. The scheduler's(N ready)hint andReadyExistscount that same claimable set, so a project whose only ready issues are parked doesn't loop.TrackerlosesEnsureLabel/Relabel; thein-progressname/color constants are gone. Re-applyingready-for-agentto a claimed/parked issue can no longer re-claim it or cause flapping.afk/<N>branch and increments the per-project failure counter exactly as before.Docs
docs/agents/triage-labels.md: dropsin-progressas a lifecycle label; states that lab claims viaafk/<N>branches, invisible to triage.land-prskill: drops the "clear the in-progress label" merge step and the in-progress trigger phrasing; keeps theafk/<N>head-branch +Closes #Ncontract.Verification
go build ./...,go vet ./..., andgo test -race ./...pass locally — new tests coverclaimableIssues,parseAFKBranch,Git.AFKBranchesover a real throwaway repo, and the parked-issue no-flap guarantee at both the handler and the scheduler.Closes #92