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:
parent
628c9a8958
commit
7cfdc68100
@ -477,16 +477,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",
|
||||
},
|
||||
],
|
||||
},
|
||||
@ -571,16 +571,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",
|
||||
},
|
||||
],
|
||||
},
|
||||
@ -1093,18 +1093,6 @@ exports[`generateModelConfig mixed provider scenarios uses Claude + OpenCode Zen
|
||||
"$schema": "https://raw.githubusercontent.com/code-yeongyu/oh-my-opencode/master/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",
|
||||
},
|
||||
@ -1183,18 +1171,6 @@ exports[`generateModelConfig mixed provider scenarios uses OpenAI + Copilot comb
|
||||
"$schema": "https://raw.githubusercontent.com/code-yeongyu/oh-my-opencode/master/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",
|
||||
},
|
||||
@ -1341,12 +1317,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",
|
||||
},
|
||||
],
|
||||
},
|
||||
@ -1420,18 +1396,6 @@ exports[`generateModelConfig mixed provider scenarios uses all fallback provider
|
||||
"$schema": "https://raw.githubusercontent.com/code-yeongyu/oh-my-opencode/master/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",
|
||||
},
|
||||
@ -1513,24 +1477,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",
|
||||
},
|
||||
],
|
||||
},
|
||||
@ -1615,24 +1571,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",
|
||||
},
|
||||
],
|
||||
},
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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[] {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user