mirror of
https://github.com/NousResearch/hermes-agent.git
synced 2026-05-18 04:41:56 +00:00
fix(kanban): reject toolset names in task skills
This commit is contained in:
parent
a91e5a8759
commit
673418dfa1
4 changed files with 39 additions and 0 deletions
|
|
@ -2691,6 +2691,21 @@ def test_create_task_skills_rejects_comma_embedded(kanban_home):
|
|||
conn.close()
|
||||
|
||||
|
||||
def test_create_task_skills_rejects_toolset_names(kanban_home):
|
||||
"""Toolset names belong in profile config, not per-task skills."""
|
||||
conn = kb.connect()
|
||||
try:
|
||||
with pytest.raises(ValueError, match="toolset name"):
|
||||
kb.create_task(
|
||||
conn,
|
||||
title="bad toolset skill",
|
||||
assignee="x",
|
||||
skills=["web", "translation"],
|
||||
)
|
||||
finally:
|
||||
conn.close()
|
||||
|
||||
|
||||
def test_default_spawn_appends_per_task_skills(kanban_home, monkeypatch):
|
||||
"""Dispatcher argv must carry one `--skills X` pair per task skill,
|
||||
in addition to the built-in kanban-worker."""
|
||||
|
|
|
|||
|
|
@ -1036,6 +1036,20 @@ def test_create_task_without_skills_defaults_to_empty_list(client):
|
|||
assert task.get("skills") in (None, [])
|
||||
|
||||
|
||||
def test_create_task_with_toolset_name_in_skills_is_rejected(client):
|
||||
"""POST /tasks fails fast when callers confuse toolsets with skills."""
|
||||
r = client.post(
|
||||
"/api/plugins/kanban/tasks",
|
||||
json={
|
||||
"title": "bad skills payload",
|
||||
"assignee": "linguist",
|
||||
"skills": ["web"],
|
||||
},
|
||||
)
|
||||
assert r.status_code == 400, r.text
|
||||
assert "toolset name" in r.json()["detail"]
|
||||
|
||||
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# Dispatcher-presence warning in POST /tasks response
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue