Skip to content

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

Closed
hsmon wants to merge 1 commit into
NousResearch:mainfrom
hsmon:fix/kanban-initial-blocked-sticky-current-20260710
Closed

fix(kanban): keep initially blocked tasks sticky#61890
hsmon wants to merge 1 commit into
NousResearch:mainfrom
hsmon:fix/kanban-initial-blocked-sticky-current-20260710

Conversation

@hsmon

@hsmon hsmon commented Jul 10, 2026

Copy link
Copy Markdown

Summary

Tasks created with initial_status="blocked" could be immediately promoted by recompute_ready() because creation did not persist sticky blocked lifecycle evidence.

This PR records the initial blocked event atomically with task creation, so operator-created blocked tasks remain blocked until an explicit unblock. Normal dependency-based ready promotion is preserved.

Changes

  • Append a blocked lifecycle event during initial blocked task creation in the same transaction.
  • Add regression coverage for:
    • initial blocked tasks staying blocked across recomputation;
    • explicit unblock restoring normal promotion behavior;
    • normal ready/dependency paths remaining unchanged.

Validation

uv run --extra dev python -m pytest \
  tests/hermes_cli/test_kanban_blocked_sticky.py \
  tests/hermes_cli/test_kanban_db.py \
  -o addopts= -q

231 passed

Scope

Two files only:

  • hermes_cli/kanban_db.py
  • tests/hermes_cli/test_kanban_blocked_sticky.py

No gateway restart, config change, migration, credential operation, or destructive cleanup is included.

@alt-glitch alt-glitch added type/bug Something isn't working P3 Low — cosmetic, nice to have comp/cron Cron scheduler and job management duplicate This issue or pull request already exists labels Jul 10, 2026
@alt-glitch

Copy link
Copy Markdown
Collaborator

This was generated by AI during triage.

Duplicate of #34735 (earliest-open canonical for the sticky initial-blocked fix). This PR emits the same explicit blocked lifecycle event in create_task() so _has_sticky_block fires and recompute_ready() won't auto-promote — the identical mechanism, differing only in event payload and test names. Saturated cluster (#46565, #60100 also dup_of #34735).

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 type/bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants