diff --git a/docs/ARCHITECTURE.md b/docs/ARCHITECTURE.md index 97c58bf..e5d0041 100644 --- a/docs/ARCHITECTURE.md +++ b/docs/ARCHITECTURE.md @@ -352,7 +352,7 @@ rewriting the document. | 1 | Separate services over a message bus, not one process | Accepted | 2026-08-14 | | 2 | Displays are bus subscribers; no display-specific logic upstream | Accepted | 2026-08-14 | | 3 | Listen-only sniffing + active OBD-II, single writer | Accepted | 2026-08-14 | -| 4 | MQTT as the bus (raw CAN rate still to confirm) | Accepted | 2026-10-12 | +| 4 | MQTT as the bus; raw CAN rate confirmed on the car Orin (svc-core `BUS-BENCH.md`) | Accepted | 2026-10-12 | | 5 | Rust for on-Orin services, Python for off-car tooling, Dart for the display client. One exception: decision 29 | Accepted | 2026-09-04 | | 21 | Two clocks per envelope; `monotonic` orders, `timestamp` references | Accepted | 2026-09-05 | | 22 | `signals.json` is the single source for signal name and unit; both are derived, never authored twice | Accepted | 2026-09-05 | diff --git a/docs/ROADMAP.md b/docs/ROADMAP.md index c011ff2..ded81a8 100644 --- a/docs/ROADMAP.md +++ b/docs/ROADMAP.md @@ -70,7 +70,9 @@ provides a cross-check for reverse-engineered ones. - [x] Stand up the broker, 2026-10-12: mosquitto 2.0.11 on the car Orin, localhost only. First publisher `orin-status` (svc-core, `yukart/host/*`); `svc-gw` subscribes and serves it to the tablet -- [ ] Confirm MQTT holds up at real CAN rates (`yukart/can/raw`) +- [x] Confirm MQTT holds up at real CAN rates (`yukart/can/raw`), 2026-10-12: + no loss at a saturated bus, per frame or in 10 ms batches; batched costs + the broker ~1 % of a core (svc-core `BUS-BENCH.md`) - [ ] Freeze v1 of topic names and payload schemas - [ ] `telemetry-gw` — external client access, including the serial bridge