What's wrong
RELAY spec §13.2 ("CLI binary names") states binaries MUST be lowercase <lang>-<protocol>, giving the exact examples go-can, cpp-rcp, rust-someip. For this repo that means the binary should be rust-rcp.
Instead, Cargo.toml names the binary rcp (Cargo.toml:15-17: [[bin]] name = "rcp"), and src/bin/rcp.rs:27 sets const TOOL: &str = "rcp", which is echoed into the version/capabilities JSON docs:
$ ./target/debug/rcp version --format json
{ "tool": "rcp", ... }
Sibling rust-CAN follows the convention correctly — its binary is named rust-can ([[bin]] name = "rust-can", verified via gh api).
Expected per spec
Binary name and tool field: rust-rcp.
Suggested fix
Rename the [[bin]] target to rust-rcp in Cargo.toml and update TOOL in src/bin/rcp.rs:27 to match (a breaking rename for any existing consumers/CI invoking rcp, so coordinate with the CI workflow's cargo build --bin rcp / target/release/rcp references).
Filed from the RELAY ecosystem audit (2026-07-27), category: spec-conformance, severity: P1.
What's wrong
RELAY spec §13.2 ("CLI binary names") states binaries MUST be lowercase
<lang>-<protocol>, giving the exact examplesgo-can,cpp-rcp,rust-someip. For this repo that means the binary should berust-rcp.Instead, Cargo.toml names the binary
rcp(Cargo.toml:15-17:[[bin]] name = "rcp"), andsrc/bin/rcp.rs:27setsconst TOOL: &str = "rcp", which is echoed into theversion/capabilitiesJSON docs:Sibling
rust-CANfollows the convention correctly — its binary is namedrust-can([[bin]] name = "rust-can", verified viagh api).Expected per spec
Binary name and
toolfield:rust-rcp.Suggested fix
Rename the
[[bin]]target torust-rcpin Cargo.toml and updateTOOLin src/bin/rcp.rs:27 to match (a breaking rename for any existing consumers/CI invokingrcp, so coordinate with the CI workflow'scargo build --bin rcp/target/release/rcpreferences).Filed from the RELAY ecosystem audit (2026-07-27), category: spec-conformance, severity: P1.