fix(athena): harden council members — compaction recovery, block TodoWrite, analysis mode
- Add session.compacted handler in BackgroundManager to prevent premature task completion after compaction (defer first post-compaction idle) - Explicitly block TodoWrite/TodoRead for council members in all sync points (AgentConfig permission + session tools + prompt instructions) - Add council member prefix check to todo-continuation-enforcer skip list to prevent infinite continuation loops on completed council members - Add optional analysis mode (solo/delegation) question to Athena setup: solo = thorough but heavier, delegation = fast via explore/librarian - Allow call_omo_agent in council member allow-list for delegation mode - Update COUNCIL_MEMBER_PROMPT with TodoWrite prohibition and delegation addendum for when delegation mode is selected - Update prepare_council_prompt tool with mode parameter
This commit is contained in:
@@ -58,7 +58,8 @@ const AGENT_RESTRICTIONS: Record<string, Record<string, boolean>> = {
|
||||
// - src/agents/athena/council-member-agent.ts (AgentConfig permission format — allow-list)
|
||||
// - src/plugin-handlers/tool-config-handler.ts (allow/deny string format)
|
||||
// Keep all three in sync when modifying.
|
||||
// Council members use an allow-list: only read-only analysis tools are permitted.
|
||||
// Council members use an allow-list: read-only analysis + optional call_omo_agent delegation.
|
||||
// TodoWrite/TodoRead explicitly denied to prevent uncompletable todo loops.
|
||||
// Prompt file lives in .sisyphus/tmp/ (inside project) so no external_directory needed.
|
||||
"council-member": {
|
||||
"*": false,
|
||||
@@ -70,6 +71,9 @@ const AGENT_RESTRICTIONS: Record<string, Record<string, boolean>> = {
|
||||
lsp_symbols: true,
|
||||
lsp_diagnostics: true,
|
||||
ast_grep_search: true,
|
||||
call_omo_agent: true,
|
||||
todowrite: false,
|
||||
todoread: false,
|
||||
},
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user