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.
What's wrong
None of the 13 endpoint-type modules (
gpio,spi,i2c,uart,can,lin,pwm,adc,iseled,mdio, etc.) implement the crate'sEndpointtrait, so none are reachable from the crate's one live server (mock::RcServer, also reused byudp::UdpRcServer).mock.rs'sEndpointtrait 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 thatudp::UdpRcServer"still dispatches through this same Endpoint trait," leaving the gap open.grep 'impl Endpoint for' src/*.rsmatches only decorator modules (authz,ratelimit,faultinject,proxy,redundancy,record,observe,deadline,loan,sim) plusmock.rs's ownMockEndpoint— no concrete device-endpoint implementation exists anywhere, even thoughgpio.rs/can.rs/etc. exist as standalone pure-function modules that are never connected to the trait.grepforAcfGbb/Gbbinmock.rsreturns nothing — conditional/compound/timed/cancellation ACF_GBB requests are not handled at all.grepforstd::net/TcpStream/mmap/UdpSocketconcrete usage inudp.rs/tlstransport.rs/shmem.rsfinds only trait definitions and test doubles.src/bin/rcp.rs's doc comment (lines 41-42) states verbatim: "This crate has no concretercp::udp::UdpSocketimplementation over a real OS socket." The CLI constructs a freshRcServer::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.mdmarks 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
Endpointfor at least one real device-type module (e.g.gpio) and wire a real OS socket intoudp::UdpRcServer, or correctROADMAP.mdto 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.