feat(traffic): answer whether frames repeat, and make the remaining experiments one command each - #118
Open
pyramation wants to merge 1 commit into
Open
feat(traffic): answer whether frames repeat, and make the remaining experiments one command each#118pyramation wants to merge 1 commit into
pyramation wants to merge 1 commit into
Conversation
…ve-control lines, and the frame-repeat answer Frame bodies never repeat: 1,161 static-content frames across two captures give 1,161 distinct bodies, no byte constant across frames, and nothing shared between devices getting the same scene — so a captured frame cannot be replayed and known-plaintext has nothing to bite on. 'decode --repeats' reproduces it. bin/session runs the open questions from PROTOCOL.md end to end (capture, guide the operator, stop, decode, interpret). bin/replay sends the plaintext lines BEYOND broadcasts on 16062, to find out whether anything acts on them; dry-run unless given --transmit and a --host.
Contributor
🤖 Devin AI EngineerI'll be helping with this pull request! Here's what you should know: ✅ I will automatically:
Note: I can only respond to comments from users who have write access to this repository. ⚙️ Control Options:
|
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.
Summary
Two questions came back on
PROTOCOL.md: do the encrypted frame bodies ever repeat, and would replaying the plaintext colour/intensity packets with BEYOND closed drive the lasers. This answers the first from captures we already have, and turns the second (plus the other open questions) into a single command an agent can run on the show machine.Frames never repeat.
decode --repeatshashes every0x00030E02body per TCP stream. Over 1,161 frames of static content across two captures — the best case for repetition — there are 1,161 distinct bodies, zero bytes constant across all frames, and zero bodies shared between two devices being sent the same scene. Consecutive bodies share 1–21 of 2,360 bytes where chance alone predicts ~9. So each frame carries a nonce/counter: a captured frame can't be replayed, and known-plaintext has nothing to bite on (identical looks → unrelated ciphertext). Recorded inPROTOCOL.md.bin/sessionruns one open question end to end — starts the capture, tells the operator what to do at the machine, stops, decodes, and states what the result means, so the answer doesn't depend on getting atsharkfilter right under pressure:bin/replaybuilds BEYOND's own live-control lines byte for byte (b'ControlZone 3\r\nRGBA 0, 229\r\n'), amber/white/free colour, optional brightness sweep. It is the only thing in this repo that transmits toward the hardware, so it is gated twice — dry-run unless given both--transmitand an explicit--host, with no host discovery, so the destination is always something a human typed:My expectation is that nothing happens: 16062 has only ever been observed host → network, and the FB4s take their orders on 3348, so this looks like BEYOND narrating itself rather than an input anyone accepts. It's still the only cheap experiment left whose result is unambiguous either way — hence the docs insisting on BEYOND closed (otherwise a change in the room proves nothing about its cause), eyes on the heads, E-stop in reach, never an unattended loop.
The "never transmits" claims in
README.md,tools/traffic/README.md,packages/cli/README.mdandPROTOCOL.mdare narrowed to match reality rather than left true-in-spirit. Nothing the app runs is touched: the desktop Traffic panel exposes noreplayorsessioncommand, so the app stays observation-only.Tests pin the exact bytes (
build_datagramsorder: colour → alpha → brightness; sweep ramps 0→100→0) and the repeat metrics against synthetic repeated/distinct bodies, so a regression that quietly stopped detecting duplicates would fail.Link to Devin session: https://app.devin.ai/sessions/ec43152136134467a853ec0bbf783ea9
Requested by: @pyramation