Northeastern-Electric-Racing / Northeastern-Electric-Racing/Argos
Deliver telemetry selectively per screen over the existing Socket.IO transport
@bracyw is already working on this.
Since Sep 12, 2026.
- Dominant language
- TypeScript
- Stars
- 5
- Forks
- 1
- Avg merge
- 4d 22h
- Merged PRs (30d)
- 26
Description
Stub for the spec PR — the spec body replaces this once the spec review merges.
Argos sends every decoded topic to every connected client over Socket.IO (~900 topics, ~2,900 msgs/s under sim load), and each client discards most of what it receives. This tracks the move to server-mediated selective delivery on the same transport: the client declares its full desired filter set in one idempotent control event, scylla-server keeps a per-socket filter set plus a memoized topic-to-sockets index, and gates the data emit through that index. On the BMS page this cuts delivery from roughly 2,900 to roughly 510 msgs/s per client.
The transport decision is already recorded in ADR 0007 (docs/adr/0007-telemetry-selective-subscription-transport.md), which lands alongside the spec on this issue's branch. Selective delivery over the existing socket was chosen over browser-direct MQTT and a NATS side-car; all three were built as live spikes off a common baseline and measured head-to-head.
Spec to follow as a PR per docs/agents/spec-review.md. Implementation tickets via to-tickets once it merges.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.