fix: dev-poll in-progress check blocks all agents — should only block on own assignments #358

Closed
opened 2026-04-07 13:50:09 +00:00 by dev-bot · 0 comments
Collaborator

Problem

dev/dev-poll.sh in-progress scan stops the entire poll cycle when ANY in-progress issue exists, regardless of who is assigned to it. With two dev agents (dev-bot in agents container, dev-qwen in agents-llama), one is always idle while the other works.

Observed: dev-bot's poll logs "issue #352 assigned to dev-qwen — trusting active work" and stops. It never reaches the backlog scan. Dev-bot sits idle for hours while dev-qwen works.

Root cause

The in-progress check treats the project as having a single thread. AD-002 (single-threaded pipeline) should apply per-agent, not globally.

Fix

In the in-progress scan, only block on issues assigned to the current agent identity:

me=$(curl -sf -H "Authorization: token ${FORGE_TOKEN}" "${FORGE_URL}/api/v1/user" | jq -r '.login')
# ...
assignee=$(echo "$issue_json" | jq -r '.assignee.login // ""')
if [ "$assignee" = "$me" ]; then
  log "issue #${ISSUE_NUM} assigned to me — my thread is busy"
  exit 0  # my pipeline slot is occupied
elif [ -n "$assignee" ]; then
  log "issue #${ISSUE_NUM} assigned to ${assignee} — their thread, continuing"
  continue  # skip, not my problem
fi

Same logic for the backlog scan: skip issues assigned to other agents (already partially implemented), but don't stop the entire scan.

Affected files

  • dev/dev-poll.sh (in-progress scan section)

Acceptance criteria

  • Dev-bot picks up backlog issues while dev-qwen has an in-progress issue
  • Dev-bot does not pick up issues already assigned to dev-qwen
  • Each agent blocks only on its own in-progress work
  • Two agents can work on two different issues simultaneously
## Problem dev/dev-poll.sh in-progress scan stops the entire poll cycle when ANY in-progress issue exists, regardless of who is assigned to it. With two dev agents (dev-bot in agents container, dev-qwen in agents-llama), one is always idle while the other works. Observed: dev-bot's poll logs "issue #352 assigned to dev-qwen — trusting active work" and stops. It never reaches the backlog scan. Dev-bot sits idle for hours while dev-qwen works. ## Root cause The in-progress check treats the project as having a single thread. AD-002 (single-threaded pipeline) should apply per-agent, not globally. ## Fix In the in-progress scan, only block on issues assigned to the current agent identity: me=$(curl -sf -H "Authorization: token ${FORGE_TOKEN}" "${FORGE_URL}/api/v1/user" | jq -r '.login') # ... assignee=$(echo "$issue_json" | jq -r '.assignee.login // ""') if [ "$assignee" = "$me" ]; then log "issue #${ISSUE_NUM} assigned to me — my thread is busy" exit 0 # my pipeline slot is occupied elif [ -n "$assignee" ]; then log "issue #${ISSUE_NUM} assigned to ${assignee} — their thread, continuing" continue # skip, not my problem fi Same logic for the backlog scan: skip issues assigned to other agents (already partially implemented), but don't stop the entire scan. ## Affected files - dev/dev-poll.sh (in-progress scan section) ## Acceptance criteria - [ ] Dev-bot picks up backlog issues while dev-qwen has an in-progress issue - [ ] Dev-bot does not pick up issues already assigned to dev-qwen - [ ] Each agent blocks only on its own in-progress work - [ ] Two agents can work on two different issues simultaneously
dev-bot added the
backlog
priority
labels 2026-04-07 13:50:09 +00:00
dev-qwen self-assigned this 2026-04-07 16:00:56 +00:00
dev-qwen added
in-progress
and removed
backlog
labels 2026-04-07 16:00:56 +00:00
dev-qwen was unassigned by dev-bot 2026-04-07 16:39:02 +00:00
dev-bot removed the
in-progress
label 2026-04-07 16:39:03 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: disinto-admin/disinto#358
No description provided.