Skip to content

fix(kanban): promote blocked tasks when parent dependencies complete (#24018) - #28377

Merged
teknium1 merged 1 commit into
mainfrom
hermes/hermes-de55f5dd
May 19, 2026
Merged

fix(kanban): promote blocked tasks when parent dependencies complete (#24018)#28377
teknium1 merged 1 commit into
mainfrom
hermes/hermes-de55f5dd

Conversation

@teknium1

Copy link
Copy Markdown
Contributor

Salvages #24018 by @bradhallett.

recompute_ready in main still scans only 'todo' rows; PR extends to 'blocked' with parent-done check and resets failure counters.

Cherry-picked onto current main with original authorship preserved via rebase merge.

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.
@teknium1
teknium1 merged commit 40c1dec into main May 19, 2026
@teknium1
teknium1 deleted the hermes/hermes-de55f5dd branch May 19, 2026 03:15
@github-actions

Copy link
Copy Markdown
Contributor

🔎 Lint report: hermes/hermes-de55f5dd vs origin/main

ruff

Total: 0 on HEAD, 0 on base (➖ 0)

🆕 New issues: none

✅ Fixed issues: none

Unchanged: 0 pre-existing issues carried over.

ty (type checker)

Total: 8800 on HEAD, 8796 on base (🆕 +4)

🆕 New issues (2):

Rule Count
unresolved-attribute 2
First entries
tests/hermes_cli/test_kanban_db.py:162: [unresolved-attribute] unresolved-attribute: Attribute `last_failure_error` is not defined on `None` in union `Task | None`
tests/hermes_cli/test_kanban_db.py:161: [unresolved-attribute] unresolved-attribute: Attribute `consecutive_failures` is not defined on `None` in union `Task | None`

✅ Fixed issues: none

Unchanged: 4628 pre-existing issues carried over.

Diagnostics are surfaced as warnings — this check never fails the build.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants