-
Notifications
You must be signed in to change notification settings - Fork 0
feat: v0.9 release polish — CLI UX, plugin marketplace, CI build, docs #22
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
12adc67
97f9c7c
ef543af
0543478
ff4d632
72467ed
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,20 @@ | ||
| { | ||
| "name": "agent-pool", | ||
| "description": "Expert pool — delegate questions and tasks to domain specialists via a mixture-of-experts model", | ||
| "author": { | ||
| "name": "Cameron Sjo", | ||
| "url": "https://github.com/cameronsjo" | ||
| }, | ||
| "repository": "https://github.com/cameronsjo/agent-pool", | ||
| "license": "MIT", | ||
| "keywords": [ | ||
| "agent-pool", | ||
| "experts", | ||
| "mixture-of-experts", | ||
| "delegation", | ||
| "multi-agent", | ||
| "mcp", | ||
| "concierge", | ||
| "architect" | ||
| ] | ||
| } |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,56 @@ | ||
| name: Release | ||
|
|
||
| on: | ||
| push: | ||
| tags: | ||
| - "v*" | ||
|
|
||
| permissions: | ||
| contents: write | ||
|
|
||
| jobs: | ||
| build: | ||
| runs-on: ubuntu-latest | ||
| strategy: | ||
| matrix: | ||
| goos: [linux, darwin] | ||
| goarch: [amd64, arm64] | ||
| steps: | ||
| - uses: actions/checkout@v4 | ||
|
|
||
| - uses: actions/setup-go@v5 | ||
| with: | ||
| go-version-file: go.mod | ||
|
|
||
| - name: Build | ||
| env: | ||
| GOOS: ${{ matrix.goos }} | ||
| GOARCH: ${{ matrix.goarch }} | ||
| CGO_ENABLED: "0" | ||
| run: | | ||
| mkdir -p dist | ||
| go build -ldflags="-s -w" -o dist/agent-pool-${{ matrix.goos }}-${{ matrix.goarch }} ./cmd/agent-pool | ||
|
|
||
| - name: Upload artifact | ||
| uses: actions/upload-artifact@v4 | ||
| with: | ||
| name: agent-pool-${{ matrix.goos }}-${{ matrix.goarch }} | ||
| path: dist/agent-pool-* | ||
|
|
||
| release: | ||
| needs: build | ||
| runs-on: ubuntu-latest | ||
| steps: | ||
| - uses: actions/checkout@v4 | ||
|
|
||
| - name: Download artifacts | ||
| uses: actions/download-artifact@v4 | ||
| with: | ||
| path: dist | ||
| merge-multiple: true | ||
|
|
||
| - name: Create release | ||
| uses: softprops/action-gh-release@v2 | ||
| with: | ||
| generate_release_notes: true | ||
| files: dist/agent-pool-* |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,14 +1,97 @@ | ||
| # Changelog | ||
|
|
||
| All notable changes to this project will be documented in this file. | ||
|
|
||
| The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), | ||
| and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). | ||
| All notable changes to Agent Pool are documented here. | ||
|
|
||
| ## [Unreleased] | ||
|
|
||
| ### Added | ||
| ## [0.9.0] — 2026-04-07 | ||
|
|
||
| Formulas and operational hardening. | ||
|
|
||
| - Formula parsing (`internal/formula/`) with TOML templates, DAG validation | ||
| - `instantiate_formula` architect MCP tool for bulk task creation | ||
| - Config hot-reload via fsnotify on `pool.toml` | ||
| - `EventConfigReloaded` event type | ||
| - `formulas/` directory in pool structure | ||
|
Comment on lines
+7
to
+15
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🧩 Analysis chain🏁 Script executed: #!/bin/bash
# Description: Check if v0.9.0 is tagged in the repository.
# Expected: Either a v0.9.0 tag exists (confirming release) or no tag exists (suggesting premature release marking).
git tag -l 'v0.9*'Repository: cameronsjo/agent-pool Length of output: 47 Move v0.9.0 to The v0.9.0 entry is marked as released on 2026-04-07, but no v0.9.0 git tag exists in the repository. This inconsistency must be resolved: either move the v0.9.0 section to 🤖 Prompt for AI Agents |
||
|
|
||
| ## [0.8.0] — 2026-04-06 | ||
|
|
||
| Researcher role for knowledge curation and enrichment. | ||
|
|
||
| - Researcher MCP tools: `enrich_state`, `write_expert_state`, `promote_pattern`, `read_expert_state`, `read_expert_logs`, `list_experts` (researcher variant) | ||
| - Daemon curation scheduling with configurable intervals | ||
| - Pattern promotion: durable patterns graduate from `state.md` to `identity.md` | ||
| - Researcher identity and prompt assembly | ||
| - Claude Code plugin: added `pool-research` skill | ||
|
|
||
| ## [0.7.0] — 2026-04-06 | ||
|
|
||
| Shared experts and multi-pool foundations. | ||
|
|
||
| - `~/.agent-pool/experts/` for cross-project shared experts | ||
| - `shared.include` config in `pool.toml` | ||
| - Project overlay via `shared-state/{name}/` for pool-specific context | ||
| - Shared expert directory resolution in mail routing | ||
| - `list_experts` tool returns both pool-scoped and shared experts | ||
|
|
||
| ## [0.6.0] — 2026-04-05 | ||
|
|
||
| Daemon lifecycle and observability, driven by dogfooding. | ||
|
|
||
| - Unix domain socket for CLI-to-daemon communication | ||
| - `agent-pool stop` — graceful shutdown via socket | ||
| - `agent-pool status` — daemon health and task summary | ||
| - `agent-pool watch` — live event stream | ||
| - Structured event bus (`internal/daemon/events.go`) | ||
| - Graceful drain on SIGINT/SIGTERM with configurable timeout | ||
| - `daemon.log` file output by default | ||
|
|
||
| ## [0.5.0] — 2026-04-04 | ||
|
|
||
| Concierge plugin — user-facing interface for the pool. | ||
|
|
||
| - Concierge MCP tools: `dispatch`, `collect`, `ask_expert`, `submit_plan`, `check_status`, `list_experts` | ||
| - Claude Code plugin with skills: `pool-ask`, `pool-build`, `pool-status` | ||
| - `.mcp.json` for auto-registering concierge MCP server | ||
| - `concierge-identity.md` role prompt | ||
| - Non-blocking `dispatch` + `collect` pattern for parallel expert queries | ||
|
|
||
| ## [0.4.0] — 2026-04-03 | ||
|
|
||
| Architect role — contracts, verification, and task delegation. | ||
|
|
||
| - Architect MCP tools: `define_contract`, `send_task`, `verify_result`, `amend_contract` | ||
| - Versioned contract specs in `contracts/` directory | ||
| - Human approval gate (`internal/approval/`) for architect-proposed changes | ||
| - Role-aware MCP server (different tool sets per role) | ||
|
|
||
| ## [0.3.0] — 2026-04-02 | ||
|
|
||
| Task board with dependency DAG. | ||
|
|
||
| - `internal/taskboard/` — DAG-based task tracking | ||
| - Dependency evaluation (`EvaluateDeps`) with cycle detection | ||
| - Task states: pending, blocked, active, completed, failed, cancelled | ||
| - Cancel propagation through dependency chains | ||
| - Session timeout and health checks | ||
|
|
||
| ## [0.2.0] — 2026-04-01 | ||
|
|
||
| MCP server and state management. | ||
|
|
||
| - Expert MCP tools: `read_state`, `update_state`, `append_error`, `send_response`, `recall`, `search_index` | ||
| - Mail composition and routing via MCP | ||
| - Expert spawning with `claude -p` integration | ||
| - Pre-tool-use hooks for code ownership guards | ||
| - CLI wiring for `agent-pool mcp` subcommand | ||
|
|
||
| ## [0.1.0] — 2026-03-31 | ||
|
|
||
| Expert lifecycle — the foundation. | ||
|
|
||
| - Project scaffold with Go module, directory structure, and Makefile | ||
| - Pool config parser (`pool.toml`) | ||
| - CLI entry point with `start`, `version`, and `help` commands | ||
| - Mail parsing with YAML frontmatter | ||
| - Filesystem-based message routing (postoffice model) | ||
| - Expert session spawning with identity, state, and error context | ||
| - Log capture and task indexing | ||
| - At-least-once delivery with crash-safe inbox handling | ||
| - `Spawner` interface for test injection | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -40,7 +40,7 @@ Agent Pool builds ON Claude Code via external interfaces — it does NOT modify | |
| - **CLI**: `claude -p --output-format stream-json --model sonnet --allowedTools "..."` | ||
| - **MCP server**: `agent-pool mcp --pool {name} --expert {name}` (experts) or `--role {architect|concierge}` (built-in roles) | ||
| - **Hooks**: Stop → flush, PreToolUse → code ownership guard | ||
| - **Plugin**: `plugin/` — skills (`pool-ask`, `pool-build`, `pool-status`) + `.mcp.json` for concierge | ||
| - **Plugin**: repo root — skills (`pool-ask`, `pool-build`, `pool-status`, `pool-research`) + `.mcp.json` for concierge | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🧩 Analysis chain🏁 Script executed: #!/bin/bash
# Description: Verify the plugin.json structure and check for skill file existence.
echo "=== Current plugin.json content ==="
cat .claude-plugin/plugin.json
echo -e "\n=== Checking for skill files ==="
fd --type f --extension md . skills/Repository: cameronsjo/agent-pool Length of output: 693 Critical: Plugin manifest missing skills registration. The documentation claims four skills ( 🔧 Proposed fix to register skills in the manifestAdd the skills field to {
"name": "agent-pool",
"description": "Expert pool — delegate questions and tasks to domain specialists via a mixture-of-experts model",
"author": {
"name": "Cameron Sjo",
"url": "https://github.com/cameronsjo"
},
"repository": "https://github.com/cameronsjo/agent-pool",
"license": "MIT",
+ "skills": [
+ "pool-ask",
+ "pool-build",
+ "pool-status",
+ "pool-research"
+ ],
"keywords": [
"agent-pool",🤖 Prompt for AI Agents |
||
| - **Env vars**: `AGENT_POOL_NAME`, `AGENT_POOL_EXPERT`, `AGENT_POOL_TASK_ID` | ||
|
|
||
| ## Project Structure | ||
|
|
@@ -57,7 +57,10 @@ internal/ | |
| mail/ Message parsing, routing, delivery | ||
| mcp/ MCP server (stdio, per-role tool sets) | ||
| taskboard/ DAG-based task tracking with dependency evaluation | ||
| plugin/ Claude Code plugin (skills, MCP config, identity) | ||
| skills/ Claude Code plugin skills (pool-ask, pool-build, pool-status, pool-research) | ||
| .claude-plugin/ Plugin manifest for marketplace | ||
| .mcp.json MCP server config for concierge role | ||
| concierge-identity.md Concierge role identity | ||
| docs/ | ||
| plans/ Architecture and development plans | ||
| prompts/ Version-specific development prompts | ||
|
|
@@ -77,16 +80,18 @@ make check # vet + lint + test | |
|
|
||
| ## Implementation Status | ||
|
|
||
| **v0.5 complete** — through Concierge Plugin. See `docs/plans/architecture.md` § Implementation Phasing for full v0.1–v0.8 roadmap. | ||
| **v0.9 complete** — through Formulas + Polish. See `docs/plans/architecture.md` § Implementation Phasing for full roadmap. | ||
|
|
||
| | Version | Milestone | Key Additions | | ||
| |---------|-----------|---------------| | ||
| | v0.2 | MCP + State | Expert tools, mail routing, spawning, hooks | | ||
| | v0.3 | Task Board | DAG dependencies, cancel/handoff, session timeout | | ||
| | v0.4 | Architect | Contracts, approval gate, task delegation, verification | | ||
| | v0.5 | Concierge | Concierge MCP tools, plugin scaffold, read/write path flows | | ||
|
|
||
| Next: **v0.6** — Researcher + Curation | ||
| | v0.6 | Daemon Lifecycle | Unix socket, stop/status/watch, graceful drain | | ||
| | v0.7 | Shared Experts | Cross-project knowledge, multi-pool, project overlays | | ||
| | v0.8 | Researcher | Curation, pattern promotion, cold-start seeding | | ||
| | v0.9 | Formulas | Workflow templates, config hot-reload, hardening | | ||
|
|
||
| ## Code Conventions | ||
|
|
||
|
|
||
Uh oh!
There was an error while loading. Please reload this page.