NeuroReach: pairing and local delivery contract

pairing codes: expiry, second browser, reconnect, sidecar dying. Need to try all the annoying paths, especially browser still connected while Python is gone

  • lAN responsibilities: serve the React build over HTTPS, pair one browser to a live session, relay score messages, broker WebRTC signaling and supervise the local sidecar connection. The spec locates this under clinician-console/src/main/lan/.
  • pairing format: six-character code using a confusable-free alphabet, exposed through a QR/URL. The paired socket is scoped to one live session; a second claimant receives session_taken; the code expires at end/timeout. Patient identity is taken from the paired acknowledgement rather than hard-coded in the client.
  • boundary to verify: the patient-facing channel must not expose the clinician's eeg_quality stream, roster or database. The specification describes an Origin allowlist and local TLS provisioning, but implementation and deployment checks remain separate from the architecture description.
  • review questions: what is the actual TTL, and when does reconnect reuse versus invalidate a pairing? Are expired/replayed codes rejected? What happens if the sidecar dies while the browser stays connected? Can a clean offline machine launch the full stack after certificate/device setup?
  • status: pairing foundation is marked delivered; installer/certificate provisioning, full hardening and clean-machine smoke testing are pending in the source roadmap. Treat this note as an interface/test reference, not an assurance of security certification.