Lead with the task, ship a runnable walkthrough, fix the version drift - #2
Merged
Merged
Conversation
…e version Three problems on the only surface with verified external discovery. 1. The README opened with what the server IS, not what it DOES. A developer arriving from a listing had to read past an architecture description to find out whether it solved their problem. It now opens with the task, and the first command runs a real verification. 2. It told people to run `npx ...@0.1.1`, which does not resolve: npm serves 0.1.0, the version with the first-use defect. Telling people a broken command works is worse than saying nothing. There is now an explicit notice and a tested install from the release tarball, with a checksum to compare. 3. createServer advertised version 0.1.0 while package.json said 0.1.1. A developer who checks the handshake found the artifact misreporting itself, which is corrosive for a product whose entire claim is that it tells you the truth about authority. A test now pins the two together. examples/verify-mandate.mjs is the canonical walkthrough. It creates a mandate, verifies an action through the MCP tool, then raises approvalRequiredAboveMinor from 25000 to 999999 while keeping the original signature and verifies again. That second call is the point. A walkthrough that only shows the happy path cannot tell you whether the signature is checked at all. The tampered envelope would turn a requires_approval into an allow, so if it succeeds the guarantee is worthless and the script exits non-zero. It starts the RELEASED artifact, not the working tree, so it tests what a developer actually installs. The key is read from the environment or prompted for without echo, and is never printed or written to disk. Verified against production: untampered returns requires_approval with the correct violation and a digest; tampered is rejected 400. 29/29 tests pass.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Acts on the cycle-8 distribution directive: turn the Glama discovery foothold into a
task-specific entry point with one copyable, tested walkthrough through a substantive
result.
Three problems, all on the only surface with verified external discovery
The README led with what the server is, not what it does. It now opens with
"Verify a signed agent mandate through MCP" and the first command runs a real
verification.
It advertised a command that does not resolve. npm serves
0.1.0, the versionwith the first-use defect; the README told people to run
@0.1.1. There is now anexplicit installation notice and a tested install from the release tarball with a
checksum.
The server misreported its own version.
createServeradvertised0.1.0whilepackage.jsonsaid0.1.1, so the MCPinitializehandshake was wrong. A test nowpins the two together.
The walkthrough
examples/verify-mandate.mjs, run against production before this PR:The tamper step is the part that matters. A happy-path walkthrough cannot show whether
the signature is checked at all. Raising
approvalRequiredAboveMinorfrom 25,000 to999,999 while keeping the original signature would turn
requires_approvalintoallow, so the script exits non-zero if it ever succeeds.It starts the released artifact, not the working tree, so it exercises what a
developer actually installs. The key is read from the environment or prompted for
without echo, and is never printed or written to disk.
Verification
🤖 Generated with Claude Code