Skip to content

[Critical] No device endpoints, ACF_GBB requests, or real network transport are wired to the live server despite ROADMAP marking milestones Done through v1.0.0 #89

Description

@SoundMatt

What's wrong

None of the 13 endpoint-type modules (gpio, spi, i2c, uart, can, lin, pwm, adc, iseled, mdio, etc.) implement the crate's Endpoint trait, so none are reachable from the crate's one live server (mock::RcServer, also reused by udp::UdpRcServer).

  • mock.rs's Endpoint trait doc comment (~lines 72-99) states verbatim that none of gpio/can/etc. implement the trait and that wiring one is out of scope, and that udp::UdpRcServer "still dispatches through this same Endpoint trait," leaving the gap open.
  • grep 'impl Endpoint for' src/*.rs matches only decorator modules (authz, ratelimit, faultinject, proxy, redundancy, record, observe, deadline, loan, sim) plus mock.rs's own MockEndpoint — no concrete device-endpoint implementation exists anywhere, even though gpio.rs/can.rs/etc. exist as standalone pure-function modules that are never connected to the trait.
  • grep for AcfGbb/Gbb in mock.rs returns nothing — conditional/compound/timed/cancellation ACF_GBB requests are not handled at all.
  • grep for std::net/TcpStream/mmap/UdpSocket concrete usage in udp.rs/tlstransport.rs/shmem.rs finds only trait definitions and test doubles. src/bin/rcp.rs's doc comment (lines 41-42) states verbatim: "This crate has no concrete rcp::udp::UdpSocket implementation over a real OS socket." The CLI constructs a fresh RcServer::new(...) per subcommand invocation with no persisted state — there is no actual running server a client could connect to over a network.

Why it matters

ROADMAP.md marks the corresponding milestones "Done" through v1.0.0, but the crate cannot actually control a single real device or accept a request over a real network socket. Anyone depending on the v1.0.0 release for a working RC Server would find it non-functional beyond in-process mock testing.

Suggested fix

Either implement Endpoint for at least one real device-type module (e.g. gpio) and wire a real OS socket into udp::UdpRcServer, or correct ROADMAP.md to reflect that these milestones are not actually done, and add ACF_GBB (conditional/compound/timed/cancellation) request handling to the dispatch path.


Filed from the RELAY ecosystem audit (2026-07-29), category: tc18-spec-completeness, severity: critical.

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