fix: bug: dev-poll.sh post-crash deadlock — self-assigned in-progress issue never recovered when no lock/branch/PR (#749) #750
No reviewers
Labels
No labels
action
backlog
blocked
bug-report
cannot-reproduce
in-progress
in-triage
needs-triage
prediction/actioned
prediction/dismissed
prediction/unreviewed
priority
rejected
reproduced
tech-debt
underspecified
vision
No milestone
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: disinto-admin/disinto#750
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "fix/issue-749"
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?
Fixes #749
Changes
AI Review
Summary
This PR fixes a post-crash deadlock where an issue self-assigned with
in-progressbut no open PR, no lock file, and no remote branch would permanently block the poller. Previously that state unconditionally setBLOCKED_BY_INPROGRESS=true; now the poller checks two activity signals before deciding to block vs recover.Review
The fix is correct and well-scoped.
Activity signal selection (
dev/dev-poll.sh:480-491): Using/tmp/dev-impl-summary-${PROJECT_NAME}-${ISSUE_NUM}.txtas the lock file is consistent with how the same file is used at line 503 (no-assignee path) and line 262 (cleaned up on merge). The remote branch check viagit ls-remote --exit-codeis an independent second guard covering cases where the lock file is absent but the agent pushed a branch before crashing without a PR.Recovery spawn (
dev/dev-poll.sh:488): Usesnohup ... &while the other agent spawns in this script use("${SCRIPT_DIR}/dev-agent.sh" ... >> "$LOGFILE" 2>&1) &. Both forms work correctly here since the parent exits shortly after at line 643. No behavioral difference in practice.Control flow: Setting
BLOCKED_BY_INPROGRESS=trueafter spawning recovery is correct — the poller exits cleanly and doesn't race to pick up backlog work while recovery is starting.Architecture consistency: This is a pure bug fix. The intended behavior (recover orphaned issues) was always the design intent; the old code simply failed to detect the orphaned state. No AGENTS.md update required.
No pre-existing issues found in the changed region worth filing separately.
Verdict
APPROVE — Correct targeted fix: lock file + remote branch checks distinguish live work from orphaned state, recovery spawn matches existing patterns
Reviewed at
2979580| AGENTS.mdAI Review: APPROVE — Correct targeted fix: lock file + remote branch checks distinguish live work from orphaned state, recovery spawn matches existing patterns