docs: add node-server interface design ADR - #16
Open
Babissimo wants to merge 2 commits into
Open
Conversation
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Contributor
Author
|
Josh: |
Review against the blah2 source showed two figures wrong: the in-RAM IQ buffer is 0.75 s, not 1.5 s (config's buffer: 1.5 is in units of CPIs, sized cpi*buffer*fs at blah2.cpp:103), and saveIq writes 16 MB/s, not 8 MB/s (RspDuo.cpp:630 writes 4 int16 per sample instant: 2 channels of I+Q). The second has a knock-on the review surfaced: the 120 s ring buffer estimate used the same wrong 2 B/sample assumption, so the real size is ~1.9 GB, not ~960 MB. That exceeds a 2 GB node's total RAM and, next to blah2's 760 MB RSS, the 4 GB minority too, so raw IQ capture is now off the table on all current hardware rather than merely tight; this hardens the map-over-IQ working assumption (map advantage ~12x, not ~6x). No decision flips. Also adds a section 6 item recording that downlink commands are protected only by TLS terminating at Cloudflare's edge, with server-signed commands as the upgrade if that seems thin once real commands ship; later items renumbered. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
jonnyspicer
reviewed
Jul 29, 2026
| can be many nodes, so edge rules are tuned only for gross volumetric abuse. Ingest also | ||
| applies cheap plausibility gates (impossible delay, Doppler or position values, §10) | ||
| before frames reach the tracker. | ||
| - Payloads carry the existing `retina-custody` per-packet ECDSA signatures unchanged. |
Contributor
There was a problem hiding this comment.
Does the server explicitly reject packets with unsigned/invalid signatures? How should this be handled?
|
|
||
| Phase 1: | ||
|
|
||
| 1. **Control-plane and ingest authentication.** Requests signed with the custody key, or a |
Contributor
There was a problem hiding this comment.
What is the advantage of also using bearer tokens, alongside keys? Are there any tradeoffs?
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds the node ↔ server interface design decision record (dated 2026-07-21, revised 2026-07-23) to
docs/decisions/.The ADR covers how RETINA radar nodes communicate with the central server, phased:
Status: Proposed (design agreed in discussion; implementation not started).
🤖 Generated with Claude Code