feat(athena): add dedicated council-member agent for multi-model council
Replace oracle as the agent for council background tasks with a purpose-built council-member agent. This avoids coupling to oracle's config/prompt and provides proper read-only tool restrictions (deny write, edit, task, athena_council). - New council-member-agent.ts with analysis-oriented system prompt - Registered in agentSources (hidden from Sisyphus delegation table) - Added to type system, Zod schemas, display names, tool restrictions - Minimal model fallback (always overridden per council member at launch) - Council orchestrator now launches members as council-member agent Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
This commit is contained in:
@@ -52,6 +52,14 @@ const AGENT_RESTRICTIONS: Record<string, Record<string, boolean>> = {
|
||||
},
|
||||
|
||||
athena: ATHENA_RESTRICTIONS,
|
||||
|
||||
"council-member": {
|
||||
write: false,
|
||||
edit: false,
|
||||
task: false,
|
||||
call_omo_agent: false,
|
||||
athena_council: false,
|
||||
},
|
||||
}
|
||||
|
||||
function permissionToToolBooleans(
|
||||
|
||||
@@ -191,6 +191,11 @@ export const AGENT_MODEL_REQUIREMENTS: Record<string, ModelRequirement> = {
|
||||
{ providers: ["google", "github-copilot", "opencode"], model: "gemini-3-pro", variant: "high" },
|
||||
],
|
||||
},
|
||||
"council-member": {
|
||||
fallbackChain: [
|
||||
{ providers: ["opencode"], model: "gpt-5-nano" },
|
||||
],
|
||||
},
|
||||
};
|
||||
|
||||
export const CATEGORY_MODEL_REQUIREMENTS: Record<string, ModelRequirement> = {
|
||||
|
||||
Reference in New Issue
Block a user