Skip to content

Shared plugin conformance suite (gatewaystack-connect#1344 step 1) - #2

Open
davidcrowe wants to merge 1 commit into
mainfrom
test/plugin-conformance
Open

davidcrowe wants to merge 1 commit into
mainfrom
test/plugin-conformance

Conversation

@davidcrowe

Copy link
Copy Markdown
Contributor

What this changes

This adds the shared L1 plugin conformance adapter and the vendored corpus test/fixtures/plugin-corpus.json (hash aa186d3fb3e7d18c) for gatewaystack-connect#1344 step 1. The adapter runs the canonical notice and post-tool cases against this plugin's real entry point, using a fake gateway. EXPECTED_DIVERGENCES lists anything that still fails, and a test checks the list is exact, so a new failure or a silent fix both turn CI red.

The branch is rebased onto the current origin/main. Only tests are added; plugin code is not changed.

Tests

Local run on this branch: node --test test/*.test.ts: 24/24 pass (local Node 22 with --experimental-strip-types; CI uses Node 24).

Adds .github/workflows/test.yml. This is the workflow's first real run.

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

Refs davidcrowe/gatewaystack-connect#1344

Vendors the shared corpus (gatewaystack-connect#1344 step 1) and adds
test/conformance.test.ts, which drives the real extension entry point
against a fake gateway to check that gateway notices reach the operator
(ctx.ui.notify / stderr, honoring ACP_SHADOW=off) and that the outgoing
POST /govern/tool-output body carries tool_name, tool_input, tool_output,
session_id, and hook_event_name "PostToolUse". Both capabilities pass
against origin/main; EXPECTED_DIVERGENCES is empty.

Also adds a GitHub Actions workflow so the existing suite and the new
adapter run on pull requests and pushes to main.
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