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:
@@ -550,16 +550,16 @@ exports[`generateModelConfig all native providers uses preferred models from fal
|
|||||||
"council": {
|
"council": {
|
||||||
"members": [
|
"members": [
|
||||||
{
|
{
|
||||||
"model": "anthropic/claude-sonnet-4-5",
|
"model": "anthropic/claude-opus-4-6",
|
||||||
"name": "Claude",
|
"name": "Claude Opus 4.6",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"model": "openai/gpt-5.2",
|
"model": "openai/gpt-5.3-codex",
|
||||||
"name": "GPT",
|
"name": "GPT 5.3 Codex",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"model": "google/gemini-3-flash",
|
"model": "google/gemini-3-pro-preview",
|
||||||
"name": "Gemini",
|
"name": "Gemini Pro 3",
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
@@ -774,16 +774,16 @@ exports[`generateModelConfig all native providers uses preferred models with isM
|
|||||||
"council": {
|
"council": {
|
||||||
"members": [
|
"members": [
|
||||||
{
|
{
|
||||||
"model": "anthropic/claude-sonnet-4-5",
|
"model": "anthropic/claude-opus-4-6",
|
||||||
"name": "Claude",
|
"name": "Claude Opus 4.6",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"model": "openai/gpt-5.2",
|
"model": "openai/gpt-5.3-codex",
|
||||||
"name": "GPT",
|
"name": "GPT 5.3 Codex",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"model": "google/gemini-3-flash",
|
"model": "google/gemini-3-pro-preview",
|
||||||
"name": "Gemini",
|
"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",
|
"$schema": "https://raw.githubusercontent.com/code-yeongyu/oh-my-openagent/dev/assets/oh-my-opencode.schema.json",
|
||||||
"agents": {
|
"agents": {
|
||||||
"athena": {
|
"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",
|
"model": "anthropic/claude-opus-4-6",
|
||||||
"variant": "max",
|
"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",
|
"$schema": "https://raw.githubusercontent.com/code-yeongyu/oh-my-openagent/dev/assets/oh-my-opencode.schema.json",
|
||||||
"agents": {
|
"agents": {
|
||||||
"athena": {
|
"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",
|
"model": "github-copilot/claude-opus-4.6",
|
||||||
"variant": "max",
|
"variant": "max",
|
||||||
},
|
},
|
||||||
@@ -2629,12 +2605,12 @@ exports[`generateModelConfig mixed provider scenarios uses Gemini + Claude combi
|
|||||||
"council": {
|
"council": {
|
||||||
"members": [
|
"members": [
|
||||||
{
|
{
|
||||||
"model": "anthropic/claude-sonnet-4-5",
|
"model": "anthropic/claude-opus-4-6",
|
||||||
"name": "Claude",
|
"name": "Claude Opus 4.6",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"model": "google/gemini-3-flash",
|
"model": "google/gemini-3-pro-preview",
|
||||||
"name": "Gemini",
|
"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",
|
"$schema": "https://raw.githubusercontent.com/code-yeongyu/oh-my-openagent/dev/assets/oh-my-opencode.schema.json",
|
||||||
"agents": {
|
"agents": {
|
||||||
"athena": {
|
"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",
|
"model": "github-copilot/claude-opus-4.6",
|
||||||
"variant": "max",
|
"variant": "max",
|
||||||
},
|
},
|
||||||
@@ -3188,24 +3152,16 @@ exports[`generateModelConfig mixed provider scenarios uses all providers togethe
|
|||||||
"council": {
|
"council": {
|
||||||
"members": [
|
"members": [
|
||||||
{
|
{
|
||||||
"model": "anthropic/claude-sonnet-4-5",
|
"model": "anthropic/claude-opus-4-6",
|
||||||
"name": "Claude",
|
"name": "Claude Opus 4.6",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"model": "openai/gpt-5.2",
|
"model": "openai/gpt-5.3-codex",
|
||||||
"name": "GPT",
|
"name": "GPT 5.3 Codex",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"model": "google/gemini-3-flash",
|
"model": "google/gemini-3-pro-preview",
|
||||||
"name": "Gemini",
|
"name": "Gemini Pro 3",
|
||||||
},
|
|
||||||
{
|
|
||||||
"model": "github-copilot/gpt-5.2",
|
|
||||||
"name": "Copilot GPT",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"model": "opencode/claude-sonnet-4-5",
|
|
||||||
"name": "OpenCode Claude",
|
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
@@ -3770,24 +3726,16 @@ exports[`generateModelConfig mixed provider scenarios uses all providers with is
|
|||||||
"council": {
|
"council": {
|
||||||
"members": [
|
"members": [
|
||||||
{
|
{
|
||||||
"model": "anthropic/claude-sonnet-4-5",
|
"model": "anthropic/claude-opus-4-6",
|
||||||
"name": "Claude",
|
"name": "Claude Opus 4.6",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"model": "openai/gpt-5.2",
|
"model": "openai/gpt-5.3-codex",
|
||||||
"name": "GPT",
|
"name": "GPT 5.3 Codex",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"model": "google/gemini-3-flash",
|
"model": "google/gemini-3-pro-preview",
|
||||||
"name": "Gemini",
|
"name": "Gemini Pro 3",
|
||||||
},
|
|
||||||
{
|
|
||||||
"model": "github-copilot/gpt-5.2",
|
|
||||||
"name": "Copilot GPT",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"model": "opencode/claude-sonnet-4-5",
|
|
||||||
"name": "OpenCode Claude",
|
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -77,27 +77,29 @@ describe("generateCouncilMembers", () => {
|
|||||||
})
|
})
|
||||||
|
|
||||||
//#given only one native provider
|
//#given only one native provider
|
||||||
//#when copilot is also available
|
//#when kimi is also available
|
||||||
//#then returns 2 members (native + copilot)
|
//#then returns 2 members (native + kimi)
|
||||||
test("uses copilot as second member when only one native provider", () => {
|
test("uses kimi as second member when only one native provider", () => {
|
||||||
const members = generateCouncilMembers(makeAvail({
|
const members = generateCouncilMembers(makeAvail({
|
||||||
native: { claude: true },
|
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
|
//#given all 4 candidates available
|
||||||
//#when opencode zen is also available
|
//#when generating council members
|
||||||
//#then returns 2 members
|
//#then returns 4 members
|
||||||
test("uses opencode zen as second member when only one native provider", () => {
|
test("returns 4 members when all candidates available", () => {
|
||||||
const members = generateCouncilMembers(makeAvail({
|
const members = generateCouncilMembers(makeAvail({
|
||||||
native: { gemini: true },
|
native: { claude: true, openai: true, gemini: true },
|
||||||
opencodeZen: true,
|
kimiForCoding: true,
|
||||||
}))
|
}))
|
||||||
|
|
||||||
expect(members.length).toBeGreaterThanOrEqual(2)
|
expect(members).toHaveLength(4)
|
||||||
})
|
})
|
||||||
|
|
||||||
//#given no providers at all
|
//#given no providers at all
|
||||||
|
|||||||
@@ -12,29 +12,24 @@ const COUNCIL_CANDIDATES: Array<{
|
|||||||
}> = [
|
}> = [
|
||||||
{
|
{
|
||||||
provider: (a) => a.native.claude,
|
provider: (a) => a.native.claude,
|
||||||
model: "anthropic/claude-sonnet-4-5",
|
model: "anthropic/claude-opus-4-6",
|
||||||
name: "Claude",
|
name: "Claude Opus 4.6",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
provider: (a) => a.native.openai,
|
provider: (a) => a.native.openai,
|
||||||
model: "openai/gpt-5.2",
|
model: "openai/gpt-5.3-codex",
|
||||||
name: "GPT",
|
name: "GPT 5.3 Codex",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
provider: (a) => a.native.gemini,
|
provider: (a) => a.native.gemini,
|
||||||
model: "google/gemini-3-flash",
|
model: "google/gemini-3-pro-preview",
|
||||||
name: "Gemini",
|
name: "Gemini Pro 3",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
provider: (a) => a.copilot,
|
provider: (a) => a.kimiForCoding,
|
||||||
model: "github-copilot/gpt-5.2",
|
model: "kimi-for-coding/k2p5",
|
||||||
name: "Copilot GPT",
|
name: "Kimi 2.5",
|
||||||
},
|
}
|
||||||
{
|
|
||||||
provider: (a) => a.opencodeZen,
|
|
||||||
model: "opencode/claude-sonnet-4-5",
|
|
||||||
name: "OpenCode Claude",
|
|
||||||
},
|
|
||||||
]
|
]
|
||||||
|
|
||||||
export function generateCouncilMembers(avail: ProviderAvailability): CouncilMember[] {
|
export function generateCouncilMembers(avail: ProviderAvailability): CouncilMember[] {
|
||||||
|
|||||||
Reference in New Issue
Block a user