From 7bb75bc2e790666cafb34bcb6bc8c229a6cb8e46 Mon Sep 17 00:00:00 2001 From: Transaction Science Date: Thu, 29 Oct 2026 01:10:15 -0400 Subject: [PATCH 1/2] wai-quantum: the job service listed on the MCP Registry; the command line's README ready for it The MCP Registry now lists the job service as science.transaction.wai/quantum-jobs 0.2.0, under the namespace that the site's /.well-known/mcp-registry-auth proves. - Both server.json files drop `repository`, which the registry refuses for the forge's address (and for the public mirror's). What was published is these files, byte for byte. - The command line's README carries the `mcp-name` line that the registry reads from a crate's README. 0.2.0's README on crates.io lacks it, so the registry refused science.transaction.wai/quantum; the next wai-quantum-cli can be listed. - The two READMEs that said "not submitted" (and the translation) say what is so; the changelog records it under Unreleased. Co-Authored-By: Claude Opus 5.5 --- wai/CHANGELOG.md | 7 +++++++ wai/wai-quantum-cli/README.md | 4 +++- wai/wai-quantum-cli/README.zh-CN.md | 2 +- wai/wai-quantum-cli/server.json | 5 ----- wai/wai-quantum-service/README.md | 2 +- wai/wai-quantum-service/server.json | 5 ----- 6 files changed, 12 insertions(+), 13 deletions(-) diff --git a/wai/CHANGELOG.md b/wai/CHANGELOG.md index 268cc41b8..aad6075ca 100644 --- a/wai/CHANGELOG.md +++ b/wai/CHANGELOG.md @@ -6,6 +6,13 @@ wire format may change and such changes are recorded here. ## Unreleased +- **The MCP Registry lists the job service** as `science.transaction.wai/quantum-jobs` 0.2.0, its endpoint + `https://wai.transaction.science/quantum-jobs/mcp`, under the namespace that + `https://wai.transaction.science/.well-known/mcp-registry-auth` proves. Both `server.json` files drop + `repository`, which the registry refuses for the forge's address. The command line's README carries the + `mcp-name` line that the registry reads from a crate's README, so the next `wai-quantum-cli` on crates.io can be + listed as `science.transaction.wai/quantum`; 0.2.0's README lacks it, and the registry refused that entry. + ## v0.4.0 ### One catalogue of operations, the agent rules on every command, and the service binaries named `wai-*` diff --git a/wai/wai-quantum-cli/README.md b/wai/wai-quantum-cli/README.md index ee8e8cb36..95fe3e5bf 100644 --- a/wai/wai-quantum-cli/README.md +++ b/wai/wai-quantum-cli/README.md @@ -1,5 +1,7 @@ # wai-quantum + + The command line of the WAI quantum stack. It runs OpenQASM programs on this machine, planned and run by the same engine as the quantum job service ([`wai_quantum::engine`](../wai-quantum/src/engine/mod.rs)), so a job gives the same result here as there. It also sends programs to the service, checks and draws them, verifies receipts, and serves its tools to agents over MCP. ## Installing it @@ -394,7 +396,7 @@ wai-quantum mcp install --file PATH # merged into the JSON configura { "mcpServers": { "wai-quantum": { "command": "wai-quantum", "args": ["mcp"] } } } ``` -`install` keeps every other entry and key, in its order, and writes the file whole or not at all. It refuses a file that is not a JSON object (one with comments included), and refuses to replace a different `wai-quantum` entry unless you pass `--force`. `--command` gives the full path of `wai-quantum` for a client that does not search your PATH, and `--name`, `--memory-gb` and `--key` shape the entry. [`server.json`](server.json) describes the server in the MCP registry's format; it has not been submitted. +`install` keeps every other entry and key, in its order, and writes the file whole or not at all. It refuses a file that is not a JSON object (one with comments included), and refuses to replace a different `wai-quantum` entry unless you pass `--force`. `--command` gives the full path of `wai-quantum` for a client that does not search your PATH, and `--name`, `--memory-gb` and `--key` shape the entry. [`server.json`](server.json) describes the server in the MCP Registry's format, as `science.transaction.wai/quantum`. ### Instructions for coding agents diff --git a/wai/wai-quantum-cli/README.zh-CN.md b/wai/wai-quantum-cli/README.zh-CN.md index 16145b442..c593a0244 100644 --- a/wai/wai-quantum-cli/README.zh-CN.md +++ b/wai/wai-quantum-cli/README.zh-CN.md @@ -387,7 +387,7 @@ wai-quantum mcp install --file PATH # 合并到客户端读取的 JS { "mcpServers": { "wai-quantum": { "command": "wai-quantum", "args": ["mcp"] } } } ``` -`install` 保留其他所有条目和键及其顺序,并且要么完整写入文件,要么完全不写。它拒绝不是 JSON 对象的文件(包括带注释的文件),并且除非你传入 `--force`,否则拒绝替换另一个不同的 `wai-quantum` 条目。对于不搜索你的 PATH 的客户端,`--command` 给出 `wai-quantum` 的完整路径;`--name`、`--memory-gb` 和 `--key` 用于定制该条目。[`server.json`](server.json) 以 MCP 注册表的格式描述该服务器;它尚未提交。 +`install` 保留其他所有条目和键及其顺序,并且要么完整写入文件,要么完全不写。它拒绝不是 JSON 对象的文件(包括带注释的文件),并且除非你传入 `--force`,否则拒绝替换另一个不同的 `wai-quantum` 条目。对于不搜索你的 PATH 的客户端,`--command` 给出 `wai-quantum` 的完整路径;`--name`、`--memory-gb` 和 `--key` 用于定制该条目。[`server.json`](server.json) 以 MCP 注册表的格式描述该服务器,名称为 `science.transaction.wai/quantum`。 ### 给编程智能体的说明 diff --git a/wai/wai-quantum-cli/server.json b/wai/wai-quantum-cli/server.json index 804c8abe0..5a38731c6 100644 --- a/wai/wai-quantum-cli/server.json +++ b/wai/wai-quantum-cli/server.json @@ -5,11 +5,6 @@ "description": "OpenQASM 3 programs run, checked against their intent and signed on this machine.", "version": "0.2.0", "websiteUrl": "https://wai.transaction.science/quantum-run/", - "repository": { - "url": "https://git.transaction.science/Transaction-Science/open-standards", - "source": "forgejo", - "subfolder": "wai/wai-quantum-cli" - }, "packages": [ { "registryType": "cargo", diff --git a/wai/wai-quantum-service/README.md b/wai/wai-quantum-service/README.md index cfd832312..7058d4f5a 100644 --- a/wai/wai-quantum-service/README.md +++ b/wai/wai-quantum-service/README.md @@ -198,7 +198,7 @@ The six checks answer at once, in the service's own process. Each counts against A client whose `initialize` says its host draws interactive views (the extension `io.modelcontextprotocol/ui`, version 2026-01-26) gets the engine's answers as views, as from the command line's server: each tool that has one names its `ui://wai-quantum/*` resource, the six views are listed and read, and each answer carries what its view draws in its `_meta`. The service keeps no session, so the client's word is carried in the session id it is given at `initialize` (`wq-views-` and 32 random hex digits, kept nowhere), which a client sends back with every request (`Mcp-Session-Id`); a client that draws no views gets no session id and none of this. For a job still running when the run's wait ends, the result view follows it with `poll_quantum_job`, which the host keeps from the model (`visibility: ["app"]`); a model reads a job with `get_quantum_job`. -`server.json` beside this README describes the endpoint in the MCP registry's format; it has not been submitted. The command line's agent docs (`llms.txt`, `AGENTS.md`, the Agent Skill) list these tools from `wai/wai-quantum-cli/docs/service-mcp.json`, which this crate's tests hold to the live list. After changing a tool, run `WAI_QUANTUM_BLESS=1 cargo test mcp::` here, then regenerate the command line's docs (its README says how). +`server.json` beside this README describes the endpoint in the MCP Registry's format; the registry lists it as `science.transaction.wai/quantum-jobs`. The command line's agent docs (`llms.txt`, `AGENTS.md`, the Agent Skill) list these tools from `wai/wai-quantum-cli/docs/service-mcp.json`, which this crate's tests hold to the live list. After changing a tool, run `WAI_QUANTUM_BLESS=1 cargo test mcp::` here, then regenerate the command line's docs (its README says how). ## Receipts diff --git a/wai/wai-quantum-service/server.json b/wai/wai-quantum-service/server.json index 7cc415380..c444db647 100644 --- a/wai/wai-quantum-service/server.json +++ b/wai/wai-quantum-service/server.json @@ -5,11 +5,6 @@ "description": "A free quantum job service: OpenQASM 3 run, checked and signed, with no account or key.", "version": "0.2.0", "websiteUrl": "https://wai.transaction.science/quantum-run/", - "repository": { - "url": "https://git.transaction.science/Transaction-Science/open-standards", - "source": "forgejo", - "subfolder": "wai/wai-quantum-service" - }, "remotes": [ { "type": "streamable-http", -- 2.54.0 (Apple Git-157) From 2300afdaf9cce72d7b39e5a1569903b222021758 Mon Sep 17 00:00:00 2001 From: Transaction Science Date: Thu, 29 Oct 2026 01:24:43 -0400 Subject: [PATCH 2/2] wai-quantum-cli 0.2.1: the README line the MCP Registry reads 0.2.1 is 0.2.0 with no code change, published so that crates.io carries the README with `mcp-name: science.transaction.wai/quantum` and the registry can list the command line's server. - Cargo.toml and server.json (its version and its package's): 0.2.1. - The desktop app requires 0.2.1; both lockfiles that hold wai-quantum-cli move. - The changelog's Unreleased entry becomes the 0.2.1 release heading. Co-Authored-By: Claude Opus 5.5 --- wai/CHANGELOG.md | 13 +++++++++---- wai/wai-quantum-cli/Cargo.lock | 2 +- wai/wai-quantum-cli/Cargo.toml | 2 +- wai/wai-quantum-cli/server.json | 4 ++-- wai/wai-quantum-desktop/Cargo.lock | 2 +- wai/wai-quantum-desktop/Cargo.toml | 2 +- 6 files changed, 15 insertions(+), 10 deletions(-) diff --git a/wai/CHANGELOG.md b/wai/CHANGELOG.md index aad6075ca..ff9aab444 100644 --- a/wai/CHANGELOG.md +++ b/wai/CHANGELOG.md @@ -6,12 +6,17 @@ wire format may change and such changes are recorded here. ## Unreleased +### wai-quantum-cli 0.2.1: the command line on the MCP Registry + +This release changes no code; `wai-quantum-cli` 0.2.1 is 0.2.0 with the README line the MCP Registry reads. + - **The MCP Registry lists the job service** as `science.transaction.wai/quantum-jobs` 0.2.0, its endpoint `https://wai.transaction.science/quantum-jobs/mcp`, under the namespace that - `https://wai.transaction.science/.well-known/mcp-registry-auth` proves. Both `server.json` files drop - `repository`, which the registry refuses for the forge's address. The command line's README carries the - `mcp-name` line that the registry reads from a crate's README, so the next `wai-quantum-cli` on crates.io can be - listed as `science.transaction.wai/quantum`; 0.2.0's README lacks it, and the registry refused that entry. + `https://wai.transaction.science/.well-known/mcp-registry-auth` proves. +- **The command line's README carries the `mcp-name` line** that the registry reads from a crate's README to + list `science.transaction.wai/quantum`. 0.2.0's README lacks it, and the registry refused that entry. +- **Both `server.json` files drop `repository`**, which the registry refuses for the forge's address. +- The desktop app requires 0.2.1, and both lockfiles that hold `wai-quantum-cli` move with it. ## v0.4.0 diff --git a/wai/wai-quantum-cli/Cargo.lock b/wai/wai-quantum-cli/Cargo.lock index 9194fc620..cac1aff5e 100644 --- a/wai/wai-quantum-cli/Cargo.lock +++ b/wai/wai-quantum-cli/Cargo.lock @@ -1133,7 +1133,7 @@ dependencies = [ [[package]] name = "wai-quantum-cli" -version = "0.2.0" +version = "0.2.1" dependencies = [ "clap", "clap_complete", diff --git a/wai/wai-quantum-cli/Cargo.toml b/wai/wai-quantum-cli/Cargo.toml index b0c46a5cc..bed75deb8 100644 --- a/wai/wai-quantum-cli/Cargo.toml +++ b/wai/wai-quantum-cli/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "wai-quantum-cli" -version = "0.2.0" +version = "0.2.1" edition = "2024" rust-version = "1.97" license = "Apache-2.0" diff --git a/wai/wai-quantum-cli/server.json b/wai/wai-quantum-cli/server.json index 5a38731c6..3a368939e 100644 --- a/wai/wai-quantum-cli/server.json +++ b/wai/wai-quantum-cli/server.json @@ -3,14 +3,14 @@ "name": "science.transaction.wai/quantum", "title": "WAI Quantum", "description": "OpenQASM 3 programs run, checked against their intent and signed on this machine.", - "version": "0.2.0", + "version": "0.2.1", "websiteUrl": "https://wai.transaction.science/quantum-run/", "packages": [ { "registryType": "cargo", "registryBaseUrl": "https://crates.io", "identifier": "wai-quantum-cli", - "version": "0.2.0", + "version": "0.2.1", "transport": { "type": "stdio" }, diff --git a/wai/wai-quantum-desktop/Cargo.lock b/wai/wai-quantum-desktop/Cargo.lock index 6cd53f73c..d1148cf49 100644 --- a/wai/wai-quantum-desktop/Cargo.lock +++ b/wai/wai-quantum-desktop/Cargo.lock @@ -4143,7 +4143,7 @@ dependencies = [ [[package]] name = "wai-quantum-cli" -version = "0.2.0" +version = "0.2.1" dependencies = [ "clap", "clap_complete", diff --git a/wai/wai-quantum-desktop/Cargo.toml b/wai/wai-quantum-desktop/Cargo.toml index 44e44191a..4ce8b4954 100644 --- a/wai/wai-quantum-desktop/Cargo.toml +++ b/wai/wai-quantum-desktop/Cargo.toml @@ -17,7 +17,7 @@ serde_json = { version = "1", features = ["float_roundtrip"] } # The assistant's model server, called by the app (a local one by default). ureq = { version = "3", features = ["json"] } wai-quantum = { version = "0.7.0", path = "../wai-quantum", default-features = false, features = ["quantum_engine", "quantum_receipt", "quantum_toolchain", "quantum_qec", "quantum_noise"] } -wai-quantum-cli = { version = "0.2.0", path = "../wai-quantum-cli", default-features = false } +wai-quantum-cli = { version = "0.2.1", path = "../wai-quantum-cli", default-features = false } # The person's own providers: their registry, their credentials in the # operating system's keychain, and runs on them sealed with the app's key. wai-quantum-qpu = { version = "0.3.0", path = "../wai-quantum-qpu" } -- 2.54.0 (Apple Git-157)