fix(athena): address 9 council-audit findings — dead code, bugs, and hardening

Fixes from multi-model council audit (7 members, 19 findings, 9 selected):

- Use parseModelString() for cross-provider Anthropic thinking config (#3)
- Update stale AGENTS.md athena directory listing (#4)
- Replace prompt in appendMissingCouncilPrompt instead of appending (#5)
- Extract duplicated session cleanup logic in agent-switch hook (#6)
- Surface skipped council members when >=2 valid members exist (#9)
- Expand fallback handoff regex with negation guards (#11)
- Remove dead council-member agent from agentSources and tests (#12)
- Make runtime council member duplicate check case-insensitive (#14)
- Fix false-positive schema tests by adding required name field (#18)
This commit is contained in:
ismeth
2026-02-20 16:10:08 +01:00
committed by YeonGyu-Kim
parent 4ca623c29c
commit 9f541ed3ee
12 changed files with 99 additions and 46 deletions
+4 -4
View File
@@ -19,7 +19,7 @@ describe("createToolExecuteBeforeHandler", () => {
const backgroundManager = {
getTasksByParentSession: () => [
{ agent: "council-member", status: "running" },
{ agent: "Council: Claude Opus 4.6", status: "running" },
],
}
@@ -53,7 +53,7 @@ describe("createToolExecuteBeforeHandler", () => {
const backgroundManager = {
getTasksByParentSession: () => [
{ agent: "council-member", status: "pending" },
{ agent: "Council: GPT 5.2", status: "pending" },
],
}
@@ -87,8 +87,8 @@ describe("createToolExecuteBeforeHandler", () => {
const backgroundManager = {
getTasksByParentSession: () => [
{ agent: "council-member", status: "completed" },
{ agent: "council-member", status: "cancelled" },
{ agent: "Council: Claude Opus 4.6", status: "completed" },
{ agent: "Council: GPT 5.2", status: "cancelled" },
],
}
+1 -1
View File
@@ -41,7 +41,7 @@ export function createToolExecuteBeforeHandler(args: {
const tasks = backgroundManager.getTasksByParentSession(sessionID)
return tasks.some((task) =>
(task.agent === "council-member" || task.agent.startsWith(COUNCIL_MEMBER_KEY_PREFIX)) &&
task.agent.startsWith(COUNCIL_MEMBER_KEY_PREFIX) &&
(task.status === "pending" || task.status === "running")
)
}