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:
ismeth
2026-02-17 12:33:49 +01:00
committed by YeonGyu-Kim
parent 4a418fc324
commit 10e28417a3
9 changed files with 46 additions and 3 deletions
+24
View File
@@ -0,0 +1,24 @@
import type { AgentConfig } from "@opencode-ai/sdk"
import type { AgentMode } from "../types"
const MODE: AgentMode = "subagent"
const COUNCIL_MEMBER_PROMPT = `You are an independent code analyst in a multi-model council. Your role is to provide thorough, evidence-based analysis of the question you receive.
## Instructions
- Search the codebase using available tools (Read, Grep, Glob, LSP)
- Report findings with evidence: file paths, line numbers, code snippets
- For each finding, state severity (critical/high/medium/low) and confidence (high/medium/low)
- Focus on real issues backed by evidence, not hypothetical concerns
- Be concise but thorough — quality over quantity`
export function createCouncilMemberAgent(model: string): AgentConfig {
return {
description: "Independent code analyst for Athena multi-model council. Read-only, evidence-based analysis. (Council Member - OhMyOpenCode)",
mode: MODE,
model,
temperature: 0.1,
prompt: COUNCIL_MEMBER_PROMPT,
} as AgentConfig
}
createCouncilMemberAgent.mode = MODE