OverviewFilesCommitsIssuesDocsReleasesPeers

keet-daemon commits / e4e5ba3

CPP-PORT-DESIGN: M5g-4e-3 complete — ss/secret-stream, traces 28, interop 13/13, drill 19/19
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
e4e5ba3c5a105d2220298234d37cd05b5504e407
by plankatron <fleeky@gmail.com> · 2026-10-04T18:08:11.000Z

Changed files (1) +21 -0

docs/CPP-PORT-DESIGN.md +21 -0
……@@ -2759,6 +2759,27 @@ SessionState's truncate / reorg / named-session machinery.
27592759 - **The interop gate:** JS ↔ keetd over a real pipe, both initiator roles, with real
27602760 randomness and real timers: data both ways, a keepalive while idle, and a timeout
27612761 that destroys.
2762 - **4e-3c DONE 2026-10-04** (keetd 3a55e92, 6369802, 5a8ef41 + gate / drill commits).
2763 **M5g-4e-3 COMPLETE.**
2764 - **Trace gate:** 28 deterministic scripts, identical to JS. Beyond the basic path they
2765 cover:
2766 - the udx channel, enableSend, opts.handshake;
2767 - async key pairs, autoStart / start with data, ended or a timeout;
2768 - flush, the atomic limit, and every bad header / frame / handshake path.
2769 - **Interop gate:** 13/13 against a real JS peer over a Unix socket, both roles, real
2770 randomness and timers: keepalive vs timeout, 2 MB each way.
2771 - **Drill `m5g4e3c`: 19/19 red.** The first run left 3 survivors, all script gaps:
2772 - early keepalive data fed at start;
2773 - keepAlive after end;
2774 - a datagram before the handshake.
2775 - **Measured:** a failed secretstream pull is sodium-native's "pull failed".
2776 `flush()` is async, so its result reaches the caller one microtask later (the gate
2777 caught the missing hop).
2778 - **TRAP:** JS's `start(raw, opts)` takes its OWN opts (a precomputed handshake must
2779 be passed there, not only to the constructor).
2780 - **TRAP:** Unix socket paths are limited to 108 bytes, and an accepted fd must be
2781 handed over, not dup'd (the dup kept the connection open after keetd's destroy).
2782 - ctest 68/68 (-j16, 145 s).
27622783 - **4e-3c `ss/secret-stream`:**
27632784 - `Handshake`;
27642785 - `NoiseSecretStream` over a Duplex, with a raw-stream interface (write → drained,