Skip to content

gsd-hermes v1.4.30 — Hermes Runtime Model Binding Receipts

Choose a tag to compare

@pingchesu pingchesu released this 26 Apr 02:02
10690fe

gsd-hermes v1.4.30 — Hermes Runtime Model Binding Receipts

Release date: 2026-04-26
Package: gsd-hermes@1.4.30
Upstream GSD base: upstream/main@cd057255
Previous package: gsd-hermes@1.4.0
Tracker: #32

Summary

gsd-hermes@1.4.30 closes the gap between GSD resolver intent and Hermes child-agent runtime construction for per-agent model overrides. GSD now surfaces structured model binding receipts, validates unsupported explicit bindings before spawn, and documents the proof boundary between resolver/workflow metadata, Hermes child construction, safe provider diagnostics, and live provider wire-level enforcement.

This release intentionally remains conservative: it proves Hermes child AIAgent(model=...) construction for configured per-agent overrides, but it does not claim provider wire-level model=... enforcement unless a future sanitized provider request capture proves it.

Highlights

  • Adds structured model_binding_receipts to plan-phase and execute-phase init payloads while keeping legacy flat *_model fields for compatibility.
  • Establishes direct delegate_task(model=...) and batch tasks[].model as the Hermes child binding channels for GSD per-agent overrides.
  • Fails fast when an explicit Hermes model binding cannot be honored, naming the agent, configured model, runtime/channel, and suggested fix.
  • Adds tests proving invalid explicit model tokens cannot silently fall back to parent/default model.
  • Adds Hermes Agent tests proving GSD planner/executor model tokens reach child AIAgent(model=...) construction.
  • Adds sanitized provider diagnostics helpers that redact API keys, tokens, passwords, authorization headers, client secrets, and credential-bearing URLs.

Proof boundary

Evidence layer Status in v1.4.30 Notes
GSD resolver proof Supported model_overrides and profile/runtime paths serialize into structured receipts.
Workflow handoff proof Supported Init payloads display configured/resolved model and binding channel before dispatch.
Hermes child-construction proof Supported by tests delegate_task(model=...) and tasks[].model reach child AIAgent(model=...).
Safe provider diagnostics Supported helper/test coverage Only sanitized provider/model/proof metadata is retained.
Live provider wire-level proof Not claimed Requires future sanitized provider request instrumentation.

runtime_enforced=unknown means provider wire-level proof has not been captured. It is not permission to silently fall back to the parent/default model.

User impact

Users who configure .planning/config.json with per-agent model_overrides on Hermes get clearer behavior:

  • A supported explicit override is passed into the Hermes child construction channel and shown in receipts.
  • An unsupported explicit override fails before spawn with actionable diagnostics.
  • A child agent inheriting the parent/default model when an explicit override was configured is considered a bug.

Verification

Release validation should include:

npm run build:sdk
cd sdk && npx vitest run src/query/init.test.ts src/query/config-query.test.ts
cd ..
node --test tests/init.test.cjs tests/runtime-model-parity.test.cjs tests/workflow-size-budget.test.cjs tests/hermes-docs.test.cjs
npm run test:hermes
npm test
npm pack --dry-run

Hermes Agent companion validation:

cd /home/whiskey/.hermes/hermes-agent
.venv/bin/python -m pytest tests/tools/test_delegate.py tests/agent/test_auxiliary_codex_responses_conversion.py tests/agent/test_provider_diagnostics.py -q
.venv/bin/python -m py_compile tools/delegate_tool.py run_agent.py agent/provider_diagnostics.py agent/redact.py tests/tools/test_delegate.py tests/agent/test_provider_diagnostics.py

Links

  • Tracker issue: #32
  • Upstream sync release notes: ./v1.4.0-upstream-sync-cd057255.md
  • Hermes compatibility docs: ../hermes-compatibility.md