fix(delegate-task): reject stray backend-style categories

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
This commit is contained in:
YeonGyu-Kim
2026-03-31 13:05:44 -07:00
parent 68ae9dca4b
commit 1d0135b230
6 changed files with 103 additions and 4 deletions
@@ -0,0 +1,43 @@
declare const require: (name: string) => any
const { afterEach, beforeEach, describe, expect, mock, spyOn, test } = require("bun:test")
import { resolveCategoryExecution } from "./category-resolver"
import type { ExecutorContext } from "./executor-types"
import * as availableModels from "./available-models"
describe("resolveCategoryExecution unknown category handling", () => {
beforeEach(() => {
mock.restore()
})
afterEach(() => {
mock.restore()
})
test("#given unknown category #when resolving category execution #then it rejects before fetching available models", async () => {
//#given
const availableModelsSpy = spyOn(availableModels, "getAvailableModelsForDelegateTask")
const executorContext: ExecutorContext = {
client: {} as ExecutorContext["client"],
manager: {} as ExecutorContext["manager"],
directory: "/tmp/test",
userCategories: {},
sisyphusJuniorModel: undefined,
}
const args = {
category: "backend-engineer",
prompt: "test prompt",
description: "Test task",
run_in_background: false,
load_skills: [],
blockedBy: undefined,
enableSkillTools: false,
}
//#when
const result = await resolveCategoryExecution(args, executorContext, undefined, "anthropic/claude-sonnet-4-6")
//#then
expect(result.error).toContain('Unknown category: "backend-engineer"')
expect(availableModelsSpy).not.toHaveBeenCalled()
})
})