|
7 | 7 |
|
8 | 8 | A four-tier AI agent orchestration system built as a Claude Code MCP server. |
9 | 9 |
|
10 | | -The Council is a TypeScript [Model Context Protocol (MCP)](https://modelcontextprotocol.io) server with four Claude agents. When you give it a problem, it figures out the complexity and sends it to the right agents. A formatting task goes straight to the fast Aide (Haiku). A coding task goes to the Executor (Sonnet). A design or architecture problem first goes through the Chancellor (Opus) for a plan, then the Executor runs each step, delegating simple sub-tasks to the Aide. After each agent produces output, the Supervisor (Haiku) reviews it for quality and flags any issues before results surface to the caller. |
| 10 | +The Council is a TypeScript [Model Context Protocol (MCP)](https://modelcontextprotocol.io) server with four Claude agents. When you give it a problem, it figures out the complexity and sends it to the right agents. A formatting task goes straight to the fast Aide (Haiku). A coding task goes to the Executor (Sonnet). A design or architecture problem first goes through the Chancellor (Opus) for a plan, then the Executor runs each step, delegating simple sub-tasks to the Aide. After each agent produces output, the Supervisor (Haiku) acts as an active quality gate — rejecting outputs that miss the mark and triggering a retry with its feedback attached, up to a configurable limit. |
11 | 11 |
|
12 | 12 | Sub-agents run via the `claude` CLI — the same one Claude Code uses. **If you already have Claude Code installed, no separate API key or extra cost is needed.** The install script finds the `claude` binary and wires it up automatically. Alternatively, set `ANTHROPIC_API_KEY` in the MCP server env for CI or API-key-based setups. |
13 | 13 |
|
@@ -250,7 +250,7 @@ Use `get_council_state` at any point to inspect a session. Each session tracks: |
250 | 250 | - Executor step results |
251 | 251 | - Aide task results |
252 | 252 | - Supervisor verdicts (one per Executor step and Aide task) |
253 | | -- Metrics: total agent calls, agents invoked, duration, caveman mode |
| 253 | +- Metrics: total agent calls, agents invoked, duration, caveman mode, eval retries |
254 | 254 |
|
255 | 255 | --- |
256 | 256 |
|
@@ -281,15 +281,18 @@ src/ |
281 | 281 | chancellor/ # Chancellor agent wrapper |
282 | 282 | executor/ # Executor agent wrapper |
283 | 283 | aide/ # Aide agent wrapper |
284 | | - supervisor/ # Supervisor agent wrapper (non-blocking quality review) |
| 284 | + supervisor/ # Supervisor agent wrapper (active quality gate with eval loop) |
285 | 285 | infra/ # External dependencies |
286 | | - agent-sdk/ # runner.ts - spawns claude CLI subprocess for each agent |
287 | | - config/ # caveman.ts - token compression mode config |
| 286 | + agent-sdk/ # runner.ts (subprocess), parse.ts (JSON extractor), run-with-validation.ts (retry wrapper) |
| 287 | + config/ # caveman.ts (token compression), eval.ts (Supervisor retry budget) |
288 | 288 | state/ # Session store: memory / file / SQLite backends |
289 | 289 | logging/ # pino structured logger (stderr only) |
290 | 290 | mcp/ |
291 | 291 | server/ # MCP server setup, tool registration, lifecycle |
292 | 292 | tools/ # Zod schemas for all tool inputs |
| 293 | +tests/ |
| 294 | + unit/ # Fast isolated tests: config, schemas, stores, agent invokers, orchestrator |
| 295 | + integration/ # Real filesystem tests for FileStore and SQLiteStore |
293 | 296 | ``` |
294 | 297 |
|
295 | 298 | --- |
|
0 commit comments