fix(kanban): drop unknown per-task skills instead of crashing workers - #89601
Open
terrichan-git wants to merge 1 commit into
Open
fix(kanban): drop unknown per-task skills instead of crashing workers#89601terrichan-git wants to merge 1 commit into
terrichan-git wants to merge 1 commit into
Conversation
Pinning a skill the assignee profile does not have used to spawn `hermes --skills <unknown>` and raise ValueError on boot when every pin was missing. Filter the pin list against the assignee's skills tree at create time and again at spawn. Record dropped names on the created event. No runtime install. Leave pins alone when the assignee profile directory does not exist, so review-dispatch tests and first-time assignees still work.
Collaborator
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.
Bug Description
A Kanban card that pinned
skills:the assignee profile did not have spawnedhermes --skills <unknown>and crashed on boot withValueError: Unknown skill(s): ...when every pinned name was missing. The dispatcher retried once, thengave_up/ blocked. Desktop kept notifying on the dead card.This hit an orchestrator card that forced
revenueosandhuman-in-loop-agent-graphs(installed ondefault, not onorchestrator).Root Cause
create_taskstored the pin list after syntax checks only (commas, toolset-name typos)._default_spawnpassed every name through as--skills. Worker preload hard-fails when the loaded set is empty and the missing set is not.There is still no runtime install. That is correct. The bug is crashing instead of dropping names the profile cannot load.
Fix
skills/tree (follows skill-dir symlinks; uses frontmattername:and the directory name).create_task. Record them on thecreatedevent asdropped_skills._default_spawnso stale rows cannot kill a worker.How to Verify
pytest tests/hermes_cli/test_kanban_core_functionality.py tests/hermes_cli/test_kanban_review_lifecycle.py tests/hermes_cli/test_kanban_db.py -qskillslist should omit it;createdpayload should listdropped_skills.Test Plan
hermes -p orchestrator skills listafter symlink install of conductor skills (local profile change, not in this PR)Risk Assessment
Low — only changes per-task
--skillsargv. Workers with no pins are unchanged. Worst case for a typo is a worker that boots without the intended skill (and a warning /dropped_skillsevent) instead of a crash loop.