Skip to content

Show gateway notices on PostToolUse + shared conformance suite (0.6.8) - #4

Open
davidcrowe wants to merge 5 commits into
mainfrom
feat/notice-display-and-conformance
Open

davidcrowe wants to merge 5 commits into
mainfrom
feat/notice-display-and-conformance

Conversation

@davidcrowe

Copy link
Copy Markdown
Contributor

What this changes

  • Notice display (gatewaystack-connect#1334). handlePostToolUse() in bin/govern.mjs now shows the gateway's PostToolUse notice to the person as a systemMessage, so it is no longer silent in Codex. ACP_SHADOW=off still silences it, which matches the Claude Code plugin. New test: test/post-notice.test.mjs.
  • Conformance suite (gatewaystack-connect#1344 step 1). This adds the shared L1 conformance adapter test/conformance.test.mjs and the vendored corpus test/fixtures/plugin-corpus.json (hash aa186d3fb3e7d18c). The adapter also checks that the fake gateway really received each notice request, so a case can't pass without the plugin talking to it.
  • EXPECTED_DIVERGENCES is now empty. The notice-shown (#1334) entry is removed, because the fix above makes that case pass. The adapter asserts personSees === true directly.
  • Adds .github/workflows/test.yml, which runs node --test test/.
  • Version goes to 0.6.8 (PLUGIN_VERSION in bin/govern.mjs), following the repo's per-release bump. Nothing is published.

Tests

Local run of node --test test/ on this branch: 14 tests, 14 pass, 0 fail. That includes the adapter with no divergences.

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

…ct#1334)

The plugin read the post-hook response only for redact/block and dropped the
notice field, so every cost advisory (compaction, expensive run, subagent
model) was silent in Codex. Same contract as the Claude Code plugin:
systemMessage, never model context; ACP_SHADOW=off silences notices, not
blocks. Tests use a local fake gateway. No version bump yet: bump on merge,
after Fable review.
Vendors the shared plugin-corpus.json and adds test/conformance.test.mjs,
which drives bin/govern.mjs against a fake gateway to check the notice and
post-tool capability contracts. notice-shown is recorded in
EXPECTED_DIVERGENCES (#1334): PostToolUse never reads the gateway's notice
field, so it never reaches the person. Wires the adapter into CI.
notice-shown and notice-shadow-off only checked stdout/stderr for the
marker. Add an explicit assertion that the plugin actually POSTed to
/govern/tool-output first, so a request that never arrives (e.g. a
sync child-process call deadlocking an in-process fake server) can't
be mistaken for the real #1334 behavior.
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