Bus input: serve envelopes from yukart/vehicle/+ and yukart/host/+

Newest per signal, stale after 5 s or when only the retained copy is known.
Bus or mock, never both; hello says which (source bus|mock|none).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DDwfd6Ki8UfG4hK6W5YpJz
This commit is contained in:
2026-10-12 16:37:09 +09:00
parent a1ed8d8fc5
commit 143dfe2f60
6 changed files with 318 additions and 7 deletions
+4 -1
View File
@@ -1,7 +1,7 @@
---
type: plan
status: active
updated: 2026-10-09
updated: 2026-10-12
---
# Initial plan
@@ -23,6 +23,9 @@ directly.
0. **Boundary v0** — in place: WebSocket on `:7700`, hello, heartbeats both ways,
`mark` forwarded to the recorder's control socket, mock state behind `--mock`.
Protocol in contracts [`docs/BOUNDARY.md`](gitea:yukart/contracts).
**Bus input** — in place (2026-10-12): subscribes to `yukart/vehicle/+` and
`yukart/host/+`, keeps the newest envelope per signal, marks stale after 5 s
or when known only from a retained copy. Bus or mock, never both.
1. Static file serving for the basemap — smallest useful thing, unblocks the map.
2. Nav HTTP proxy to [svc-nav](gitea:yukart/svc-nav).
3. Aggregation and rate limiting, once there is real CAN traffic to aggregate.