CI & Release / Verify simulator (push) Skipped
CI & Release / Trivy scan (push) Skipped
CI & Release / Semantic Release (push) Skipped
CI & Release / Verify simulator (pull_request) Failing after 4s
CI & Release / Trivy scan (pull_request) Skipped
CI & Release / Semantic Release (pull_request) Skipped
Extend glossary with storage floors, source of truth, and linkable anchors. Fix broken links, pose frame drift, rsync/offload wording, and README tone. Add docs/improvement audit records and live demo links in design journey.
1.3 KiB
1.3 KiB
ADR-0003: Sync derived state only; raw telemetry stays local
Status
Accepted (2026-07-08)
Context
Each drone produces high-rate sensor telemetry and on-board video detections — far more than the mesh can carry. But peers only need enough to coordinate flight: where everyone is, where they are heading, what was detected. Pushing raw feeds across the air would saturate the radio and drain batteries for data nobody reads in flight.
Decision
Only derived state crosses the air — position, attitude, detections — as small pub/sub broadcasts (~5 Hz). Raw telemetry stays on local NVMe until the drone lands, then travels to the warehouse during offload (ADR-0002). The design is event-driven: new derived data triggers downstream action through hooks; nothing polls asking "anything new yet?".
Consequences
- Air bandwidth scales with the number of peers and the broadcast rate, not with sensor resolution.
- The source of truth is the only place with the full picture; in-flight decisions use the local window plus peer broadcasts.
- Broadcast staleness per peer becomes a first-class health signal
(
../07-observability.md). - What syncs and what does not is specified in
../04-swarm-sync.md.