fix(athena): remove athena primary from delegation list and switch_agent targets

Athena primary should not be routable via switch_agent or appear in the
delegation table. Only athena-junior (subagent) remains delegatable via task().

- Remove athena from ALLOWED_AGENTS and DESCRIPTION in switch-agent tool
- Remove ATHENA_PROMPT_METADATA from agentMetadata, agent.ts, barrel export
- Update switch-agent test to assert athena rejection
- Remove ATHENA_PROMPT_METADATA test block
This commit is contained in:
ismeth
2026-03-03 13:21:40 +01:00
committed by YeonGyu-Kim
parent efc53de531
commit 102b754f1e
4 changed files with 10 additions and 63 deletions
@@ -1,7 +1,7 @@
/// <reference types="bun-types" />
import { describe, expect, it } from "bun:test"
import { createAthenaAgent, ATHENA_PROMPT_METADATA } from "./agent"
import { createAthenaAgent } from "./agent"
import { ATHENA_JUNIOR_PROMPT_METADATA } from "./athena-junior-agent"
import { ATHENA_NON_INTERACTIVE_PROMPT } from "./non-interactive-prompt"
@@ -163,57 +163,6 @@ describe("Athena-Junior prompt metadata", () => {
})
})
describe("Athena prompt metadata", () => {
describe("#given ATHENA_PROMPT_METADATA", () => {
describe("#when checking triggers", () => {
it("#then includes a Multi-model council trigger", () => {
const hasCouncilTrigger = ATHENA_PROMPT_METADATA.triggers.some((t) =>
t.domain.includes("Multi-model council"),
)
expect(hasCouncilTrigger).toBe(true)
})
})
describe("#when checking useWhen entries", () => {
it("#then includes an entry mentioning tradeoffs", () => {
const hasTradeoffs = ATHENA_PROMPT_METADATA.useWhen?.some((entry) =>
entry.includes("tradeoffs"),
)
expect(hasTradeoffs).toBe(true)
})
})
describe("#when checking avoidWhen entries", () => {
it("#then includes an entry about implementation tasks", () => {
const hasImplWarning = ATHENA_PROMPT_METADATA.avoidWhen?.some((entry) =>
entry.includes("Implementation tasks"),
)
expect(hasImplWarning).toBe(true)
})
it("#then includes an entry about subtask misuse", () => {
const hasSubtaskWarning = ATHENA_PROMPT_METADATA.avoidWhen?.some((entry) =>
entry.includes("Subtasks"),
)
expect(hasSubtaskWarning).toBe(true)
})
})
describe("#when checking metadata shape", () => {
it("#then has category advisor", () => {
expect(ATHENA_PROMPT_METADATA.category).toBe("advisor")
})
it("#then has cost EXPENSIVE", () => {
expect(ATHENA_PROMPT_METADATA.cost).toBe("EXPENSIVE")
})
it("#then has promptAlias Athena", () => {
expect(ATHENA_PROMPT_METADATA.promptAlias).toBe("Athena")
})
})
})
})
describe("Non-interactive prompt config injection placeholders", () => {
describe("#given the non-interactive prompt", () => {
+1 -1
View File
@@ -1,4 +1,4 @@
export { createAthenaAgent, ATHENA_PROMPT_METADATA } from "./agent"
export { createAthenaAgent } from "./agent"
export { createAthenaJuniorAgent, ATHENA_JUNIOR_PROMPT_METADATA } from "./athena-junior-agent"
export { createCouncilMemberAgent, COUNCIL_MEMBER_PROMPT, COUNCIL_SOLO_ADDENDUM, COUNCIL_DELEGATION_ADDENDUM } from "./council-member-agent"
export { COUNCIL_INTENT_ADDENDUMS } from "./council-intent-addendums"