Skip to content

fix(kanban): harden auto-triage and worker process cleanup - #69036

Closed
ChanPark03 wants to merge 5 commits into
NousResearch:mainfrom
ChanPark03:pr/kanban-dispatcher-hardening
Closed

ChanPark03 wants to merge 5 commits into
NousResearch:mainfrom
ChanPark03:pr/kanban-dispatcher-hardening

Conversation

@ChanPark03

Copy link
Copy Markdown
Contributor

Summary

  • keep block-loop triage rows out of auto-decompose and filter them before the selector limit
  • terminate reclaimed/crashed worker process groups so descendants do not survive a dead wrapper
  • retain fail-closed process-group ownership checks and explicit POSIX-only CI annotations

Verification

  • scripts/run_tests.sh tests/hermes_cli/test_kanban_decompose.py tests/hermes_cli/test_kanban_db.py
  • 243 passed, 0 failed on current upstream main
  • python scripts/check-windows-footguns.py --diff origin/main — PASS
  • git diff --check origin/main...HEAD

The commits preserve their original authorship and were rebased onto current upstream main.

@alt-glitch alt-glitch added type/bug Something isn't working P3 Low — cosmetic, nice to have comp/gateway Gateway runner, session dispatch, delivery comp/cron Cron scheduler and job management sweeper:risk-session-state Sweeper risk: may lose/corrupt/mis-associate session or context state labels Jul 22, 2026
@teknium1

Copy link
Copy Markdown
Collaborator

Thanks for the focused hardening work. Current main still routes auto-decomposition through the unfiltered selector at gateway/kanban_watchers.py:1367 / hermes_cli/kanban_decompose.py:459-468, and its cleanup helper signals only the recorded PID at hermes_cli/kanban_db.py:6903-6927 despite workers being spawned with start_new_session=True at hermes_cli/kanban_db.py:8973-8981. The changes in dd49dce9c80f address those exact paths with pre-limit filtering and guarded process-group cleanup.

The related #69942 triage comment identifies overlapping worker-lifecycle work but explicitly says it is not a duplicate; the auto-triage selection fix here remains distinct.

Automated hermes-sweeper review.

@teknium1 teknium1 added sweeper:risk-platform-windows Sweeper risk: may break or behave differently on native Windows sweeper:blast-moderate Sweeper blast radius: moderate — a subsystem or single platform labels Jul 30, 2026
@ChanPark03 ChanPark03 closed this by deleting the head repository Aug 3, 2026
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 comp/gateway Gateway runner, session dispatch, delivery P3 Low — cosmetic, nice to have sweeper:blast-moderate Sweeper blast radius: moderate — a subsystem or single platform sweeper:risk-platform-windows Sweeper risk: may break or behave differently on native Windows sweeper:risk-session-state Sweeper risk: may lose/corrupt/mis-associate session or context state type/bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants