feat(athena): update council member candidates with upgraded models

- Claude sonnet → opus 4.6, GPT 5.2 → 5.3 codex, Gemini flash → pro preview
- Replace copilot/opencode-zen candidates with kimi-for-coding/k2p5
- Update test cases and regenerate model-fallback snapshots
- All 2688 tests pass, typecheck clean
This commit is contained in:
ismeth
2026-02-13 15:13:05 +01:00
committed by YeonGyu-Kim
parent 13cdc40ac9
commit fe6b433692
3 changed files with 52 additions and 107 deletions
@@ -550,16 +550,16 @@ exports[`generateModelConfig all native providers uses preferred models from fal
"council": {
"members": [
{
"model": "anthropic/claude-sonnet-4-5",
"name": "Claude",
"model": "anthropic/claude-opus-4-6",
"name": "Claude Opus 4.6",
},
{
"model": "openai/gpt-5.2",
"name": "GPT",
"model": "openai/gpt-5.3-codex",
"name": "GPT 5.3 Codex",
},
{
"model": "google/gemini-3-flash",
"name": "Gemini",
"model": "google/gemini-3-pro-preview",
"name": "Gemini Pro 3",
},
],
},
@@ -774,16 +774,16 @@ exports[`generateModelConfig all native providers uses preferred models with isM
"council": {
"members": [
{
"model": "anthropic/claude-sonnet-4-5",
"name": "Claude",
"model": "anthropic/claude-opus-4-6",
"name": "Claude Opus 4.6",
},
{
"model": "openai/gpt-5.2",
"name": "GPT",
"model": "openai/gpt-5.3-codex",
"name": "GPT 5.3 Codex",
},
{
"model": "google/gemini-3-flash",
"name": "Gemini",
"model": "google/gemini-3-pro-preview",
"name": "Gemini Pro 3",
},
],
},
@@ -1965,18 +1965,6 @@ exports[`generateModelConfig mixed provider scenarios uses Claude + OpenCode Zen
"$schema": "https://raw.githubusercontent.com/code-yeongyu/oh-my-openagent/dev/assets/oh-my-opencode.schema.json",
"agents": {
"athena": {
"council": {
"members": [
{
"model": "anthropic/claude-sonnet-4-5",
"name": "Claude",
},
{
"model": "opencode/claude-sonnet-4-5",
"name": "OpenCode Claude",
},
],
},
"model": "anthropic/claude-opus-4-6",
"variant": "max",
},
@@ -2266,18 +2254,6 @@ exports[`generateModelConfig mixed provider scenarios uses OpenAI + Copilot comb
"$schema": "https://raw.githubusercontent.com/code-yeongyu/oh-my-openagent/dev/assets/oh-my-opencode.schema.json",
"agents": {
"athena": {
"council": {
"members": [
{
"model": "openai/gpt-5.2",
"name": "GPT",
},
{
"model": "github-copilot/gpt-5.2",
"name": "Copilot GPT",
},
],
},
"model": "github-copilot/claude-opus-4.6",
"variant": "max",
},
@@ -2629,12 +2605,12 @@ exports[`generateModelConfig mixed provider scenarios uses Gemini + Claude combi
"council": {
"members": [
{
"model": "anthropic/claude-sonnet-4-5",
"name": "Claude",
"model": "anthropic/claude-opus-4-6",
"name": "Claude Opus 4.6",
},
{
"model": "google/gemini-3-flash",
"name": "Gemini",
"model": "google/gemini-3-pro-preview",
"name": "Gemini Pro 3",
},
],
},
@@ -2778,18 +2754,6 @@ exports[`generateModelConfig mixed provider scenarios uses all fallback provider
"$schema": "https://raw.githubusercontent.com/code-yeongyu/oh-my-openagent/dev/assets/oh-my-opencode.schema.json",
"agents": {
"athena": {
"council": {
"members": [
{
"model": "github-copilot/gpt-5.2",
"name": "Copilot GPT",
},
{
"model": "opencode/claude-sonnet-4-5",
"name": "OpenCode Claude",
},
],
},
"model": "github-copilot/claude-opus-4.6",
"variant": "max",
},
@@ -3188,24 +3152,16 @@ exports[`generateModelConfig mixed provider scenarios uses all providers togethe
"council": {
"members": [
{
"model": "anthropic/claude-sonnet-4-5",
"name": "Claude",
"model": "anthropic/claude-opus-4-6",
"name": "Claude Opus 4.6",
},
{
"model": "openai/gpt-5.2",
"name": "GPT",
"model": "openai/gpt-5.3-codex",
"name": "GPT 5.3 Codex",
},
{
"model": "google/gemini-3-flash",
"name": "Gemini",
},
{
"model": "github-copilot/gpt-5.2",
"name": "Copilot GPT",
},
{
"model": "opencode/claude-sonnet-4-5",
"name": "OpenCode Claude",
"model": "google/gemini-3-pro-preview",
"name": "Gemini Pro 3",
},
],
},
@@ -3770,24 +3726,16 @@ exports[`generateModelConfig mixed provider scenarios uses all providers with is
"council": {
"members": [
{
"model": "anthropic/claude-sonnet-4-5",
"name": "Claude",
"model": "anthropic/claude-opus-4-6",
"name": "Claude Opus 4.6",
},
{
"model": "openai/gpt-5.2",
"name": "GPT",
"model": "openai/gpt-5.3-codex",
"name": "GPT 5.3 Codex",
},
{
"model": "google/gemini-3-flash",
"name": "Gemini",
},
{
"model": "github-copilot/gpt-5.2",
"name": "Copilot GPT",
},
{
"model": "opencode/claude-sonnet-4-5",
"name": "OpenCode Claude",
"model": "google/gemini-3-pro-preview",
"name": "Gemini Pro 3",
},
],
},
+14 -12
View File
@@ -77,27 +77,29 @@ describe("generateCouncilMembers", () => {
})
//#given only one native provider
//#when copilot is also available
//#then returns 2 members (native + copilot)
test("uses copilot as second member when only one native provider", () => {
//#when kimi is also available
//#then returns 2 members (native + kimi)
test("uses kimi as second member when only one native provider", () => {
const members = generateCouncilMembers(makeAvail({
native: { claude: true },
copilot: true,
kimiForCoding: true,
}))
expect(members.length).toBeGreaterThanOrEqual(2)
expect(members).toHaveLength(2)
expect(members.some(m => m.model.startsWith("anthropic/"))).toBe(true)
expect(members.some(m => m.model.startsWith("kimi-for-coding/"))).toBe(true)
})
//#given only one native provider
//#when opencode zen is also available
//#then returns 2 members
test("uses opencode zen as second member when only one native provider", () => {
//#given all 4 candidates available
//#when generating council members
//#then returns 4 members
test("returns 4 members when all candidates available", () => {
const members = generateCouncilMembers(makeAvail({
native: { gemini: true },
opencodeZen: true,
native: { claude: true, openai: true, gemini: true },
kimiForCoding: true,
}))
expect(members.length).toBeGreaterThanOrEqual(2)
expect(members).toHaveLength(4)
})
//#given no providers at all
+10 -15
View File
@@ -12,29 +12,24 @@ const COUNCIL_CANDIDATES: Array<{
}> = [
{
provider: (a) => a.native.claude,
model: "anthropic/claude-sonnet-4-5",
name: "Claude",
model: "anthropic/claude-opus-4-6",
name: "Claude Opus 4.6",
},
{
provider: (a) => a.native.openai,
model: "openai/gpt-5.2",
name: "GPT",
model: "openai/gpt-5.3-codex",
name: "GPT 5.3 Codex",
},
{
provider: (a) => a.native.gemini,
model: "google/gemini-3-flash",
name: "Gemini",
model: "google/gemini-3-pro-preview",
name: "Gemini Pro 3",
},
{
provider: (a) => a.copilot,
model: "github-copilot/gpt-5.2",
name: "Copilot GPT",
},
{
provider: (a) => a.opencodeZen,
model: "opencode/claude-sonnet-4-5",
name: "OpenCode Claude",
},
provider: (a) => a.kimiForCoding,
model: "kimi-for-coding/k2p5",
name: "Kimi 2.5",
}
]
export function generateCouncilMembers(avail: ProviderAvailability): CouncilMember[] {