v2026.5.4
Previous release
v2026.5.4 — Hermes parity, full MCP surface
Tag: `v2026.5.4` · Released: 2026-05-13 · npm: `npm install -g [email protected]`
29 issues (5 epics + 18 stories + 1 hotfix + 5 use cases) closing the Hermes integration gap. Before this release, Hermes Agent users could reach only a fraction of AIWG via MCP — five tools, one of which was a non-executing stub. After this release, Hermes users have feature parity with every other AIWG-supported provider.
TL;DR
# Install
npm install -g [email protected]
# Redeploy AIWG into your Hermes setup
aiwg refresh --provider hermes
# Confirm in Hermes
hermes chat "What AIWG tools are available?"
# Should list ~12 core tools by default
# Enable more via env: AIWG_MCP_TOOLSETS=memory,kb,ralph aiwg mcp serve
If you're a Hermes user: this is the release you've been waiting for. The 385 standard skills, the rules surface, the CLI command bridge — all reachable now. See the refreshed quickstart.
If you're a non-Hermes AIWG user: no breaking changes. The MCP server you connect from Claude Desktop / Cursor / Factory has gained 20+ new tools by default (discover, list/show pairs, command-run) and a clean opt-in toolset model. Your existing 4 working tools (artifact-read, artifact-write, template-render, agent-list) are unchanged. `workflow-run` is marked deprecated but still registered.
If you're an AIWG contributor: the MCP server is now modular. New tools go in `src/mcp/tools/*.mjs`, registered from `server.mjs`. Subsystem toolsets are template-driven via `STORAGE_SUBSYSTEMS` in `subsystems.mjs`.
Why this release exists
The post-#1212 discoverability refactor moved ~385 AIWG skills out of per-project deploy and into an index-driven model accessed via `aiwg discover` and `aiwg show` CLI commands. But the MCP server pre-dated that work and exposed only 5 tools (`workflow-run` — a stub; `artifact-read`, `artifact-write`, `template-render`, `agent-list` — the working four). Hermes users had no path to the post-#1212 surface.
Vendor research confirmed three breaking issues:
1. Hermes was at v0.13.0; our quickstart still targeted v0.4.0 with hundreds of lines of drifted file:line citations. 2. Generated AGENTS.md instructed users to call `delegate_task(skip_context_files=True, skip_memory=True)` — kwargs that don't exist on Hermes's actual signature. Every user since the integration shipped was running broken example code. 3. Standard skills (~385) were deployed to `~/.hermes/.aiwg/skills/` — a sibling of Hermes's scanned root, invisible to its `os.walk()`. The intended discovery never happened.
Plus an architectural gap: AIWG ships full feature parity for skills, agents, commands, rules, and templates across nine providers. For Hermes — purely MCP-driven — those surfaces had no path. This release establishes the three-layer parity model (native deploy + MCP exposure + AGENTS.md priming) for Hermes.
What ships
Layer 1 — Native deploy (Hermes scans the filesystem)
| Artifact | Path | Discovery mechanism |
|---|---|---|
| Kernel skills (~9) | `~/.hermes/skills/` | Hermes native scan |
| Standard skills (~385) | `~/.hermes/skills/.aiwg/` | Hermes `os.walk(followlinks=True)` recurses subdirs (verified `agent/skill_utils.py:478-489`) |
| Project context | `.hermes.md` + `AGENTS.md` at project root | Hermes prompt_builder loads with priority `.hermes.md > AGENTS.md` |
The new `~/.hermes/skills/.aiwg/` path replaces the unreachable `~/.hermes/.aiwg/skills/` from earlier versions. `migrateLegacySkillPath()` cleans up the legacy path on next refresh — idempotent, hash-matches before removal so user-authored files are never touched.
Layer 2 — MCP exposure (Hermes calls tools)
Default core toolset (~12 tools, always on, ~2.5K tokens schema):
- Discovery: `discover`, `skill-list`/`-show`, `command-list`/`-show`, `rule-list`/`-show`, `agent-list`/`-show`, `template-list`/`-render`/`-show`
- Execution: `command-run` (allow-listed against `definitions.ts`; destructive ops gated)
- Artifacts: `artifact-read`, `artifact-write`
Opt-in toolsets via `AIWG_MCP_TOOLSETS=<csv>` env var or `aiwg mcp serve --toolsets=<csv>` CLI flag:
| Toolset | Tools | Use case |
|---|---|---|
| `memory` | 10 (memory + reflections each: list/get/put/delete/path) | Project persistent memory |
| `kb` | 5 | Knowledge base |
| `research` | 7 (provenance + research-store) | W3C PROV + research corpus |
| `activity-log` | 3 (show/append/stats) | Lifecycle event log |
| `index` | 4 (build/query/deps/stats) | Artifact dependency graph |
| `ralph` | 5 (start/status/abort/attach + memory) | Long-running agent loops, session-id async |
| `mc` | 6 (start/dispatch/status/stop/list/watch) | Mission Control multi-loop orchestration |
| `ops` | 4 (status/list/use/push) | Multi-repo ops workspaces |
| `all` | every known toolset | full parity |
All write operations marked `destructiveHint: true` where appropriate; destructive subcommands require `confirmed: true` flag (elicitation fallback for clients without MCP elicitation support).
Layer 3 — AGENTS.md priming (Hermes loads context on every turn)
The 6 highest-enforcement AIWG rules are inlined into the generated AGENTS.md as a compressed directives block (~3K chars):
1. no-attribution — no AI tool branding in commits/PRs/code 2. anti-laziness — never delete tests, suppress CI, or workaround 3. citation-policy — never fabricate citations, DOIs, or page numbers 4. token-security — never hard-code or echo secrets 5. versioning — CalVer format, no leading zeros 6. ops-safety — gate destructive operations, never cross host boundaries
The remaining 23 rules are reachable on demand via `mcp_aiwg_rule_show <name>`. AGENTS.md hard-fails generation if it exceeds 19,000 chars (Hermes's 20K context cap with 1K headroom).
Hotfixes
Broken `delegate_task` API: `tools/agents/providers/hermes.mjs:117` was shipping `delegate_task(skip_context_files=True, skip_memory=True)` to every Hermes user. Those parameters don't exist — the behavior is hardcoded internally. Replaced with the correct `delegate_task(goal="...", context="...")` form. If you've been confused why `delegate_task` calls from AIWG examples didn't work, this is why.
`.hermes.md` emission: Our CHANGELOG has referenced `.hermes.md` emission since #1239, but the deployer never actually wrote the file. Now it does — thin pointer at project root, ~450 chars, loaded with priority over AGENTS.md.
Curator protection: Hermes v0.12.0+ ships an autonomous Curator that archives stale skills on a 7-day cycle. AIWG kernel skills now register in `~/.hermes/skills/.bundled_manifest` so the Curator excludes them. Standard skills under `.aiwg/` are already protected by the dot-prefix rule (Curator skips paths starting with `.`).
Documentation
- Hermes quickstart refreshed against v0.13.0. All file:line refs verified against commit `942adf6`.
- Hermes skill fields documents the Curator protection mechanism.
- CLI reference documents `--toolsets` flag and the new core tool surface.
- CI drift verifier: `tools/verify-hermes-citations.mjs` walks every Hermes citation in AIWG docs and validates against the pinned version. Runs on every PR touching Hermes docs. Pin: `HERMES_VERIFIED_VERSION = '0.13.0'`. Update the pin (and re-run the verifier) when AIWG is verified against a new Hermes minor release.
Migration notes
For Hermes users on AIWG 2026.5.3 or earlier:
# Update AIWG
npm install -g [email protected]
# Re-deploy — the migration helper cleans up legacy paths automatically
aiwg refresh --provider hermes
# Reload MCP in active Hermes chats
/reload-mcp
The deployer will: 1. Migrate skills from `~/.hermes/.aiwg/skills/` → `~/.hermes/skills/.aiwg/` (idempotent; hash-matched) 2. Write/update `.bundled_manifest` for Curator protection 3. Regenerate AGENTS.md with rule priming (~4K chars, well under 20K cap) 4. Emit `.hermes.md` thin pointer
The MCP server itself doesn't need restart unless you also want to enable opt-in toolsets via the env var.
For non-Hermes users: No action required. New MCP tools become available next time you start `aiwg mcp serve`.
Issues closed (29)
Hotfix: #1305 (H1 — broken delegate_task API)
Epics: #1306 (E1 MCP CLI bridge), #1307 (E2 skill path fix), #1308 (E3 AGENTS.md re-arch), #1309 (E4 subsystem toolsets), #1310 (E5 docs refresh)
Stories: #1311 (S20 scope split), #1312 (S1 command-run), #1313 (S2 discover + list/show pairs), #1314 (S4 path fix), #1315 (S3 workflow-run deprecation), #1316 (S5 migration helper), #1317 (S6 Curator manifest), #1318 (S7 rule priming), #1319 (S8 .hermes.md emission), #1320 (S9 rule-list/show), #1321 (S21 quickstart refresh), #1322-#1328 (S10-S17 subsystem toolsets), #1329 (S22 skill-fields docs), #1330 (S23 drift verifier), #1331 (S16 mc toolset), #1332 (S18 toolset dispatch), #1333 (S19 list_changed — deferred).
What's next
The Hermes integration now ships at parity with every other AIWG provider. Future iterations on this surface (track for the next epic if needed):
- Refresh `.aiwg/research/parity/hermes/assessment.md` — the drift verifier flagged 4 stale citations in that older doc. Not blocking; informational.
- Hot toolset re-enable + `notifications/tools/list_changed` — currently the toolset surface is static at server startup. A future iteration could allow runtime toggling with proper change notification. Deferred from S19 (#1333) with rationale.
- MCP elicitation support — verify when Hermes adds the 2025-06-18 spec elicitation handler. Currently we fall back to `isError: true + requires_confirmation: true` for destructive ops.
- Hermes minor-version verification harness — bump `HERMES_VERIFIED_VERSION` and re-run the citation verifier on each Hermes minor release.
Thanks to upstream Hermes Agent (NousResearch) for the stable MCP integration surface. This release pinned to commit `942adf6` (v0.13.0, 2026-05).