OverviewFilesCommitsIssuesDocsReleasesPeers

keet-daemon commits / ccda854

CPP-PORT-DESIGN: R4c-4d E0 outcome — outer queue built, measured unneeded, removed
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
ccda854fafccb69eaa730713a116d2f1bcdf090c
by plankatron <fleeky@gmail.com> · 2026-10-11T23:38:37.000Z

Changed files (1) +16 -3

docs/CPP-PORT-DESIGN.md +16 -3
……@@ -4311,12 +4311,25 @@ injected per layer:
43114311 numbering. Only `tools/l2-ops` and l2's own gates stay on l2 until R4c-4e.
43124312 - **E6. The core gate's `hops` mode and the R4c-4b concurrency scripts,** compared line for line with Bare at
43134313 pool = 1. Any difference is a finding, fixed in core.
4314 - **E0 OUTCOME (2026-10-11): the outer-queue mechanism below was BUILT, MEASURED UNNEEDED, and REMOVED
4315 (keetd a86e194).** Its motivating example is wrong: `inOndata_` is set only inside `Replicator::_ondata`,
4316 which runs AFTER `verify` returns, outside its frontier; hooks fired inside `verify` resolve synchronously
4317 and queue nothing. Measured: a probe counting every microtask / completion / rejection routed through a
4318 `Foreign` frame found none in any gate (core, store, bee, blobs, fuzz, all m3c scenarios, m4c) — only
4319 r4c_scaffold's own cases; drill r4c4d0 (ForeignFn unwrapped, `foreign()` unwrapped, Frontier = capturing
4320 Sync) left every mutant surviving on all of those gates, and m3c s21 (a get resolved by upgrading data,
4321 ordered against 'append' / 'download' — as JS) passes with or without it. **What stays:** the E0 frontier
4322 sites (keetd 7e5752c repl, 3cf9e77 store, c50d1a9 bee + blobs, a67b01a tools + tests), with `Frontier` an
4323 alias of `Sync` and `scaffold::frontier(fn)`; drill r4c4d0 keeps the tripwire "verify outside a frontier",
4324 which must go red by E1. **If foreign capture ever shows up** (a gate red when a frontier is added), the
4325 mechanism returns with that gate as its test. The design as built, for the record:
43144326 - **E0 CORRECTION (2026-10-07, found before any code; decided by the user: an outer queue for hooks).** A
43154327 frontier scope around a whole core op also captures the microtasks that core's hooks queue in code OUTSIDE
43164328 core. For example, `core->verify` (replicator.cpp:732) reaches the replicator's `inOndata_` request
4317 resolutions (replicator.cpp:145, 156) through `onappend` / `onupgrade`. The scope would drain those
4318 microtasks before `_handleData`'s remaining steps; today, and in JS's single queue, they run after. R4c-4c-3's
4319 scopes never hit this, because they wrapped pure storage calls. So E0 as written was NOT a no-op. A first fix
4329 resolutions (replicator.cpp:145, 156) through `onappend` / `onupgrade` [WRONG — see E0 OUTCOME above]. The
4330 scope would drain those microtasks before `_handleData`'s remaining steps; today, and in JS's single queue,
4331 they run after. R4c-4c-3's scopes never hit this, because they wrapped pure storage calls. So E0 as written
4332 was NOT a no-op. A first fix
43204333 (3cd545b: `queueMicrotaskForeign` at a fixed list of producer sites) was INCOMPLETE and is superseded here.
43214334 Core calls foreign code synchronously through many exits: about 25 `core->on*` hooks into the replicator,
43224335 `Session::emit` into user listeners, every API's CPS `done` (the caller's continuation), and option callbacks