1.0.0: default mcp feature, MCP Registry publishing, private lib#37
Merged
Conversation
Markdown (Marp) deck covering the problem, context/constraints, how the trusted-gate role determines the architecture, and the assurance-ladder verification effort. Speaker notes inline. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Prepare sudo-proxy for the official MCP Registry and a 1.0 release. - Make `mcp` a default Cargo feature so `cargo install sudo-proxy` builds the `sudo-proxy-mcp` binary (the registry's cargo install path uses no extra flags). Build core-only binaries with `--no-default-features`. - Mark the Rust library `#![doc(hidden)]` with a disclaimer: it is an internal implementation detail, not a stable public API. The versioned contract is the MCP tools, the JSON-line wire protocol, and the CLI — which lets 1.0.0 promise stability of that surface without freezing the Rust types. - Add server.json (name io.github.tarides/sudo-proxy, cargo package) and a visible `mcp-name:` ownership marker in the README so the registry can verify crate ownership. - Add publish.yml: on a `v*` tag, publish to crates.io via Trusted Publishing (OIDC, no stored token), wait for the crate to be served, then register the server in the MCP Registry via GitHub Actions OIDC. - Update ci.yml/release.yml core-only guards to `--no-default-features`; drop now-redundant `--features mcp` from build/test/install commands in docs. - Bump version to 1.0.0. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
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.
Prepares sudo-proxy for the official MCP Registry and a 1.0 release.
Why
The crate is public on crates.io but two things block a clean MCP Registry listing, and the project is mature enough to commit to a stable contract:
sudo-proxy-mcprequires--features mcp, but the registry's cargo install path runscargo install sudo-proxywith no extra flags — so it would not install the advertised binary.mcp-name:marker from the crate's README on crates.io.Changes
mcpis now a default feature —cargo install sudo-proxybuilds all four binaries incl.sudo-proxy-mcp. Core-only build is--no-default-features.#![doc(hidden)]with a disclaimer: it is an internal implementation detail, not a stable public API. The versioned contract is the MCP tools + wire protocol + CLI — so 1.0.0 promises stability of that surface while internals stay free to change.server.json(nameio.github.tarides/sudo-proxy, cargo package) + visiblemcp-name:README marker for ownership verification.publish.yml— on av*tag: crates.io Trusted Publishing (OIDC, no stored token) → wait for crate → MCP Registry publish via GitHub Actions OIDC.ci.yml/release.yml— core-only guards use--no-default-features; redundant--features mcpdropped from docs and build/test commands.Verification
cargo build --release→ all 4 binaries incl.sudo-proxy-mcpcargo build --release --no-default-features→ 3 core binaries onlycargo test -- --skip burst_connections_above_cap_get_busy_response→ greenRelease steps (after merge)
git tag v1.0.0 && git push origin v1.0.0→ firespublish.yml+release.yml.io.github.tarides/sudo-proxy.Note: the crates.io Trusted Publisher is already registered (repo +
publish.yml), enforcement left off until the first green run.🤖 Generated with Claude Code