We run a kanban board unattended with several profiles. Workers often post a PR URL and keep working: they wait on a parent, get unblocked, or pick up review feedback. The active_pr hold in check_respawn_guard regularly parked those cards for the full 24h window, and the operator had no clean way to release them.
Found running a production board; reproduced from code on main @ c419cf7 .
1. An explicit re-queue does not override the 24h active_pr hold
kanban_db_dispatch.py:check_respawn_guard already lets a re-queue after the success ( status , promoted , unblocked , reclaimed ) release recent_success . active_pr releases only on a handoff ( assigned to a different profile, changes_requested , review_reopened ). So a worker that posts its PR URL and then does block --kind dependency gets auto-promoted when the parent finishes and is then held for 24h, even though it still has to finish. An operator status change or unblock doesn't release it either.…