OverviewFilesCommitsIssuesDocsReleasesPeers

keet-daemon commits / d8793a1

design: R3b complete (keetd 8ce4cc2, 00626e0 control-cache fix)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
d8793a118eaa55c716a2c7a86cd847b6baa16b2c
by plankatron <fleeky@gmail.com> · 2026-10-06T00:36:30.000Z

Changed files (1) +18 -0

docs/CPP-PORT-DESIGN.md +18 -0
……@@ -3304,6 +3304,24 @@ injected per layer:
33043304 the speedometer port) plus R3b's own. A drill checks anchors only when it starts, so whole
33053305 sets had silently stopped working. One replacement no longer compiled
33063306 (`core.onappend` → `core->onappend`); lint cannot see that, only a run can.
3307- **R3b step 2 DONE 2026-10-05** (keetd 8ce4cc2): the Clock seam is gone. R3b is COMPLETE.
3308 - Removed: `repl::Clock`, the drivers' clocks, `Core::onsettimeout`, the R3a adapter.
3309 - The libraries call rt where the JS calls the runtime:
3310 - replicator: `setTimeout(onrequesttimeout)`, `await backoff()`, the not-downloading
3311 linger with `unref()`, `Date.now()`. A backoff that fires after the Replicator is gone
3312 does nothing (`life_`), as JS's would on a removed peer;
3313 - `waitForRecovery`: `setTimeout(5000 / 250)` directly. keetd only: the loop ends if the
3314 replicator goes before its core, which cannot happen in JS;
3315 - corestore gc `setInterval(gcCycle, 2000).unref()`; protomux-wakeup gc `setInterval`;
3316 hyperblobs monitor `Date.now()`.
3317 - Gate: ctest 78/78; M3d G1 3/3 each way; all 18 drill sets identical to step 1, survivors
3318 by name.
3319 - **Harness bug found (keetd 00626e0):** `script_control` cached a JS control whose uploader
3320 never reported (a loaded machine drops it: the s19 flake). Every later run then served it,
3321 and m5g4e1's controls failed even on an idle machine. Such a control is now never saved,
3322 and a cached one counts as a miss, so a poisoned cache heals itself.
3323 - Not in R3 (noted): `Core::now` stays an injected `Date.now` (gates pin it); l2 storage has
3324 its own `now_ms`.
33073325- **R4:** storage, per the decision above.
33083326- **Then 4e-4** (`createProtocolStream` / `replicate`): the first gate that composes the stack
33093327 is a COMPOSED trace against JS (secret-stream + protomux + replicator), now meaningful.