diff --git a/crates/fractal-chatgpt/Cargo.toml b/crates/fractal-chatgpt/Cargo.toml index b1bb7db2d33..85efd3dc54a 100644 --- a/crates/fractal-chatgpt/Cargo.toml +++ b/crates/fractal-chatgpt/Cargo.toml @@ -20,6 +20,11 @@ tower = { version = "0.5", features = ["util"] } tempfile = "3" parking_lot = "0.12" +[[bin]] +name = "fractal-chatgpt" +path = "src/main.rs" + +# Keep the existing Nix package buildable until its package-name cutover. [[bin]] name = "st-chatgpt" path = "src/main.rs" diff --git a/docs/site/reference/mcp-server.md b/docs/site/reference/mcp-server.md index 799f8095983..603978e46eb 100644 --- a/docs/site/reference/mcp-server.md +++ b/docs/site/reference/mcp-server.md @@ -8,7 +8,7 @@ order: 6 The Fractal MCP server connects an MCP client to the daemon's paired-client gateway. It exposes a closed set of tools for alerts, missions, agents, conversations, and explicitly scoped writes. It does not expose daemon control or give an assistant person authority. -The Rust package is `fractal-chatgpt`; its executable is `st-chatgpt`. The supported assistant principal is `assistant/chatgpt`, including when a generic MCP client uses the adapter. Pairing requires the configured owning person's explicit consent to disclose assistant reads to OpenAI. Do not use a person credential for this server. +The Rust package is `fractal-chatgpt`; its binary is `fractal-chatgpt` (`st-chatgpt` kept as an alias binary). The supported assistant principal is `assistant/chatgpt`, including when a generic MCP client uses the adapter. Pairing requires the configured owning person's explicit consent to disclose assistant reads to OpenAI. Do not use a person credential for this server. The [external-assistant contract](https://github.com/compoundingtech/fractal/blob/main/docs/st3/external-assistants.md) defines the authority and wire behavior. Remote access is a restricted dogfood path, not an authenticated public service. @@ -19,10 +19,10 @@ Install and configure [Fractal](../getting-started/install.md) first. The daemon Build the adapter from the repository root with Rust and the repository's build prerequisites: ```sh -cargo build --release -p fractal-chatgpt --bin st-chatgpt +cargo build --release -p fractal-chatgpt --bin fractal-chatgpt ``` -The binary is `target/release/st-chatgpt`. Alternatively, obtain it from the repository's Nix package: +The binary is `target/release/fractal-chatgpt` (`st-chatgpt` kept as an alias binary). Alternatively, obtain the current Nix package: ```sh nix build github:compoundingtech/fractal#st-chatgpt @@ -96,7 +96,7 @@ A generic MCP client configuration looks like this; adapt the outer configuratio { "mcpServers": { "fractal": { - "command": "/PATH/TO/st-chatgpt", + "command": "/PATH/TO/fractal-chatgpt", "args": [ "--transport", "stdio", "--socket", "/PATH/TO/st3-client.sock", @@ -147,7 +147,7 @@ The table summarizes the descriptions published by the adapter. A scope listed h | `fractal_conversation_read` | `read.assistant.conversation` | Read | Read one bounded revision-pinned conversation content range. | | `fractal_message_send` | `write.assistant.messages` | Write | Send one exact message to any existing agent; person recipients are refused. | -The corresponding `st_*` tool names are hidden, deprecated aliases for cached clients and are removed in `fractal-chatgpt` 0.2.0. Refresh client tool discovery and use `fractal_*`; aliases do not grant additional authority. This deprecation concerns MCP tool names, not the `st-chatgpt` executable name. +The corresponding `st_*` tool names are hidden, deprecated aliases for cached clients and are removed in `fractal-chatgpt` 0.2.0. Refresh client tool discovery and use `fractal_*`; aliases do not grant additional authority. This tool-name deprecation is separate from the `st-chatgpt` alias binary. ## Limits and grant lifecycle diff --git a/release-notes/fractal-chatgpt-reader-rename.json b/release-notes/fractal-chatgpt-reader-rename.json new file mode 100644 index 00000000000..7790b759521 --- /dev/null +++ b/release-notes/fractal-chatgpt-reader-rename.json @@ -0,0 +1,11 @@ +{ + "version": 1, + "summary": "Add the fractal-chatgpt adapter binary and keep st-chatgpt as an alias binary", + "replay": {"status": "none", "detail": "No graph replay or data changes."}, + "schema": {"status": "none", "detail": "No storage schema changes."}, + "rules": {"status": "none", "detail": "No checkpoint or coordination rule changes."}, + "compatibility": {"status": "changed", "detail": "The package builds binary fractal-chatgpt (st-chatgpt kept as an alias binary). Both targets compile the same source. Nix package names and lane inputs are unchanged."}, + "downtime": {"status": "none", "detail": "No daemon restart or service interruption is required."}, + "manual": {"status": "changed", "detail": "Source builds can select --bin fractal-chatgpt. Existing --bin st-chatgpt builds and the current Nix package continue to produce the alias binary."}, + "recovery": {"status": "none", "detail": "No persistent data is changed. The alias binary continues to invoke the same adapter."} +}