Skip to content

Commit 59482e0

Browse files
committed
chore: bump version to 0.5.0
1 parent 70b2295 commit 59482e0

3 files changed

Lines changed: 13 additions & 7 deletions

File tree

CHANGELOG.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
77

88
## [Unreleased]
99

10+
## [0.5.0] - 2026-04-20
11+
1012
### Added
1113
- **Supervisor evaluation loop** — the Supervisor is now an active quality gate, not advisory only. When it rejects an agent output (`approved: false`), the orchestrator re-invokes the agent with the flags and recommendation appended as feedback, up to `COUNCIL_EVAL_RETRIES` times (default: 2 → 3 total attempts). If the retry budget is exhausted and the output is still flagged, the result is surfaced anyway with the flags visible — no silent passes.
1214
- `COUNCIL_EVAL_RETRIES` env var — clamped to `[0, 5]`. Set to `0` to restore pre-0.5 advisory-only behaviour. Non-integer values fall back to the default.
@@ -125,7 +127,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
125127
- Executor runs with explicit `permissionMode: 'acceptEdits'` rather than relying on inherited default
126128
- `@anthropic-ai/claude-agent-sdk` pinned to `^0.2.101` (no `latest` in production)
127129

128-
[Unreleased]: https://github.com/iamvirul/the-council/compare/v0.4.0...HEAD
130+
[Unreleased]: https://github.com/iamvirul/the-council/compare/v0.5.0...HEAD
131+
[0.5.0]: https://github.com/iamvirul/the-council/compare/v0.4.0...v0.5.0
129132
[0.4.0]: https://github.com/iamvirul/the-council/compare/v0.3.0...v0.4.0
130133
[0.3.0]: https://github.com/iamvirul/the-council/compare/v0.2.3...v0.3.0
131134
[0.2.3]: https://github.com/iamvirul/the-council/compare/v0.2.2...v0.2.3

README.md

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77

88
A four-tier AI agent orchestration system built as a Claude Code MCP server.
99

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.
1111

1212
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.
1313

@@ -250,7 +250,7 @@ Use `get_council_state` at any point to inspect a session. Each session tracks:
250250
- Executor step results
251251
- Aide task results
252252
- 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
254254

255255
---
256256

@@ -281,15 +281,18 @@ src/
281281
chancellor/ # Chancellor agent wrapper
282282
executor/ # Executor agent wrapper
283283
aide/ # Aide agent wrapper
284-
supervisor/ # Supervisor agent wrapper (non-blocking quality review)
284+
supervisor/ # Supervisor agent wrapper (active quality gate with eval loop)
285285
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)
288288
state/ # Session store: memory / file / SQLite backends
289289
logging/ # pino structured logger (stderr only)
290290
mcp/
291291
server/ # MCP server setup, tool registration, lifecycle
292292
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
293296
```
294297

295298
---

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "council-mcp",
3-
"version": "0.4.0",
3+
"version": "0.5.0",
44
"description": "Three-tier AI agent MCP orchestration system: Chancellor (Opus), Executor (Sonnet), Aide (Haiku)",
55
"type": "module",
66
"main": "dist/index.js",

0 commit comments

Comments
 (0)