fix(kanban): promote blocked tasks when parent dependencies complete - #24018
Closed
bradhallett wants to merge 1 commit into
Closed
fix(kanban): promote blocked tasks when parent dependencies complete#24018bradhallett wants to merge 1 commit into
bradhallett wants to merge 1 commit into
Conversation
recompute_ready only scanned 'todo' tasks for promotion, ignoring 'blocked' tasks entirely. When a task was blocked (e.g. by the circuit breaker) and its parent dependencies later completed, the task stayed stuck in 'blocked' forever unless manually unblocked. Now recompute_ready also scans 'blocked' tasks. When all parents are done/archived, the blocked task is promoted to 'ready' with failure counters reset — equivalent to an automatic unblock. Includes a regression test for the blocked-parent-done promotion path.
Contributor
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
recompute_ready()only scannedtodotasks for promotion toready. Tasks inblockedstatus whose parent dependencies had since completed were never re-evaluated — they stayed stuck inblockedforever unless manually unblocked.Fix
Expand the
recompute_readyquery to also includeblockedtasks. When all parent dependencies aredone/archived, blocked tasks are promoted toreadywith failure counters reset (consecutive_failures = 0,last_failure_error = NULL) — equivalent to an automatic unblock.Files Changed
hermes_cli/kanban_db.py— Updatedrecompute_ready()to scan bothtodoandblockedtasks; blocked promotions also reset failure counterstests/hermes_cli/test_kanban_db.py— Addedtest_recompute_ready_promotes_blocked_with_done_parentsregression testTest Results