Skip to content

Show gateway notices after each tool + shared conformance suite (0.3.1) - #13

Merged
davidcrowe merged 4 commits into
mainfrom
feat/notice-display-and-conformance
Oct 7, 2026
Merged

davidcrowe merged 4 commits into
mainfrom
feat/notice-display-and-conformance

Conversation

@davidcrowe

Copy link
Copy Markdown
Contributor

What this changes

  • Notice display (gatewaystack-connect#1334). _post_tool_call() in src/acp_hermes/__init__.py now reads notice from the /govern/tool-output reply and writes it to stderr after each tool. Before this change the reply was thrown away. ACP_SHADOW=off silences it, which matches the Claude Code plugin. New tests are in tests/test_hooks.py.
  • Conformance suite (gatewaystack-connect#1344 step 1). This adds the shared adapter tests/test_conformance.py and the vendored corpus tests/fixtures/plugin-corpus.json (hash aa186d3fb3e7d18c). A guard checks that acp_hermes is imported from this repo's own src/. It compares paths rather than folder names, so it holds in a CI clone.
  • EXPECTED_DIVERGENCES is now empty. The notice-shown (#1334) entry is removed because the fix makes it pass.
  • Adds .github/workflows/test.yml.
  • Version goes to 0.3.1 (pyproject.toml and _FALLBACK_VERSION). Nothing is published to PyPI.

Tests

Local run of PYTHONPATH=src .venv/bin/pytest -q tests on this branch: 59 passed. That includes the notice tests and the adapter with no divergences. Main is at 57.

This is the new workflow's first real run.

Ships under ship-when-confident; Fable reviews after (queue +G/+I).

Refs davidcrowe/gatewaystack-connect#1344, davidcrowe/gatewaystack-connect#1334

…1334)

The post hook posted to /govern/tool-output and ignored the reply's notice,
so every cost advisory was silent in Hermes. Hermes has no message channel
on the post hook, so the notice goes to stderr, the surface this plugin
already uses for the person. ACP_SHADOW=off silences it, matching the
Claude Code plugin. No version bump yet: bump on merge, after Fable review.
Vendors the byte-identical shared plugin-corpus.json and adds
tests/test_conformance.py, which drives the real post_tool_call hook
against a fake gateway and checks the notice and post-tool capability
contracts. Records the known #1334 notice-drop divergence in
EXPECTED_DIVERGENCES so a fix turns CI red until the entry is removed.
Also adds a minimal GitHub Actions workflow running the full pytest
suite including the new adapter.
… folder name

The guard hard-coded 'hermes-acp-plugin-conf', so it failed in any other
checkout, including the CI clone the new workflow runs in.
@davidcrowe
davidcrowe merged commit a380b9d into main Oct 7, 2026
1 check passed
@davidcrowe
davidcrowe deleted the feat/notice-display-and-conformance branch October 7, 2026 04:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant