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)

ArtifactPathDiscovery 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 rootHermes 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:

ToolsetToolsUse case
`memory`10 (memory + reflections each: list/get/put/delete/path)Project persistent memory
`kb`5Knowledge 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 toolsetfull 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).