fix(athena): force council-first behavior — unconditional prompt + skip keyword injection

The old prompt said 'when requiring multi-model analysis' which let Athena
decide to skip the council and do direct analysis herself. Combined with
keyword-detector injecting [search-mode] telling her to 'launch explore
agents and use Grep directly', Athena never called athena_council.

Two fixes:
1. System prompt now unconditionally requires athena_council as FIRST action
   - Explicitly prohibits Read/Grep/Glob/LSP/call_omo_agent
   - Identity is 'orchestrator, not analyst'
2. keyword-detector skips ALL injections for Athena agent
   - search/analyze/ultrawork modes conflict with council orchestration
   - Same pattern as isPlannerAgent() skip for Prometheus
This commit is contained in:
ismeth
2026-02-12 16:38:02 +01:00
committed by YeonGyu-Kim
parent 11b01d4ed3
commit cbdff96f66
2 changed files with 43 additions and 28 deletions
+11
View File
@@ -69,6 +69,17 @@ export function createKeywordDetectorHook(
}
}
// Athena is a council orchestrator — skip all keyword injections.
// search/analyze modes tell the agent to use explore agents and grep directly,
// which conflicts with Athena's job of calling athena_council for council fan-out.
if (currentAgent?.toLowerCase() === "athena") {
log(`[keyword-detector] Skipping all keywords for Athena (council orchestrator)`, {
sessionID: input.sessionID,
skippedTypes: detectedKeywords.map((k) => k.type),
})
return
}
if (detectedKeywords.length === 0) {
return
}