test(athena): update tests and snapshots for council-member agent

- Add council-member to display names expected mappings

- Update model-requirements test: 11 → 12 builtin agents

- Regenerate model-fallback snapshots and JSON schema

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

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
This commit is contained in:
ismeth
2026-02-17 12:33:55 +01:00
committed by YeonGyu-Kim
parent 597a9069bb
commit 00051d6f19
4 changed files with 73 additions and 4 deletions

View File

@@ -36,7 +36,8 @@
"metis",
"momus",
"atlas",
"athena"
"athena",
"council-member"
]
}
},

View File

@@ -10,6 +10,9 @@ exports[`generateModelConfig no providers available returns ULTIMATE_FALLBACK fo
"atlas": {
"model": "opencode/glm-4.7-free",
},
"council-member": {
"model": "opencode/glm-4.7-free",
},
"explore": {
"model": "opencode/glm-4.7-free",
},
@@ -75,6 +78,9 @@ exports[`generateModelConfig single native provider uses Claude models when only
"atlas": {
"model": "anthropic/claude-sonnet-4-5",
},
"council-member": {
"model": "opencode/glm-4.7-free",
},
"explore": {
"model": "anthropic/claude-haiku-4-5",
},
@@ -141,6 +147,9 @@ exports[`generateModelConfig single native provider uses Claude models with isMa
"atlas": {
"model": "anthropic/claude-sonnet-4-5",
},
"council-member": {
"model": "opencode/glm-4.7-free",
},
"explore": {
"model": "anthropic/claude-haiku-4-5",
},
@@ -208,6 +217,9 @@ exports[`generateModelConfig single native provider uses OpenAI models when only
"atlas": {
"model": "openai/gpt-5.2",
},
"council-member": {
"model": "opencode/glm-4.7-free",
},
"explore": {
"model": "opencode/gpt-5-nano",
},
@@ -279,6 +291,9 @@ exports[`generateModelConfig single native provider uses OpenAI models with isMa
"atlas": {
"model": "openai/gpt-5.2",
},
"council-member": {
"model": "opencode/glm-4.7-free",
},
"explore": {
"model": "opencode/gpt-5-nano",
},
@@ -350,6 +365,9 @@ exports[`generateModelConfig single native provider uses Gemini models when only
"atlas": {
"model": "google/gemini-3-pro-preview",
},
"council-member": {
"model": "opencode/glm-4.7-free",
},
"explore": {
"model": "opencode/gpt-5-nano",
},
@@ -415,6 +433,9 @@ exports[`generateModelConfig single native provider uses Gemini models with isMa
"atlas": {
"model": "google/gemini-3-pro-preview",
},
"council-member": {
"model": "opencode/glm-4.7-free",
},
"explore": {
"model": "opencode/gpt-5-nano",
},
@@ -496,6 +517,9 @@ exports[`generateModelConfig all native providers uses preferred models from fal
"atlas": {
"model": "anthropic/claude-sonnet-4-5",
},
"council-member": {
"model": "opencode/glm-4.7-free",
},
"explore": {
"model": "anthropic/claude-haiku-4-5",
},
@@ -590,6 +614,9 @@ exports[`generateModelConfig all native providers uses preferred models with isM
"atlas": {
"model": "anthropic/claude-sonnet-4-5",
},
"council-member": {
"model": "opencode/glm-4.7-free",
},
"explore": {
"model": "anthropic/claude-haiku-4-5",
},
@@ -669,6 +696,9 @@ exports[`generateModelConfig fallback providers uses OpenCode Zen models when on
"atlas": {
"model": "opencode/kimi-k2.5-free",
},
"council-member": {
"model": "opencode/gpt-5-nano",
},
"explore": {
"model": "opencode/claude-haiku-4-5",
},
@@ -747,6 +777,9 @@ exports[`generateModelConfig fallback providers uses OpenCode Zen models with is
"atlas": {
"model": "opencode/kimi-k2.5-free",
},
"council-member": {
"model": "opencode/gpt-5-nano",
},
"explore": {
"model": "opencode/claude-haiku-4-5",
},
@@ -826,6 +859,9 @@ exports[`generateModelConfig fallback providers uses GitHub Copilot models when
"atlas": {
"model": "github-copilot/claude-sonnet-4.5",
},
"council-member": {
"model": "opencode/glm-4.7-free",
},
"explore": {
"model": "github-copilot/gpt-5-mini",
},
@@ -904,6 +940,9 @@ exports[`generateModelConfig fallback providers uses GitHub Copilot models with
"atlas": {
"model": "github-copilot/claude-sonnet-4.5",
},
"council-member": {
"model": "opencode/glm-4.7-free",
},
"explore": {
"model": "github-copilot/gpt-5-mini",
},
@@ -982,6 +1021,9 @@ exports[`generateModelConfig fallback providers uses ZAI model for librarian whe
"atlas": {
"model": "opencode/glm-4.7-free",
},
"council-member": {
"model": "opencode/glm-4.7-free",
},
"explore": {
"model": "opencode/gpt-5-nano",
},
@@ -1040,6 +1082,9 @@ exports[`generateModelConfig fallback providers uses ZAI model for librarian wit
"atlas": {
"model": "opencode/glm-4.7-free",
},
"council-member": {
"model": "opencode/glm-4.7-free",
},
"explore": {
"model": "opencode/gpt-5-nano",
},
@@ -1099,6 +1144,9 @@ exports[`generateModelConfig mixed provider scenarios uses Claude + OpenCode Zen
"atlas": {
"model": "opencode/kimi-k2.5-free",
},
"council-member": {
"model": "opencode/gpt-5-nano",
},
"explore": {
"model": "anthropic/claude-haiku-4-5",
},
@@ -1177,6 +1225,9 @@ exports[`generateModelConfig mixed provider scenarios uses OpenAI + Copilot comb
"atlas": {
"model": "github-copilot/claude-sonnet-4.5",
},
"council-member": {
"model": "opencode/glm-4.7-free",
},
"explore": {
"model": "github-copilot/gpt-5-mini",
},
@@ -1255,6 +1306,9 @@ exports[`generateModelConfig mixed provider scenarios uses Claude + ZAI combinat
"atlas": {
"model": "anthropic/claude-sonnet-4-5",
},
"council-member": {
"model": "opencode/glm-4.7-free",
},
"explore": {
"model": "anthropic/claude-haiku-4-5",
},
@@ -1332,6 +1386,9 @@ exports[`generateModelConfig mixed provider scenarios uses Gemini + Claude combi
"atlas": {
"model": "anthropic/claude-sonnet-4-5",
},
"council-member": {
"model": "opencode/glm-4.7-free",
},
"explore": {
"model": "anthropic/claude-haiku-4-5",
},
@@ -1402,6 +1459,9 @@ exports[`generateModelConfig mixed provider scenarios uses all fallback provider
"atlas": {
"model": "opencode/kimi-k2.5-free",
},
"council-member": {
"model": "opencode/gpt-5-nano",
},
"explore": {
"model": "opencode/claude-haiku-4-5",
},
@@ -1496,6 +1556,9 @@ exports[`generateModelConfig mixed provider scenarios uses all providers togethe
"atlas": {
"model": "opencode/kimi-k2.5-free",
},
"council-member": {
"model": "opencode/gpt-5-nano",
},
"explore": {
"model": "anthropic/claude-haiku-4-5",
},
@@ -1590,6 +1653,9 @@ exports[`generateModelConfig mixed provider scenarios uses all providers with is
"atlas": {
"model": "opencode/kimi-k2.5-free",
},
"council-member": {
"model": "opencode/gpt-5-nano",
},
"explore": {
"model": "anthropic/claude-haiku-4-5",
},

View File

@@ -192,6 +192,7 @@ describe("AGENT_DISPLAY_NAMES", () => {
librarian: "librarian",
explore: "explore",
"multimodal-looker": "multimodal-looker",
"council-member": "council-member",
}
// when checking the constant

View File

@@ -179,8 +179,8 @@ describe("AGENT_MODEL_REQUIREMENTS", () => {
expect(hephaestus.requiresModel).toBeUndefined()
})
test("all 11 builtin agents have valid fallbackChain arrays", () => {
// #given - list of 11 agent names
test("all 12 builtin agents have valid fallbackChain arrays", () => {
// #given - list of 12 agent names
const expectedAgents = [
"sisyphus",
"hephaestus",
@@ -193,13 +193,14 @@ describe("AGENT_MODEL_REQUIREMENTS", () => {
"momus",
"atlas",
"athena",
"council-member",
]
// when - checking AGENT_MODEL_REQUIREMENTS
const definedAgents = Object.keys(AGENT_MODEL_REQUIREMENTS)
// #then - all agents present with valid fallbackChain
expect(definedAgents).toHaveLength(11)
expect(definedAgents).toHaveLength(12)
for (const agent of expectedAgents) {
const requirement = AGENT_MODEL_REQUIREMENTS[agent]
expect(requirement).toBeDefined()