refactor(model-requirements): use lowercase agent keys

This commit is contained in:
justsisyphus 2026-01-23 21:41:55 +09:00
parent 12c9029ed7
commit dfc57d0426
3 changed files with 26 additions and 26 deletions

View File

@ -13,7 +13,7 @@ import { createSystemDirective, SystemDirectiveTypes } from "../shared/system-di
const HOOK_NAME = "todo-continuation-enforcer" const HOOK_NAME = "todo-continuation-enforcer"
const DEFAULT_SKIP_AGENTS = ["Prometheus (Planner)"] const DEFAULT_SKIP_AGENTS = ["prometheus"]
export interface TodoContinuationEnforcerOptions { export interface TodoContinuationEnforcerOptions {
backgroundManager?: BackgroundManager backgroundManager?: BackgroundManager

View File

@ -23,9 +23,9 @@ describe("AGENT_MODEL_REQUIREMENTS", () => {
expect(primary.variant).toBe("high") expect(primary.variant).toBe("high")
}) })
test("Sisyphus has valid fallbackChain with claude-opus-4-5 as primary", () => { test("sisyphus has valid fallbackChain with claude-opus-4-5 as primary", () => {
// #given - Sisyphus agent requirement // #given - sisyphus agent requirement
const sisyphus = AGENT_MODEL_REQUIREMENTS["Sisyphus"] const sisyphus = AGENT_MODEL_REQUIREMENTS["sisyphus"]
// #when - accessing Sisyphus requirement // #when - accessing Sisyphus requirement
// #then - fallbackChain exists with claude-opus-4-5 as first entry // #then - fallbackChain exists with claude-opus-4-5 as first entry
@ -84,9 +84,9 @@ describe("AGENT_MODEL_REQUIREMENTS", () => {
expect(primary.model).toBe("gemini-3-flash-preview") expect(primary.model).toBe("gemini-3-flash-preview")
}) })
test("Prometheus (Planner) has valid fallbackChain with claude-opus-4-5 as primary", () => { test("prometheus has valid fallbackChain with claude-opus-4-5 as primary", () => {
// #given - Prometheus agent requirement // #given - prometheus agent requirement
const prometheus = AGENT_MODEL_REQUIREMENTS["Prometheus (Planner)"] const prometheus = AGENT_MODEL_REQUIREMENTS["prometheus"]
// #when - accessing Prometheus requirement // #when - accessing Prometheus requirement
// #then - fallbackChain exists with claude-opus-4-5 as first entry // #then - fallbackChain exists with claude-opus-4-5 as first entry
@ -100,9 +100,9 @@ describe("AGENT_MODEL_REQUIREMENTS", () => {
expect(primary.variant).toBe("max") expect(primary.variant).toBe("max")
}) })
test("Metis (Plan Consultant) has valid fallbackChain with claude-opus-4-5 as primary", () => { test("metis has valid fallbackChain with claude-opus-4-5 as primary", () => {
// #given - Metis agent requirement // #given - metis agent requirement
const metis = AGENT_MODEL_REQUIREMENTS["Metis (Plan Consultant)"] const metis = AGENT_MODEL_REQUIREMENTS["metis"]
// #when - accessing Metis requirement // #when - accessing Metis requirement
// #then - fallbackChain exists with claude-opus-4-5 as first entry // #then - fallbackChain exists with claude-opus-4-5 as first entry
@ -116,9 +116,9 @@ describe("AGENT_MODEL_REQUIREMENTS", () => {
expect(primary.variant).toBe("max") expect(primary.variant).toBe("max")
}) })
test("Momus (Plan Reviewer) has valid fallbackChain with gpt-5.2 as primary", () => { test("momus has valid fallbackChain with gpt-5.2 as primary", () => {
// #given - Momus agent requirement // #given - momus agent requirement
const momus = AGENT_MODEL_REQUIREMENTS["Momus (Plan Reviewer)"] const momus = AGENT_MODEL_REQUIREMENTS["momus"]
// #when - accessing Momus requirement // #when - accessing Momus requirement
// #then - fallbackChain exists with gpt-5.2 as first entry, variant medium // #then - fallbackChain exists with gpt-5.2 as first entry, variant medium
@ -132,9 +132,9 @@ describe("AGENT_MODEL_REQUIREMENTS", () => {
expect(primary.providers[0]).toBe("openai") expect(primary.providers[0]).toBe("openai")
}) })
test("Atlas has valid fallbackChain with claude-sonnet-4-5 as primary", () => { test("atlas has valid fallbackChain with claude-sonnet-4-5 as primary", () => {
// #given - Atlas agent requirement // #given - atlas agent requirement
const atlas = AGENT_MODEL_REQUIREMENTS["Atlas"] const atlas = AGENT_MODEL_REQUIREMENTS["atlas"]
// #when - accessing Atlas requirement // #when - accessing Atlas requirement
// #then - fallbackChain exists with claude-sonnet-4-5 as first entry // #then - fallbackChain exists with claude-sonnet-4-5 as first entry
@ -150,15 +150,15 @@ describe("AGENT_MODEL_REQUIREMENTS", () => {
test("all 9 builtin agents have valid fallbackChain arrays", () => { test("all 9 builtin agents have valid fallbackChain arrays", () => {
// #given - list of 9 agent names // #given - list of 9 agent names
const expectedAgents = [ const expectedAgents = [
"Sisyphus", "sisyphus",
"oracle", "oracle",
"librarian", "librarian",
"explore", "explore",
"multimodal-looker", "multimodal-looker",
"Prometheus (Planner)", "prometheus",
"Metis (Plan Consultant)", "metis",
"Momus (Plan Reviewer)", "momus",
"Atlas", "atlas",
] ]
// #when - checking AGENT_MODEL_REQUIREMENTS // #when - checking AGENT_MODEL_REQUIREMENTS

View File

@ -10,7 +10,7 @@ export type ModelRequirement = {
} }
export const AGENT_MODEL_REQUIREMENTS: Record<string, ModelRequirement> = { export const AGENT_MODEL_REQUIREMENTS: Record<string, ModelRequirement> = {
Sisyphus: { sisyphus: {
fallbackChain: [ fallbackChain: [
{ providers: ["anthropic", "github-copilot", "opencode"], model: "claude-opus-4-5", variant: "max" }, { providers: ["anthropic", "github-copilot", "opencode"], model: "claude-opus-4-5", variant: "max" },
{ providers: ["zai-coding-plan"], model: "glm-4.7" }, { providers: ["zai-coding-plan"], model: "glm-4.7" },
@ -46,28 +46,28 @@ export const AGENT_MODEL_REQUIREMENTS: Record<string, ModelRequirement> = {
{ providers: ["openai", "github-copilot", "opencode"], model: "gpt-5.2" }, { providers: ["openai", "github-copilot", "opencode"], model: "gpt-5.2" },
], ],
}, },
"Prometheus (Planner)": { prometheus: {
fallbackChain: [ fallbackChain: [
{ providers: ["anthropic", "github-copilot", "opencode"], model: "claude-opus-4-5", variant: "max" }, { providers: ["anthropic", "github-copilot", "opencode"], model: "claude-opus-4-5", variant: "max" },
{ providers: ["openai", "github-copilot", "opencode"], model: "gpt-5.2", variant: "high" }, { providers: ["openai", "github-copilot", "opencode"], model: "gpt-5.2", variant: "high" },
{ providers: ["google", "github-copilot", "opencode"], model: "gemini-3-pro-preview" }, { providers: ["google", "github-copilot", "opencode"], model: "gemini-3-pro-preview" },
], ],
}, },
"Metis (Plan Consultant)": { metis: {
fallbackChain: [ fallbackChain: [
{ providers: ["anthropic", "github-copilot", "opencode"], model: "claude-opus-4-5", variant: "max" }, { providers: ["anthropic", "github-copilot", "opencode"], model: "claude-opus-4-5", variant: "max" },
{ providers: ["openai", "github-copilot", "opencode"], model: "gpt-5.2", variant: "high" }, { providers: ["openai", "github-copilot", "opencode"], model: "gpt-5.2", variant: "high" },
{ providers: ["google", "github-copilot", "opencode"], model: "gemini-3-pro-preview", variant: "max" }, { providers: ["google", "github-copilot", "opencode"], model: "gemini-3-pro-preview", variant: "max" },
], ],
}, },
"Momus (Plan Reviewer)": { momus: {
fallbackChain: [ fallbackChain: [
{ providers: ["openai", "github-copilot", "opencode"], model: "gpt-5.2", variant: "medium" }, { providers: ["openai", "github-copilot", "opencode"], model: "gpt-5.2", variant: "medium" },
{ providers: ["anthropic", "github-copilot", "opencode"], model: "claude-opus-4-5" }, { providers: ["anthropic", "github-copilot", "opencode"], model: "claude-opus-4-5" },
{ providers: ["google", "github-copilot", "opencode"], model: "gemini-3-pro-preview", variant: "max" }, { providers: ["google", "github-copilot", "opencode"], model: "gemini-3-pro-preview", variant: "max" },
], ],
}, },
Atlas: { atlas: {
fallbackChain: [ fallbackChain: [
{ providers: ["anthropic", "github-copilot", "opencode"], model: "claude-sonnet-4-5" }, { providers: ["anthropic", "github-copilot", "opencode"], model: "claude-sonnet-4-5" },
{ providers: ["openai", "github-copilot", "opencode"], model: "gpt-5.2" }, { providers: ["openai", "github-copilot", "opencode"], model: "gpt-5.2" },