Skip to content

[P1] CLI binary/tool name is "rcp", not the spec-mandated "rust-rcp" (§13.2) #8

Description

@SoundMatt

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions