Implementation capability matrix¶
What each libtracer implementation actually provides — generated from real
test evidence by tools/gen_capability_matrix.py,
not hand-authored. Every ✅ is backed by an artifact CI runs (a shared
conformance-vector category, a C++ ctest, a Rust cargo test, a TS npm test,
a live-interop job, or an ESP build); the module row below is auto-derived by
scanning the source tree, so a catalog entry with no translation unit shows as
planned, not done. A CI check fails if this page drifts from that evidence.
The C++ core is the golden reference; the TypeScript and Rust cores are from-scratch native reimplementations kept in lock-step by the same vectors (ADR-0028).
Native protocol implementations
| Implementation | Wire codec | Typed TLVs | FWD / FIELD | Client / node | Transports | Graph runtime | Cross-validated | Published |
|---|---|---|---|---|---|---|---|---|
| C++ corereference · native | ✅byte-exact | ✅ | ✅ | ✅ | ✅tcp/udp/ws/quic/wt/can | ✅ | ✅golden | —the library |
| TypeScriptnative · edge | ✅byte-exact | ✅ | ✅ | 🟡experimental | 🟡ws + webtransport | ❌by design | ✅+ live interop | npmcore + client + ws |
| Rustnative · no_std | ✅byte-exact | ✅builders + PATH | ✅ | ❌deferred | ❌deferred | ❌ | ✅28/28 + 31 tests | ⚠️pre-release |
Platform integrations & bindings
These deliver the C++ core to a platform — not separate protocol implementations.
| Integration | Kind | What it delivers | Build / CI | Status |
|---|---|---|---|---|
| ESP-IDF | port | full C++ node — graph + FWD + udp/tcp/ws/can + TWAI | ✅esp32c6 + c3 + linux | ✅managed component |
| Arduino | port / packaging | packages core as an Arduino library | —not planned | —not planned |
| PlatformIO | port / packaging | ships + compiles the core (default portable set) | ⚠️pack-verified | ⚠️ships core; no pio consumer-build CI |
| ESPHome | — | no-op placeholder component | ❌ | ❌not implemented |
| ROS 2 (rmw_tracer) | binding | drop-in RMW over the C++ graph | ⚠️18-line stub | ⚠️early stub |
C++ modules (auto-derived from the source tree)
Status detected from core/src + core/tests — a module the catalog lists but has no translation unit shows as planned.
| Module | Translation unit | Status |
|---|---|---|
| transport_tcp | core/src/transport_tcp.cpp | ✅implemented · tested |
| transport_udp | core/src/transport_udp.cpp | ✅implemented · tested |
| transport_ws | core/src/transport_ws.cpp | ✅implemented · tested |
| transport_can | core/src/transport_can.cpp | ✅implemented · tested |
| transport_quic | core/src/transport_quic.cpp | ✅implemented · tested |
| transport_webtransport | core/src/transport_webtransport.cpp | ✅implemented · tested |
| transport_unix | — | —planned (catalog) |
| transport_uart | — | —planned (catalog) |
| fwd_router | core/src/fwd_router.cpp | ✅implemented · tested |
| graph_runtime | core/src/graph.cpp | ✅implemented · tested |
| security_acl | — | ✅implemented · tested |
How this is verified¶
Each ✅ cites a real artifact — a conformance-vector category, a
ctest, acargo test, annpm test, a live-interop job, or an ESP build — andtools/gen_capability_matrix.py --check(CI) fails if any citation is missing or if this page is stale. The tests’ pass/fail is proven by the existing CI jobs (conformance,core-ci,ts,ws-interop,esp-idf).The module table is auto-derived by scanning the tree, so it cannot overclaim:
transport_i2c/spi/unixshow as planned until their TU lands.Full module catalog: reference/10-module-catalog.md. Third-party implementations: docs/implementations.md.