Skip to content

fix(kanban): keep initially blocked tasks sticky - #88686

Open
javiersangsanchez-droid wants to merge 1 commit into
NousResearch:mainfrom
javiersangsanchez-droid:fix/kanban-initial-block-sticky
Open

fix(kanban): keep initially blocked tasks sticky#88686
javiersangsanchez-droid wants to merge 1 commit into
NousResearch:mainfrom
javiersangsanchez-droid:fix/kanban-initial-block-sticky

Conversation

@javiersangsanchez-droid

Copy link
Copy Markdown

Summary

  • treat create_task(initial_status="blocked") as an explicit sticky hold
  • preserve circuit-breaker and legacy direct-DB auto-recovery semantics
  • verify explicit unblock_task still releases the task

Root cause

recompute_ready() only recognized blocked events as sticky. Initially blocked tasks emit a created event whose payload records status: blocked, so the dispatcher misclassified them as circuit-breaker recoveries and promoted them automatically.

Tests

  • scripts/run_tests.sh tests/hermes_cli/test_kanban_blocked_sticky.py tests/hermes_cli/test_kanban_db.py -q (33 passed, 1 skipped)
  • ruff check hermes_cli/kanban_db.py tests/hermes_cli/test_kanban_blocked_sticky.py

Fixes #78933
Fixes #71847
Fixes #47777
Fixes #39609

@alt-glitch alt-glitch added type/bug Something isn't working comp/cron Cron scheduler and job management P3 Low — cosmetic, nice to have duplicate This issue or pull request already exists sweeper:risk-session-state Sweeper risk: may lose/corrupt/mis-associate session or context state labels Aug 17, 2026
@alt-glitch

Copy link
Copy Markdown
Collaborator

This was generated by AI during triage.

Duplicate of #64830. Both patches treat the created-event payload with status: blocked as a sticky initial human hold in _has_sticky_block, preventing recompute_ready() from promoting it.

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

Labels

comp/cron Cron scheduler and job management duplicate This issue or pull request already exists P3 Low — cosmetic, nice to have sweeper:risk-session-state Sweeper risk: may lose/corrupt/mis-associate session or context state type/bug Something isn't working

Projects

None yet

2 participants