fix: fix: dev-poll in-progress check blocks all agents — should only block on own assignments (#358) #360
No reviewers
Labels
No labels
action
backlog
blocked
bug-report
in-progress
prediction/actioned
prediction/dismissed
prediction/unreviewed
priority
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#360
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "fix/issue-358"
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 #358
Changes
AI Review
Summary
The core intent is correct: an in-progress issue assigned to another agent should not block this agent. The refactor from
exit 0to aBLOCKED_BY_INPROGRESSflag correctly threads most paths. However, the conversion of one specificexit 0introduced a regression.Findings
dev/dev-poll.sh:450-464: When a stale PR is abandoned (AHEAD > 0), the original code didexit 0after closing the PR and deleting the branch. The new code setsBLOCKED_BY_INPROGRESS=truebut there is no guard around the subsequent block — execution falls through to thePR_SHAfetch (line 466),CI_STATEcheck, review fetch, and action dispatch (lines 466–522). After closing the PR via API and deleting its branch, the code immediately re-fetches that closed PR's SHA, evaluates its CI/review state, and can reach thetry_direct_mergeor dev-agent spawn paths for a PR that was just abandoned. In the approved+CI-green case,try_direct_mergefails on the closed PR and falls back to spawning a dev-agent unnecessarily. Fix: wrap lines 466–522 inif [ "$BLOCKED_BY_INPROGRESS" = false ]; then ... fi, matching the guard pattern used for the other nested sections.Everything Else
All other converted paths are correct: the assignee check (only block on own assignment), lock-file check, stale-issue relabeling, formula guard, and all downstream PR action branches (merge, REQUEST_CHANGES, CI failure, waiting). The
BLOCKED_BY_INPROGRESSflag sentinel and the final exit guard at line 547 are sound.Verdict
REQUEST_CHANGES — Stale-PR abandonment path falls through to PR_SHA fetch and potential dev-agent spawn after setting BLOCKED_BY_INPROGRESS=true
Reviewed at
a3eb837| AGENTS.mdAI Review: REQUEST_CHANGES — Stale-PR abandonment path falls through to PR_SHA fetch and potential dev-agent spawn after setting BLOCKED_BY_INPROGRESS=true
a3eb837ba2to718327754aAI Re-review (round 2)
Previous Findings
dev/dev-poll.sh:450-464(stale PR fall-through) → FIXED: The incremental diff wraps thePR_SHAfetch and all subsequent CI/review/action dispatch inif [ "$BLOCKED_BY_INPROGRESS" = false ]; then ... fi(new line 467). After theAHEAD > 0branch setsBLOCKED_BY_INPROGRESS=trueand closes/deletes the stale PR, execution skips the API calls and dispatch entirely. The comment# Only process PR if not abandoned (stale branch check above)makes the intent clear.New Issues
None.
Verdict
APPROVE — Previous finding fixed: stale-PR abandonment path now guarded with BLOCKED_BY_INPROGRESS check before PR_SHA fetch
Reviewed at
7183277| Previous:a3eb837| AGENTS.mdAI Re-review (round 2): APPROVE — Previous finding fixed: stale-PR abandonment path now guarded with BLOCKED_BY_INPROGRESS check before PR_SHA fetch