fix: fix: dev-poll stale detection should skip vision-labeled issues (#448) #461
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#461
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "fix/issue-448"
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 #448
Changes
AI Review
Bug: unbound variable crash when vision issue is detected
The PR uses
unset ISSUE_NUMto skip stale detection for vision-labeled issues, then guards the assignee block with[ -n "${ISSUE_NUM:-}" ]. However, the lock-file/stale-relabel block (lines 458–484) is still reachable withISSUE_NUMunset:Because the script runs under
set -euo pipefail(line 20), referencing an unset variable without a:-fallback causes an unbound variable error and the script exits immediately. This means every time dev-poll encounters an in-progress vision issue it will crash rather than skip gracefully.dev/dev-poll.sh:460:${ISSUE_NUM}is unbound afterunset ISSUE_NUM— script aborts here underset -udev/dev-poll.sh:462,468,478,481: same bare${ISSUE_NUM}references further in the block, also unreachable but would crash if indirection changesFix: After detecting a vision label and logging the skip, set
BLOCKED_BY_INPROGRESS=trueinstead of (or in addition to) unsetting ISSUE_NUM. This causes the outer guard on line 458 to skip the lock-file/stale block entirely, which is the intended behavior and is safe underset -u.Verdict
REQUEST_CHANGES — Script crashes on vision issues: unset ISSUE_NUM is followed by bare ${ISSUE_NUM} at line 460 with set -euo pipefail active
Reviewed at
bfbf531| AGENTS.mdAI Review: REQUEST_CHANGES — Script crashes on vision issues: unset ISSUE_NUM is followed by bare ${ISSUE_NUM} at line 460 with set -euo pipefail active
bfbf531fcbto7158bb23d4AI Re-review (round 2)
Previous Findings\n\n- Unbound variable crash at lock-file check:
unset ISSUE_NUMfollowed by bare ${ISSUE_NUM} underset -euo pipefail→ FIXED: replaced withBLOCKED_BY_INPROGRESS=true, which causes the lock-file/stale block (guarded by[ "$BLOCKED_BY_INPROGRESS" = false ]) to be skipped entirely. No unbound variable risk remains.\n\n### Assessment\n\nThe fix is correct and minimal. SettingBLOCKED_BY_INPROGRESS=trueon vision issues means:\n- The assignee check still runs (harmless — extra API call, but no incorrect behavior or double-work)\n- The lock-file/stale-relabel block is skipped via its existing guard\n-ISSUE_NUMstays bound throughout, safe underset -u\n\nNo new issues introduced by the fix commits.Verdict
APPROVE — Critical unbound variable bug fixed by using BLOCKED_BY_INPROGRESS=true instead of unset ISSUE_NUM
Reviewed at
7158bb2| Previous:bfbf531| AGENTS.mdAI Re-review (round 2): APPROVE — Critical unbound variable bug fixed by using BLOCKED_BY_INPROGRESS=true instead of unset ISSUE_NUM