ReviewOS

home-lang/home

Bun parity: remaining open items to reach 100% test-suite pass

#66
Open chris opened this 14 days ago · 1753 comments
14 days ago

Native Bake full-suite checkpoint: source ccecdcf9b and 1,185 Git-verified evidence artifacts. All 24 unchanged Bake files pass 177 cases with zero failures/zero skips and two original TODOs; native output, exact identities and source inventory validate. Genuine frozen Home locks replace the empty React marker. The suite budget preserves per-test deadlines; spawned fixture cwd and production source-map retrieval are repaired. Canonical graph identities fix changed-dependency path aliases. Coordinator controls retain 29 complete journals; development/HMR/production pass. The fresh 157-file regression has 396 passing cases, 142 process checks, zero failures, 37 case skips and three file skips. Build, validators, ABI, lint and corpus integrity pass. The initial 175-pass/two-failure run remains retained. #902 is complete for this tranche; #901 keeps optimized native/platform gates and #564 keeps Linux TODO coverage. TODOs/skips receive zero pass credit. The full Bun feature/suite/all-platform objective remains open.

Tracking issue for the remaining work to reach 100% parity with Bun's official test suite (~/Code/bun; current native artifact source SHA 4982b91e3702094330f3be3883354c52b8c01323, original historical pin fd0b6f1a27), runnable here via home test. Each item has the root cause traced during investigation. We tackle them top-to-bottom; check off as landed (small fix:/feat: commits, pushed).

Current main checkpoint (2026-10-13)

Native console methods, buffered replay and cleared-realm lifetime (2026-10-13) landed in source 56df99d7f, merged integration be4364972, and verified evidence de6aea239. Canonical SDK records provide count/reset, typed timeLog/timeEnd and per-session buffered replay with actual stacks/timestamps. Owner attachment differs from VM console state; Runtime.disable suppresses notifications while preserving connected state. groupEnd/clear arguments match the native contract. Clearing the buffer and remote group now retires idle realm injected-script roots; actual still-bound handles, pending calls and paused debugger state prevent retirement. Unrelated object handles and an in-flight async call remain usable. Last frontend detach retires injected-script state, and the non-owning console registry retires across finalization threads. Both source and merged builds pass 56/56 steps; fresh merged validation passes all nine focused commands, six broad drivers, 33 native groups, seven Node/seven Home realm controls, 14 ABI tests/453 assertions and 32 report-validator tests. All 64 report outcomes match expected counts/errors/exits, including twelve negatives. Twenty unchanged originals retain 53 passed cases, one unchanged unsupported-method expectation failure and 17 passed process checks, with zero skips/TODO/filter/retries; #886 receives no pass credit. Failed Node oracle assumptions, the Home post-clear lifetime failure and resource stops remain immutable; temporary tracing is removed. Full schema, independent remote-object/session ownership, evaluated-realm retirement outside explicit console clearing, module/export/callback/owner-shutdown acceptance and full suite/platform validation remain open under #888/#428/#885/#66.

Native profiler sharing at 5cd57e8ea with verified evidence: CLI and inspector owners consume actual JSC samples through detached native records, preserving CLI JSON/Markdown history and independent repeated session windows. Shortest active owner interval is selected; session stop/disconnect preserves CLI profiling and active-session process exit exports successfully. Debug 56/56, all 28 native groups, 14 ABI controls/453 assertions and 32 report-validator controls pass. Twenty unchanged originals retain 53 passed cases, one failed unsupported Runtime.evaluate expectation and 17 process checks; no skips/TODO/filter/retries and no #886 pass credit. Evidence preserves the first inlined-workload assertion failure and 64 replayed report outcomes including 12 negatives; earlier eight resource stops remain in investigation evidence. Full Bun parity, complete realms, worker-to-main inspector attachment, coverage, precise cadence measurement, all ownership schedules, Release/ASAN/all-platform remain open under #428/#66.

Historical publication checkpoint (2026-09-20)

Native phase/context work landed in 64481fe09 with evidence publication b83c54f4d. Vendor checkout and install/build became separately verified phases, with revision checks before hooks and live remap/Docker settings carried into children. The build passed 23/23 steps and 21/21 harness tests, plus launcher, service/lifetime and validator controls. Fresh pinned Elysia setup matched all 283 expected source hashes; all 129 selected original files completed once with 1,516 registered passes, zero failures/skips/TODOs, retaining the one original WebSocket exclusion. This checkpoint did not claim complete primary execution, Linux Docker verification, or full parity. Boundary and API · Evidence

Previous publication / remaining work (2026-09-08)

Full logical Bun parity remains incomplete. Published to origin/main: native service/preparation source a2e2863fc, verified evidence c9fc9bf63. Home SHA256 91d6b1024f9d4c02c6b7f9089b476d8a0646294f4ed7392e5e3ce549e52db763.

Native service lifetime and explicit vendor preparation are implemented. home test --bun-corpus-remap launches the original installed remap service with its original arguments and 5,000 ms startup deadline, drains output throughout its lifetime, and owns shutdown until parent stdin closes or the service exits unexpectedly. home test --bun-corpus-prepare-vendor elysia selects and journals clone/fetch/checkout/revision/install/build, retains separate Git/Home executable identities, and preserves the original 180-second Git/install and 60-second build deadlines. A failed install leaves build visibly unstarted. These operations earn zero registered-case or passing-process credit.

23/23 native build steps and 21/21 harness tests pass, along with four service lifetime units, four journal units, 18 validator controls and five private CLI controls. The private CLI evidence retains invalid readiness, the five-second deadline after output EOF, unexpected service exit with parent stdin open, install failure and build failure. The real pinned remap service passes five HTTP protocol checks through the native command, with complete captures and unchanged dependency hashes. Fresh native Elysia preparation completes all seven steps in 49.8 seconds; its 283 resulting source hashes match the earlier independently verified setup/lockfile normalization. Formatting, targeted Pickier and 50 pinned setup-input checks pass.

The latest complete Elysia run is not green: all 129 selected files complete once with 1,515 registered passes, one failure, zero skips/TODOs. handle distinct union in test/validator/response.test.ts calls .listen(3000); the unrelated PredictHQ development server (PID 28404 at diagnosis) owns that port. Pinned Bun fails the same unchanged case in a separate one-file diagnostic (27 passes, one failure). The listener and original tests were not changed, and no retry or alternate port was used to obtain a pass. Both full-run source integrity and the original selection match. The original WebSocket exclusion remains separate. The first diagnostic verifier expected the same error literal; a separate retained-capture analysis confirms the conflict without rerunning either runtime. A private error-object comparison additionally found message/errno/address/port differences, now tracked in #726; Home's existing preservation of real OS failures must be retained while auditing compatibility.

572 committed compressed artifacts have verified decompressed hashes. Restored journals reproduce successful service/preparation, failed private controls, the failed complete Elysia run and failed pinned-Bun diagnostic separately. The first build was stopped below the unchanged 1 GB critical disk floor after macOS allocated more swap; verification did not run. A cleanup preflight and refused admission are retained too. Corrected cleanup preserved protected binaries and linked native inputs; the completed rebuild required 5 GB free to start. Removed 6,083,408,581 logical bytes of generated caches/dependencies, old vendor data and unused build outputs. Source and other active work are preserved.

Still open: connect these operations with the original CI ordering and selection gates, Docker coordination, live service settings and default unified coordinator (#724); free the original fixed-port prerequisite before claiming a successful new Elysia run; resolve the missing optional legacy DuckDB and earlier lifecycle failures (#725); audit bind-error compatibility (#726); execute the whole applicable primary/vendor suite and finish remaining runtime features, native Linux/Windows/ASAN verification and independent native ownership. Earlier root/test setup process success and the separate 18-case N-API DuckDB run remain evidence on their recorded earlier binary; they are not new execution on this one.

API and scope · Native service/preparation evidence · Earlier native setup evidence

Earlier prepared Elysia execution checkpoint

Published to origin/main: implementation 9d6815afa, evidence 176f685f7. Home SHA256 19e41223c7fc2d2dcda763470fcc84570900db08b4d547340bdae5286d42bc98.

Complete pinned-selected Elysia execution: 129/129 files completed, 1,516 registered cases passed, zero failed, zero registered skips, zero TODOs. The run used no positional filter or start/limit and one attempt with original per-file deadlines. The selection matches pinned Bun exactly, including the separately recorded original ws/connection.test.ts exclusion; that excluded file earns no passing or skipped-case credit. All 129 captures reached EOF. Raw output and JUnit hashes, registered cases, selection completeness, all 283 post-install vendor source hashes and the Home executable hash validate.

The production home test --bun-corpus-prepared-vendor elysia command verifies Git HEAD against the manifest tag and executes each selected vendor file in its own project's cwd with ordinary config discovery, forced vendor test mode, correct validation paths and serial environment. Ordinary failures remain recorded and later files continue. This command explicitly requires prior checkout/install/build and journals setup_performed: false. The preceding Home 716f39bd… build performed the independently verified native install/build; the new 19e41223… build executed the suite. This is not a fresh end-to-end CI setup claim.

23/23 build steps, 17/17 native harness tests and 11/11 validator controls pass. Private controls exercise project config, custom test paths/extensions, serial environment and a real assertion failure followed by a successful file. Targeted Pickier and whitespace checks pass. 409 committed compressed artifacts have verified decompressed hashes; restoring the archived reports reproduces all 129 complete outcomes and 1,516 passing cases. Cleanup removed another 371,467,160 bytes of obsolete owned generated objects, preserving source work.

API and verification boundary · Complete execution evidence

Earlier outcome and lifetime batch at 61670c72b (#722/#723): 23/23 build steps and 12/12 native corpus harness tests pass, plus 2 child-ownership units, 3 journal units, 9 validator units and targeted Pickier. The original per-file deadline now covers a child that stays alive after both output pipes reach EOF. Actual libc close through Home FFI reproduced the pre-fix 30-second supervisor failure; the corrected native runner times out at the unchanged 20-second Node deadline and preserves early successful exit. Child status remains unreaped until final cleanup. The wait helper also cross-compiles for x86_64 Linux/musl and Windows/GNU; native Linux/Windows execution remains unverified, so #723 stays open for that work. Schema 2 records verified stream completeness; legacy schema 1 remains readable with completeness marked unknown.

That earlier six-file original batch validates with 402 passing cases, 1 original platform skip, 10 TODOs, one successful Node script, one verified expected-failure process check and one comment-only file. All six captures reached EOF. The original negative fixture retains its one-failure JUnit case and contributes no passing test credit. Every selected original source/snapshot hash and the executable identity remain unchanged. Private controls verify mixed outcomes, invalid negative contracts, overwrite refusal, both open-pipe and actual closed-pipe timeouts, SIGTERM, interruption, and failed writes. Original failures and first unsuccessful controls remain retained. Final evidence; baseline and remaining scope.

#724 remains the full-suite prerequisite: selection/API and Elysia setup are now verified as described above; native host discovery, complete root/test installation and registry/service setup, vendor execution, and complete applicable-suite outcomes remain unfinished. The pre-exclusion discovery inventory alone is not the complete CI suite. Excluded, skipped, TODO, unstarted and unsupported files never count as passing implementation coverage.

Previous native launch batch (#703): 23/23 native/harness build steps and 9/9 harness tests pass. Five focused units pass. All 19,016 launch-rule selections match pinned Bun over 4,754 discovered files and four CI/local/ASAN contexts; these are rule comparisons, not passing corpus files. Production capture now applies original ordinary/integration/Node/script deadlines, CI GC/integrity/transpiler-cache settings, validation-list rules, fresh per-file storage and real Home command aliases. Real cache/child/cleanup regressions verify the corrected allocation ownership and initially empty install cache. Launch baseline, 64 final artifacts.

Prior grouped launch verification: seven native private regression files pass. Unique selected original cases are Home 71 pass / 1 fail; pinned Bun 72 pass: HTML 45, link/binlink 11, audit 16. Two additional original Node files complete real process checks, and one original comment-only file contributes no passing cases. All selected original sources and snapshots remain unchanged. The generated fresh-cache control passes in both runtimes. The first build's three allocator crashes and Home-only cache-control failure are retained, with their fixes independently verified.

#721 retains the one failing original audit snapshot assertion. Audit remains Home 15/16 versus pinned Bun 16/16. The only differing line expects express › connect › csurf › csrf › uid-safe › base64-url. Its pinned fixture resolves that UID package to csrf/uid-safe@2.1.4, which depends on random-bytes and has no base64-url edge. Home reports the actual express › connect › express-session › uid-safe@2.0.0 › base64-url@1.2.1 path. No nonexistent edge or passing assertion was fabricated. #720/#721 remain open; native protocol/authentication, exact production reachability, affected-version/workspace paths, cycles and lock preservation are covered by the passing native audit regression.

#722 retains the remaining full-inventory execution and outcome-verification requirement, following the verified storage/JUnit/skip/TODO implementation above. The inventory contains 4,754 pre-exclusion entries (1,863 test-runner entries and 2,891 scripts); a completed full-suite execution is still missing. Synthetic corpus rewriting/bootstrap fallback is removed. Full integration/vendor/service setup, native ASAN and other platforms, default CLI fallback removal, and independent native build ownership remain open under #703/#709/#202.

Previous patch checkpoint a4b73596f passed 58 original cases per runtime (link 4, native-binlink 7, patch 29, install-patch 18), six private files, and build 46/46; evidence. #719 is complete for native patch activation and tested lifecycles. The original patch aggregate was not rerun for this launch batch; all six older private files plus audit were. #718 bin ownership is fixed on macOS, with native Windows filesystem verification still open. #717 remains complete for the tested native link lifecycle.

Previous package milestones #713/#714/#715/#716 remain verified and closed: local dependency identity/deduplication, long-prerelease frozen lock equality, native update/outdated and cache-freshness regression. The preceding selected original update/outdated/interactive/semver batch passes 78 cases per runtime, excluding filtered-out cases. Create entrypoints and required native parser restoration are verified. #190 self-upgrade and #710 fixture validity are now closed; #438 JSX failures and #701/#694 unexplained deadline failures remain open.

Current compressed build/test artifacts are committed under docs/docs/bun-port-evidence/. Generated fixtures and aged compiler cache data were cleaned after preserving evidence; source changes and installed binaries were retained. Earlier raw logs lost when the previous worktree disappeared are not claimed retained; their committed summaries/hashes remain historical evidence.

Earlier checkpoints

Earlier verified checkpoint: 1cbac2921, with implementation e1a5d0e20 and scanner correction 6448d628a, all pushed to origin/main. #702 is complete for native HTML activation and removal of fabricated FormData child output/RSS. 100% logical Bun parity remains incomplete.

  • Ordinary and single-native-VM HTML directory routes each pass 145 tests / one original Linux-only skip / zero failures. The native aggregate's 530 assertions match pinned Bun. Home's real 100-iteration file-error child measures 1.78 MB growth, within the unchanged 10 MB limit. Build 46/46; focused harness 23/23 steps / 3/3 tests, with independent registration metadata.
  • Adjacent routes pass: Blob 65/65, body/stream 9,467 passes / four upstream skips, Headers/Response 170/170, Request 24/24, bootstrap FormData 5/5, microtasks 2/2. #701 remains unexplained and open; a passing run is not a repair. #694 remains open.
  • #703 is the next broad migration. Exact routing predicates show 175 native test-runner paths, 266 native scripts and 4,267 bootstrap paths among Home's 4,708 classifications. Exact pinned CI discovery selects 4,754 tracked paths before exclusions, exposing 78 missing and 32 extra Home entries, plus mode/config differences. These are inventory counts, not suite passes. The audit command and full path sets are now published in the repository.
  • The native triage scanner no longer extends original test deadlines or retries timeout-only failures as slow. Its negative control retains one attempt and a failure. It remains a triage tool, not the complete acceptance gate; discovery and full outcome preservation remain in #703.
  • Pinned-object integrity remains 12,990 identical regular files, five raw-identical symlinks, zero missing paths and zero mode differences, with only historical expectations metadata different. Remaining substitutes, faithful full-suite execution, other platforms and independent native build ownership remain unfinished under #202/#703. Logs: zig-out/bun-port-702/; verified Home SHA-256 4a937ded48d609b76e336fdc192dd96439653a228073a234aaafcba176a5e783.

Previous Blob publication: f491cacd7 closed #700 with 65 native passes, preserved the original allocation/prototype/ownership workloads and four snapshots, and removed UTF-16 child and array-prototype descriptor substitutes.

Previous body/stream publication: 04644b2d0 closed #699 with 9,467 native passes and four original skips, removed three clone-specific substitutes, and retained the full HTTP/3 matrix and child/GC workloads. Its adjacent Request run exposed the original 5-second deadline failure now tracked in #701; subsequent diagnostic passes were not counted as a repair.

Previous Headers/Response publication: 649c3c48f closed #698 with 170 native passes, corrected mirror cwd/startup environment and absolute-path CLI rewriting, and preserved the original Response snapshot. Its build passes 46/46 and focused harness 6/6; the initial 4/5 run exposed the additional CLI root defect and remains recorded as historical evidence.

Previous Request publication: 5e45c58a3 closed #697 for native Request activation and removed unused bootstrap VM initialization from native corpus dispatch. Its complete four-file matrix passes 24/24. Direct native stress peak footprints were 22,594,376 bytes for clone stress and 194,872,232 bytes for method-allocation stress; original loops and limits remain intact. The older bootstrap implementation is not claimed repaired.

Previous paired repair: e148e06c1, published to origin/main. #695 and #696 are fixed: complete TypeScript conformance is 1,419/1,419; both optimized Bake integration scripts and gzip decoding with both libdeflate settings pass. 100% logical Bun parity remains incomplete.

The preceding main commit 2129e4a82 enters the macOS WebView host before CLI/JSC initialization and restores native execution of the shell and both complete WebView matrices. All three remaining whole-file TODO substitutions and their helper are removed. #693 is complete for that integration.

  • Unchanged pinned WebKit: 57 pass / 1 upstream TODO / 0 fail / 141 assertions. Shell: 378 pass / 83 upstream TODOs / 0 fail / 1,035 assertions.
  • Four ordinary native corpus routes: 487 pass / 89 upstream TODOs / 0 fail / 0 unsupported registrations. Chrome WebSocket contributes zero passes and five upstream TODOs, not implemented coverage.
  • The first strict Chrome run still fails its original first-navigation deadline (51 pass / 1 fail); pinned Bun passes 52/52. Later probes and a full Home run pass but do not erase that failure: #694 remains open. No retry, warm-up, sleep, timeout extension, assertion change, or workload reduction was added.
  • Optimized native build: 46/46 steps. Earlier feature-flag units: 6/6 with defaults and in each explicit 0/1 fresh-process run; unit build 23/23 steps. Both complete Bake production/development integration scripts pass; absent/0/false opt-in is correctly rejected. Unchanged gzip/fetch is 24/24 / 43 assertions with each libdeflate setting.
  • Nested-rest checker regressions: 4/4; complete TypeScript conformance 1,419/1,419; standalone reproduction exits zero. The original regression now requires zero diagnostics, and new negatives retain element-type and tuple-order errors.
  • Earlier source-restoration regression: 1 pass, zero logged errors/leaks. Earlier completed native runtime units: 1,826 pass / 19 skip / 0 fail; that entire unit artifact was not rerun for the latest paired repair.
  • The earlier optimized aggregate was interrupted (exit 143) and is still incomplete. Its nested-rest and Bake/feature-flag failures are repaired and verified separately above (#695, #696); no completed aggregate or whole-suite pass is claimed. The default Debug aggregate was not established by that run.
  • The earlier bootstrap Request stress test reached 13.7 GB sampled footprint / 14.4 GB peak and was stopped. Its obsolete execution path is replaced by verified native coverage in #697 above; the bootstrap shim used by other adapters is not claimed repaired. The earlier full aggregate was not resumed, and no completed corpus aggregate or whole-suite pass count is claimed.
  • Pinned Bun 4982b91e3702094330f3be3883354c52b8c01323: 12,996 tracked paths present; 12,990 identical regular files, five identical symlinks, one differing expectations.txt, zero missing. The expectation delta removes four historical FAIL entries; executable test sources are unchanged.
  • Changed-file formatting, documentation Pickier and whitespace checks pass. Repository Pickier retains 59,302 findings (31,238 errors / 28,064 warnings). The README's Settlers checkout is absent. External Bun C++ build artifacts, other adapters (#202), upstream TODOs/skips, other platforms and full source/build ownership remain unfinished.

Publication correction: all 18 commit URLs in this issue's historical body were verified as ancestors of main at this checkpoint. Historical statements below saying those commits were not merged describe their original publication state and are superseded by this audit.

How to run / verify

  • Native debug build: zig build debug -Denable_jsc=true -j2 --summary all from the Home repository. External native dependencies and ownership limits are documented in docs/docs/NATIVE_RUNTIME_BINDINGS.md.
  • Native regression: HOME_NATIVE_VM=1 ./zig-out/bin/home-debug tests/runtime/native-worker-inbox-shutdown.test.mjs (substitute the desired regression file).
  • Strict native corpus: HOME_NATIVE_VM=1 HOME_CORPUS_FULL_VM=1 ./zig-out/bin/home-debug test <corpus-file>; both overrides are required to bypass the pragmatic corpus adapter.
  • Outer corpus CLI: unset HOME_NATIVE_VM and HOME_CORPUS_FULL_VM; any nonempty value, including 0, enables those overrides. Keep native execution and the pragmatic adapter's results separate.
  • Use bounded subprocesses and per-child timeouts; limit concurrency to 2–3 small fixtures. Clean only owned temporary artifacts. Do not use blanket pkill commands.
  • Leak measurements must retain their original workloads and thresholds; Debug and ReleaseSafe results are not interchangeable.
  • Skips, disabled bodies, timeouts, unsupported cases, external dependencies, and failing negative controls do not count as completed parity.

Historical publication checkpoints (through 2026-08-28)

  • Published HTTP/3 verification-isolation checkpoint: 0fd884f59, pushed on codex/runtime-port, not merged to main. #539 is closed after a controlled environment correction: the complete unchanged adversarial file passes 12/12 serialized Home processes and 12/12 serialized pinned Bun processes, all 27/27 / 163 assertions. Three eight-way waves reproduce the same first-64-KiB deadline sequence in both binaries (Home 11/12 process passes; pinned Bun 5/12) while all sixteen UDP ports are distinct and the shared eleven-CPU host is saturated by native tests, a ReleaseFast build, and system work. No runtime source, test deadline, workload, retry, sleep, skip, or protocol fallback changed. Heavy HTTP/3 files must be verified serially and away from builds. #530 retains platform/integration and native dependency ownership; all other explicit suite gaps remain. 100% logical Bun parity is not achieved.
  • Previous native TLS SNI/ALPN checkpoint: a9a95f6a4, pushed on codex/runtime-port, not merged to main. #542 now ports per-connection synchronous/asynchronous SNICallback, pending-certificate resumption, original callback error propagation, same-host precedence, offered-protocol ALPNCallback validation, callback-safe teardown, and ALPN selector handoff across SNI contexts. The complete unchanged server file is 38/38 / 147 assertions, exactly matching pinned Bun. The new combined lifecycle regression passes 20/20 independent processes plus VM destruction. The seven-file TLS sweep is 120 pass / 1 skip / 3 TODO / 2 fail / 380 assertions; both failures are live bun.sh OCSP checks reproduced in pinned Bun. Build 17/17; units 1,828 pass / 19 skip / 0 fail (19/19 steps); sequential regressions 63/63, including full spawn and child-process. Home's vendored C source compiles with reconstructed pinned release flags, while the debug build still links the pinned Bun object. Darwin only; #530 platform/integration, other open subsystems, skipped/TODO behavior, dependency ownership and whole-suite parity remain incomplete. 100% logical Bun parity is not achieved.
  • Previous native TLS session/keylog checkpoint: 04569d8f9, pushed on codex/runtime-port, not merged to main. #543 replaces the no-op native dispatch with retained FIFO session/keylog delivery for direct TCP TLS and upgraded Duplex TLS, preserving session-before-data ordering across destructive callbacks. The complete unchanged connect file is now 28 pass / 2 fail / 1 skip / 106 assertions, exactly matching pinned Bun; both remaining live OCSP assertions also fail in Bun. The native lifetime/GC regression passes 20/20 independent processes. Build 17/17; units 1,828 pass / 19 skip / 0 fail (19/19 steps); sequential regressions 62/62, including 31 native files. Adjacent TLS is 47 pass / 2 skip / 7 fail / 424 assertions; all seven failures are SNI/ALPN work in #542, now next. The checked-in Home uSockets source has the logical queue implementation and compiles with the linked release object's exact flags, but the debug build still links that pinned Bun object. Darwin only; platform/integration, skipped/TODO behavior, native dependency ownership and full parity remain incomplete. Whole-suite parity is not achieved.
  • Previous native TLS context checkpoint: fbdfbf890, pushed on codex/runtime-port, not merged to main. #532 now provides private contexts/CA isolation, binary PFX, detailed certificate chains, hostname authorization and TLS min/max propagation. Six unchanged core files pass; context 7/7, cache 9/9, cert 28 pass / 3 TODO, hostname 5/5. Native normal/destruction and original leak checks pass. Native build 17/17; runtime units 1,828 pass / 19 skip / 0 fail, 19/19 steps; sequential regressions 61/61, including 30 native files. Complete compression 32/32, HTTP/2 client 60/60, HTTP/3 client 52/52, both proxy files, full body-stream 9,086/9,086 / 135,984 assertions, five EOF/fetch files and both abort files pass. The initial HTTP/3 adversarial run failed 24 pass / 3 fail / 160 assertions, followed by three 27/27 / 163 serial replays. #539 remains unresolved; passing retries do not erase the final artifact’s initial failure or prior Home/Bun failures. 249 TLS sources, 48 HTTP/regression sources, and 13 TLS implementations match the pin. Full TLS server/connect files still fail: #542 tracks SNI/ALPN callbacks, #543 session/keylog delivery; two live certificate assertions also fail in pinned Bun. Failed attempts and all skips/TODOs are retained. Darwin only; integration, platform and full ownership remain incomplete. Whole-suite parity is not achieved.
  • Previous compression/CONNECT checkpoint: 2c5df8cce, pushed on codex/runtime-port, not merged to main. #531 ports all four request-compression encodings and file/buffer ownership; #535 repairs CONNECT writer/envelope handling. Complete unchanged compression 32/32 / 78 assertions, HTTP/2 client 60/60 / 197, HTTP/3 client 52/52 / 241, and both proxy files pass against pinned controls. Full body-stream 9,086/9,086 / 135,984; build 17/17, units 1,827 pass / 19 skip / 0 fail (19/19 steps), regressions 60/60, including 29 native files; all five EOF/fetch and both abort files pass. HTTP/3 reliability remains unresolved in #539: initial adversarial failure, then three passing Home replays; failures also reproduce in published Home and pinned Bun. TLS context work remains #532. Forty-eight test/harness/fixture sources and eleven implementations match the pin. Failed attempts remain recorded. Darwin only; skips/TODOs, platform/integration and full source ownership remain incomplete. Whole-suite parity is not achieved.
  • Previous HTTP/2 checkpoint: fd239c3ac, pushed on codex/runtime-port, not merged to main. #533 now preserves the idle-session Host hash and rejects invalid response-name tokens while consuming complete HPACK blocks. Complete unchanged HTTP/2 adversarial 15/15 / 33 assertions (parent 13 pass / 2 fail); lifetime 7/7 / 21 assertions with original 200-request workloads. Full body-stream 9,086/9,086 / 135,984 assertions. Build 17/17, units 1,825 pass / 19 skips / 0 fail (19/19 steps), sequential regressions 59/59 including 28 native files. HTTP/2 client remains 58 pass / 2 fail / 2 errors; HTTP/3 client 50 pass / 2 fail, both compression #531. HTTP/3 adversarial retains 27/27. Newly exercised CONNECT-proxy crashes reproduce in both parent and candidate; pinned Bun passes both files, tracked separately in #535. TLS context work remains #532. Forty measured test/harness/fixture sources and six consulted implementations match the pin. Darwin only; platform/integration, skips/TODOs and full source ownership remain unverified. Whole-suite parity is incomplete.
  • Previous TLS/HTTP transport checkpoint: 29c196835, pushed on codex/runtime-port, not merged to main. TLS ABI offsets, HTTP/3 trust eligibility and duplex progress are repaired. Full unchanged body-stream 9,086/9,086 / 135,984 assertions; HTTP/3 adversarial 27/27; client 50 pass / 2 fail (compression #531). HTTP/2 client 58 pass / 2 fail / 2 errors (#531); adversarial 13 pass / 2 fail (#533 verification-host isolation/header validation). TLS server validation 16/16; remaining context/CA/version work is #532. Build 17/17, units 1,824 pass / 19 skips / 0 fail (19/19 steps), sequential regressions 58/58 (27 native files); full spawn 126 passes, child-process 32 passes. Five complete fetch files and both abort files retain their passes. 72 test/harness sources and six implementation sources match the pin. Earlier timeout and disk-exhaustion attempts are retained; complete sequential reruns pass with original workloads/deadlines. See #530 for detailed evidence. Shared Darwin checkout; platform/integration, skipped/TODO behavior and full ownership remain unverified. Whole-suite parity is incomplete.
  • Earlier body-abort checkpoint: fb161314a, pushed on codex/runtime-port, not merged to main. #529 ports terminal response-error settlement before upload cancellation; unchanged abort file 2/2 / 6 assertions (parent 1 pass / 1 fail), queued-abort 1/1, and native 24-scenario normal/destruction/reentry checks pass. Build 17/17; units 1,824 pass / 19 skips / 0 failures (19/19 steps); regressions 57/57 (26 native files); 64 measured upstream sources match the pin. Five body files pass, including clone 25/25 and body 346 passes / 4 skips; five fetch files retain their passes including gzip 24/24. At that earlier checkpoint, the full body-stream matrix was not green: parent 4,883 pass / 4,203 fail / 2 errors, candidate 4,883 pass / 4,203 fail / 10 errors, pinned Bun 9,086/9,086. #530 tracks the HTTP/3 server path: parent client/adversarial files are 6 pass / 46 fail and 5 pass / 22 fail; both clients fail against Home's server before its JS handler, both succeed against Bun's server. Original assertions/workloads/deadlines retained. Historical HTTP/3 completion claims below are corrected. Shared Darwin checkout; unrelated compiler edits excluded. Platform/integration, skips/TODOs and full source ownership remain unverified. Whole-suite parity is incomplete.
  • HTTP/installer checkpoint: 90ced0ed6, pushed on codex/runtime-port, not merged to main. #526 repairs buffered EOF completion and fragmented tar-format selection; native real-install, streaming-handshake, VM-destruction and three 404 transport controls pass. #527 advances unchanged fetch-gzip from 22/2 to 24/24 / 43 assertions, preserving the 1,025 MiB workload. #528 advances unchanged streaming-extract from 5/1 to 6/6 / 180 assertions, enforcing the pinned 2 GiB buffered limit against the original 2.25 GiB payload. Four further complete fetch files pass; full zlib retains 378 passes / 2 skips / 434 assertions. Retains bun-run 291/291, native hard-link-PATH bunx 33 pass / 1 Windows-only skip / 0 fail, workspaces 58/58, eval 33/33, tsconfig 6/6, resolver 39 pass / 2 skips / 1 TODO plus its spawned 9 pass / 1 TODO, and 21 config controls. Build 17/17; units 1,824 pass / 19 skips / 0 failures (19/19 steps); regressions 56/56 (25 native files); 46 measured upstream test sources match the exact pin. No upstream assertion/workload/deadline changes. #526–#528 retain platform/integration scope. Shared Darwin checkout; unrelated compiler edits excluded. Skips/TODOs, other platforms, integration and full source ownership remain unverified. Whole-suite parity is incomplete.
  • Resolver checkpoint: 9b3a5c1ad, pushed on codex/runtime-port, not merged to main. #525 ports canonical resolver diagnostics and fallible, retained installer initialization errors; readable-file dispatch now precedes cwd scanning. Unchanged tsconfig-override 6/6 / 17 assertions (parent 5/1), resolver 39 pass / 2 skips / 1 TODO / 0 fail / 59 assertions plus spawned file 9 passes / 1 TODO / 41 assertions (parent's unreadable-cwd failure resolved under the original 5,000 ms deadline). Native repeated-error and VM-destruction checks pass. Retains bun-run 291/291 / 416 assertions, native hard-link-PATH bunx 33 pass / 1 Windows-only skip / 0 fail / 161 assertions, workspaces 58/58 / 192 assertions, eval 33/33 / 70 assertions, and 21 config controls. Build 17/17; units 1,820 pass / 19 skips / 0 failures (19/19 steps); regressions 56/56 (25 native files); 37 sources match the exact pin. No upstream assertion/workload/deadline changes. #526 remains a reproduced failure: EOF-delimited registry 404s trigger a pending-task assertion in parent and final candidate; length-delimited controls pass. Other platforms, branch integration, skips/TODOs and full source ownership remain unverified. Shared Darwin checkout; unrelated compiler edits excluded. Whole-suite parity is incomplete.
  • CLI config checkpoint: 828ecc729, pushed on codex/runtime-port, not merged to main. #517 optional-config and entrypoint scanning now match all 21 pinned-control boundary cases; native normal/destruction regression passes and published parent fails the new assertion. Full unchanged bun-run 291/291 / 416 assertions, native hard-link-PATH bunx 33 pass / 1 Windows-only skip / 0 fail / 161 assertions, workspaces 58/58 / 192 assertions, and eval 33/33 / 70 assertions (declared React dependency installed by Home). Build 17/17; units 1,820 pass / 19 skip / 0 fail (19/19 steps); regression commands 56/56 (25 native files); 35 measured sources byte-identical to pin. No upstream assertion/workload/deadline changes. New #525 tracks the unchanged tsconfig-override failure: Home parent/candidate 5 pass / 1 fail, pinned Bun 6/6, due to auto-install 404 diagnostics. #517 now retains platform/integration and help-rendering verification. Shared Darwin checkout; unrelated compiler edits excluded. Skips/TODOs, other platforms and full source ownership remain unverified. Whole-suite parity is incomplete.
  • Native installer checkpoint: 3be72ca5b, pushed on codex/runtime-port, not merged to main. Native bunx and the real installer chain (#518) now resolve all three remaining bun-run failures: 291 pass / 0 fail / 416 assertions. Full unchanged bunx passes 33 tests / 1 Windows-only skip / 0 failures / 161 assertions with isolated PATH hard links named node/bun to the exact Home binary (no installed JS runtime delegation). Ordinary PATH remains 32/1/1 because of an installed claude binary; pinned Bun reproduces it. An earlier native symlink PATH run's old CLI-basename failure is separately recorded. Native registry credentials, actual installation, both analyzers, auto-install HTTP initialization and VM destruction checks pass; Angular's original 300,000 ms timeout is resolved without changing the deadline. Workspace suites 58/58 / 192 assertions; regression commands 56/56 (25 native files); build 17/17; units 1,820 pass / 19 skips / 0 failures (19/19 steps). All 33 measured upstream sources match the pin; generated test-tarball bytes are archived and restored. No assertion/workload/deadline changes. #508 now retains platform/integration scope; #517 optional-config scanning and #519 platform/integration verification remain open. Shared Darwin checkout; unrelated compiler edits excluded. Skips/TODOs and other platforms are unverified. Whole-suite parity is incomplete.
  • Compression checkpoint: 095f90396, pushed on codex/runtime-port, not merged to main. #516 ports Zlib/Brotli/Zstd async buffer pins, GC roots and fresh write-result resolution. The complete unchanged zlib file now passes 378 tests / 434 assertions, with 2 skips and 0 failures; bounds 9/9, reentrancy 3/3, native regression commands 55/55 (24 native files), and runtime units 1,819 pass / 19 skip / 0 fail. Twenty lifetime stress runs plus VM destruction pass. No upstream assertions/workloads/deadlines were changed. This supersedes the prior zlib failure linked from #513. Darwin only; #514's four remaining stream-file gaps, broader CLI/runtime gaps and whole-suite parity remain open.
  • The 65 previously local port commits through 6de9852ea8443c3b5d4a58dcdbcf11944456fd2e are now published on codex/runtime-port. Their original hashes were recovered from the existing local codex-git-shadow.git metadata; no replacement history or force push was used. They are published on the branch, not merged into main.
  • Worker checkpoints on the published branch: descendant shutdown 41f10cbebe6d65340304f4b93eb4fd3fa10d0e19 (#470), native parentPort 3b0721c32b2d237c38380900ed449217ef1af853 (#477), and snapshot cancellation c6a4e4a3513dfb2a05a13357c06f598ad9f1d6ce (#471). Not merged into main. Snapshot tasks carry IDs only; the parent thread owns promise handles and completed payloads through success, worker exit, and parent-VM shutdown.
  • Snapshot checkpoint: 20/20 native regression files, 16 byte-identical upstream Node fixtures, and native build/cache 16/16 pass. The six-scenario snapshot suite passes four complete runs, including two with VM destruction enabled. The unchanged upstream snapshot-GC test passes its full 15 × 300 = 4,500 snapshot workload (1 test / 15 assertions). No sanitizer claim.
  • Strict native MessagePort corpus: 15 pass / 3 existing debug-sanitizer guard skips / 0 fail / 529 assertions. Both native execution flags were set. Skips are not completed parity.
  • The full worker_threads corpus file is not green: at the snapshot checkpoint, 33 pass / 1 timeout / 1 between-test error, although its three snapshot cases pass. The test-name filter failure is now fixed in #481; the current filtered snapshot run is 3 pass / 31 filtered out / 0 fail. This does not resolve the full-file timeout. The unchanged 100 MiB eval-source case exceeds its original five-second deadline (#482); its standalone memory-threshold check passes in native debug in 20.22 s versus 2.20 s in Bun. Debug/optimized timing and the full-file deadline remain distinct from snapshot cancellation.
  • Native test CLI checkpoint 1340cebd5 (#481), published on codex/runtime-port, not merged into main: real argument and bunfig parsing, fatal diagnostics, and buffered/direct output semantics. Build/cache 16/16, all 20 native regression files, and 50 unchanged upstream tests / 119 assertions pass across filtering, configuration, retry/repeat hooks, concurrency, path ignores, and full coverage. The snapshot selection filters out 31 cases; they are not counted as passes. No tests or snapshots were weakened.
  • Newly exposed test-runner feature gaps: isolated global/module records #484 (1 pass / 3 fail, Bun control 4 pass) and parallel coordinator/worker IPC #485 (0 pass / 3 fail, Bun control 3 pass). Both retain their unmodified upstream reproducers and remain open. Other unverified CLI/runtime features are not implied complete by #481.
  • Remaining shutdown work: generic queued task cancellation #465 and work-pool quiescence #468. Snapshot request ownership #471, parent-port lifecycle #477, and descendant shutdown #470 are implemented and verified on the published branch, with integration context retained in their issues. Related ownership: #461, #462, #466, #469.
  • Other active parity gaps include the core corpus exclusions in #456, reduced-context realms in #454, and Node-API/FFI follow-ups #459 and #460. Historical checkbox sections below are not a current whole-suite completion report.
  • 100% logical Bun parity is not achieved.

A. node:tls socket layer

  • SNI/ALPN callback handling and asynchronous suspension — implemented in a9a95f6a4 (#542); the complete unchanged server file passes 38/38 / 147 assertions, matching pinned Bun.
  • Session/keylog events and teardown ordering — implemented in 04569d8f9 (#543); the complete unchanged connect file matches pinned Bun, with two live OCSP failures retained in both.
  • getCipher() cluster works — was a false diagnosis: the null cipher/session came from the broken (cert-less) handshake caused by the Buffer-cert gap, now fixed (b3492d3). Verified locally: getCipher {TLS_AES_128_GCM_SHA256, version:"TLSv1/SSLv3"} (matches pin test), getProtocol TLSv1.3, getSession 1106-byte Buffer, getEphemeralKeyInfo/getSharedSigalgs/exportKeyingMaterial/isSessionReused all correct. The pin test connects to bun.sh (crashes on this macOS 27 box) so it can't be run here, but the behavior is confirmed.
  • Detailed getPeerCertificate at the current pin — implemented in fbdfbf890 (#532): peer/trust-store issuer chains, self-issued roots, checked conversion and native reference ownership. Complete cert suite 28 passes / 3 TODO, original leak workload and memory threshold pass. The earlier claim that the detailed TODO matched the pin was historical and does not describe the current pin.
  • ALPN — fixed in 428aa2c (hand-mirror SSLConfig.fromJS never parsed ALPNProtocols).
  • Static SNI server.addContext() selection — the complete context suite and most-recent-context Node program now pass (#532). Dynamic SNI/ALPN callbacks and asynchronous handshake resumption remain #542.
  • Cert-chain verification — "unable to verify the first certificate" / "unable to get issuer certificate" on incomplete-chain + intermediate-CA scenarios (basic single-CA verify works).
  • Config validation — tls.createServer({passphrase: wrong}) should reject but listens; passphrase IS passed to us_ssl_ctx_from_options, so it's uws-level validation timing/error-surfacing.
  • getPeerCertificate '\0' handling (CVE-2009-2408 test).

B. Bun Shell ($)

  • Bun Shell template commands and command substitution — closed by #73. Basic template execution and the mixed-output/error command-substitution stress case run through real Home execution. Follow-up 31e2dc603 forwards explicit spawn environments and pins the installed Home executable for the fixture-free corpus path.

C. fetch / HTTP client

  • redirect + gzip — fixed in c508e00 (NativePromiseContext wiring; see below). fetch-gzip.test.ts 2/3 → 5/0.
  • streamed gzip with delay — fixed in c508e00 (same root).
  • body-stream.test.ts — full unchanged matrix passes 9,086/9,086 / 135,984 assertions at 2c5df8cce, including HTTP/3. Original workloads/deadlines preserved. Abort settlement remains green (2/2 plus queued 1/1, #529). This file-level result does not close HTTP/3 reliability/platform work in #530/#539.

D. HTTP/2 & HTTP/3

  • Native HTTP/2 completion — complete unchanged client 60/60 / 197, adversarial 15/15 / 33, lifetime 7/7 / 21 at 2c5df8cce (#531/#533). Earlier client compression failures are repaired. Platform/integration remain unverified; file-level passes do not establish complete HTTP/2 parity.
  • HTTP/3 — platform and integration verification, #530: 2c5df8cce brings client 52/52 / 241 and full body matrix 9,086/9,086 / 135,984. Request compression is implemented (#531). #539 is closed by 0fd884f59 as a verified host-contention artifact: serialized Home and pinned Bun each pass 12/12 processes, while intentional eight-way waves reproduce the same first-upload deadlines in both. Original tests/deadlines retained. Other platforms/integration remain unverified.

E. Deep/unported subsystems

  • napi-FFI cc.test.ts crash — resolved: exact upstream file is 5 pass / 10 upstream skips / 0 fail in Home; the extended mirrored file is 8 pass / 10 upstream skips / 0 fail. Pinned Bun at 4982b91e3 currently reports 4 pass / 10 skips / 1 fail on the upstream file because napi_main is not exported from the fixture compile.
  • S3Client remaining platform/external integration (#597) — deterministic native matrix is 66 pass / 3 upstream credential-gated skips / 0 fail in 5c2ac4542; the stream-cancel crash, task/body ownership, proxy resolution, early-response multipart reuse, malformed ListObjects parsing, and eight-file production routing are fixed. Linux/Windows and credentialed S3/R2 integration remain open.
  • Bake/HMR remaining optimized/platform verification (#901) — native production/development/HMR is functional (#551/#553/#555). The complete native suite checkpoint validates all 24 unchanged files (177 pass / 2 upstream TODO / 0 fail / 0 skip), genuine frozen locks, complete journal identities and original test deadlines (#902 closed). Spawned fixture cwd, production source maps and changed-path aliases are repaired. Debug ownership and release frontend checks pass; optimized runtime and wider platform/SDK acceptance remain open. #564 tracks Linux TODO coverage.
  • Worker corpus remaining platform/performance verification — e1523b1ee and eae013190 promote 16 exact native files: 264 pass / 3 upstream release-mode skips / 1 upstream TODO / 0 fail. The corpus runner applies its real preload and preserves sentinel path ownership. Web Worker messaging, transfer, structured clone, Blob, termination, leak, heap-snapshot GC, unchanged 15787.test.ts, and the complete worker-destruction matrix are green; #598 is closed after preserving cached exit code 0. The complete worker_threads.test.ts is green in ReleaseFast under #482 but retains its documented Debug-only five-second eval-source deadline gap. Linux/Windows verification, the upstream TODO/skips, and whole-suite worker parity remain open.

F. Memory-leak tests (triaged on ReleaseSafe 2026-07-07 — build target un-rotted in 55f7140)

  • setTimeout-clear-in-callback — ✅ FALSE ALARM: all 3 variants (clear/refresh/repeat) pass on ReleaseSafe; debug-build overhead as suspected.
  • text-decoder utf16le output-buffer leak — ✅ FALSE ALARM: both utf-16le and utf-16be pass on ReleaseSafe.
  • streams-leak — ✅ FALSE ALARM: passes on ReleaseSafe.
  • serve-body-leak — ✅ CLOSED (4ee746c): root cause was the libc mimalloc shim (allocator page retention, not a leak — see forensics comment). Real mimalloc re-attached (Phase 12.2); 7 pass / 0 fail on ReleaseSafe.
  • inspect-error-leak — ✅ CLOSED (4ff003d): ZigException.Holder.deinit was a stub that dropped the pin's deferred resetArena — every inspected error left one full transpile in the module loader arena (74MB/100k iters). Now passes with 'RSS increased by 4 MB', exactly real Bun's number.
  • node:util test-aborted gc-cleanup — ✅ CLOSED (d459e0d): FinalizationRegistry callbacks never fired AT ALL — JSCScheduler.zig was a no-op placeholder and the two event-loop exports were noop stubs, severing JSC's DeferredWorkTimer delivery chain. Pin's scheduler ported; test-aborted now 5/5 (gc-cleanup passes in 2.5ms).
  • (new) HTMLRewriter handler leak — reclassified, NOT a leak: all 58 lol_html_* symbols are noop stubs (lol-html Rust crate unported — link_bun_rust_archive = false); the child panics on the first .on() (else => unreachable on a garbage return at lolhtml_sys/lol_html.zig:253) and the test fails on stderr. Belongs with section E as an unported-library item: link lol_html_c_api (rlibs exist in the Bun build tree), delete the stubs, and restore the pin's HTMLString.toString free (lol_html.zig:623 — latent leak once real lolhtml links).

G. Environmental / infra (mostly resolved)

  • Test runner: home test defaults to native bun:test runner (078c659)
  • bun:internal-for-testing gated in release (13deb08)
  • node v24 + bun v1.3.14 installed via pantry (clears differential-spawn "node not found" failures)
  • Build recovery recipe after /tmp wipe (memory: home-build-portability.md)

Done this session (context)

signals (db0df4d), native-VM file runner (f296bb6), Worker cross-thread + teardown (dcb6db6, 85aba46), native test runner default (078c659), translateUVErrorToE (188268e), Bun.markdown renderer (2768d9a), MD4 (1279c18), Bun.CSRF (96b8f05), node:tls SecureContext ~40 tests (6cf4a6b), release build + build-recovery (dff7bfa, df83921, 13deb08).

Native isolation checkpoint — 6e092777a

Published on codex/runtime-port; not yet merged to main. #484 now passes the entire unchanged isolation file: 19 tests / 67 assertions, plus three consecutive repeat runs. The real JSC module-record bridge replaces the parked panic path. File-boundary cleanup releases watcher, server, timer, watch-file scheduler, and AbortSignal GC references; server callback protections are balanced across reload and destruction.

Verification: native build and unchanged cached rebuild 17/17; generator/ABI tests 8 tests / 135 assertions; all 20 native regression files pass, including expanded isolation probes. Fourteen selected unchanged upstream commands total 92 passing tests / 242 assertions, including the 50-test CLI regression set. Two platform skips and 231 filtered cases in those selections are not passes. The existing AbortSignal spawn-glyph-only check alone is not proof of child assertion execution; direct native lifecycle and timeout checks provide separate evidence. Workloads, deadlines, and upstream assertions were preserved. Full details and control limitations are in docs/docs/NATIVE_RUNTIME_BINDINGS.md.

Separate newly tracked failures: fake clocks #490 (16 pass / 14 fail, also reproduced before this checkpoint; Bun control 30 pass) and deferred imports #491 (0 pass / 1 fail / 19 filtered out in the selected parser reproduction). Parallel orchestration #485 and the full worker eval deadline #482 remain open. Installed Bun 1.3.14 fails four newer isolation cases itself, so no passing full-file Bun control is claimed. The full port and 100% logical Bun-suite compatibility are still incomplete.

Native fake-clock checkpoint — d0ed7c906

Committed and pushed on codex/runtime-port; not yet merged to main. #490 now passes the unchanged core fake-timer file: 30 tests / 83 assertions, up from 16 pass / 14 fail. Installed Bun 1.3.14 passes the same 30 / 83 control. Mockable timer deadlines now share the fake clock, fractional advancement retains nanoseconds, real option/getter validation runs before clock mutation, and both reset paths release timer/AbortSignal references outside the heap lock.

Verification:

  • Native build and cached rebuild: 17/17 steps.
  • All 21 native regression files pass; the new fake-clock test also passes three consecutive repeats and fails against the cached pre-change Home binary. It checks actual Home execution, inherited/throwing getters, Date/performance agreement, fractional nested callbacks, retained cancelled handles, natural exit and bounded GC counts after allocating 3,072 timeout/interval wrappers plus 1,536 AbortSignal timeouts across resets.
  • Entire unchanged fake-timer directory: 61 reported pass / 438 TODO / 0 fail / 115 assertions in Home and Bun. 14 reported passes are it.failing cases, not implemented features; all 438 TODOs are excluded from logical completion. There are 47 ordinary passing tests, including the core 30.
  • Unchanged isolation: 19 tests / 67 assertions. Unchanged timers/promises: 4 / 7. Twenty-four selected corpus files match the pinned Bun checkout byte-for-byte. Focused Pickier, timer-file Zig formatting and whitespace checks pass.

The wider Node timer file still hangs after printing 19 passes on its final caught-immediate-exception fixture. This happens in the pre-change Home binary too. The standalone fixture times out in both Home binaries and exits successfully in Bun; the original-checkout Bun control passes the full 20 / 31. Tracked separately in #493; neither incomplete runs nor expected failures count as logical parity.

Deferred imports #491, parallel coordinator/IPC #485, the full worker deadline #482, remaining native ownership, other platforms and full-suite parity remain open. The full port and 100% logical Bun-suite compatibility are not complete. See docs/docs/NATIVE_RUNTIME_BINDINGS.md for the implementation and verification boundary.

Native POSIX spawn checkpoint — 6d797186c

Published on codex/runtime-port; not yet merged to main. #493 is now implemented and verified. The timer fixture hung during import, before scheduling immediates: Node's common helper spawned a missing absolute openssl-cli, and Home misread libc's direct positive errno as success and watched PID 0. The fix propagates spawn and file-action/attribute setup errors, preserves executable paths, and releases failed registration lists. No immediate dispatch code was changed.

Verification: 28 selected commands pass, including all 21 native regression files, the unchanged complete Node timer file (20 tests / 31 assertions), its standalone fixture, isolation (19 / 67), core fake clocks (30 / 83), timers/promises (4 / 7), PATH selection (1 / 2) and the selected missing-command/invalid-fd cases (2 / 9; 32 filtered out excluded). Native build and cached rebuild 17/17; repeated native spawn failures preserve descriptor counts and recover to a valid spawn without re-entering user microtasks. Eight relevant upstream files are byte-identical to source pin 4982b91e3702094330f3be3883354c52b8c01323.

New linked follow-ups keep the failing boundaries explicit: extra stdio pipes #495, real native counter snapshots #496, and package-script passthrough #497. Full child-process remains 30 pass / 2 fail / 1 skip / 1 TODO / 70 assertions; spawnSync remains 4 pass / 1 fail / 1 platform skip / 11 assertions. Installed Bun 1.3.14 passes those three failing scenarios but fails the newer invalid-fd case itself. Deferred imports #491, parallel test orchestration #485, full worker timing #482 and the other open work remain. The full port and 100% logical Bun-suite compatibility are still incomplete.

14 days ago

The queued raw-response diagnostic and repaired build both terminated with exit 127. Their executable/toolchain inputs were missing when they could run; zig-out and .zig-cache had been removed. This is an infrastructure failure, not runtime or compilation pass evidence. The removed live logs are unavailable.

All eight source files still match pushed recovery 6e08014c7. Thirty immutable completed-build/control artifacts were recovered and hash-verified from the main checkpoint. The source checkout has been synchronized to main 84ae6fd71 while preserving every repair file. The exact pinned Zig 0.17.0-dev.2163+89ff10d archive has been downloaded from ziglang.org; extraction is running. A normal rebuild will follow toolchain restoration. The pinned baseline binaries were also removed, so the original diagnostic cannot run until an executable is normally rebuilt.

#888 and #428 validation remain open; no new runtime credit or full Bun parity is claimed in #66.

14 days ago

Pushed 634c94c31 to main. Middleware, notifications, and routing now test the same reusable modules they ship; notifications also uses the current std.Io wall clock and has a valid 200-byte SMS multipart regression.

The complete dual-Zig host/cross-target matrix passed under the bounded supervisor. This strengthens web-service package coverage used by broader Bun parity without claiming the remaining corpus complete.

14 days ago

The restored normal Debug build for recovery 6e08014c7, applied to main base 84ae6fd71, completed 56/56 steps with peak process-tree footprint 5876 MB. Generated realm headers match the pushed repair source byte-for-byte, and the resulting executable SHA-256 is recorded separately.

Focused controls for properties, argument worlds in both directions, metadata and malformed/unknown context IDs are queued behind a confirmed live bounded validation job. No runtime pass credit yet. The broader original/native/ABI/report drivers were recovered from committed, hash-verified evidence and are prepared for execution after focused controls pass.

The two earlier exit-127 jobs remain infrastructure failures with no pass credit. #888, #428 and the full Bun parity goal #66 remain incomplete.

14 days ago

Focused validation now passes for recovery 6e08014c7 on the restored normal build (main base 84ae6fd71): seven Node controls and seven Home controls, all exit 0. The executable SHA-256 matches the completed 56/56-step build identity.

Validated: named realm enumeration/evaluation, metadata disable/re-enable, distinct remote handles and own properties/release, single metadata getter reads and explicit empty names, malformed/unknown context-ID command errors, foreign-world argument rejection, and same-world arguments across realm/realm and owner/realm directions. The previously failing ordinary object control now passes unchanged. The maintained native-profiling-cli.test.mjs regression also exits 0.

The broader unchanged-original selection, 27 additional native groups, ABI and report-validator checks are running as one bounded batch. Full suite parity, controller roots/retirement and complete inspector behavior remain incomplete; #888 and #428 stay open. No full Bun parity claim for #66.

14 days ago

Pushed ad3503b2a to main: session, storage, and templates now test the exact reusable modules they ship.

The complete dual-Zig host/cross-target matrix passed under the bounded supervisor. This continues tightening package-level evidence used by Bun parity without claiming corpus completion.

14 days ago

Native VM inspector realms (2026-10-13) landed in source 2d9025ce5 with verified evidence 3179edc81. Real VM contexts preserve names/origins/native identities; evaluation, distinct remote handles, own properties and release route to the owning JSC controller. Foreign-world arguments receive the Node inspector error; same-world arguments retain native identity. Native property responses translate to CDP result using the request method. Missing metadata/null-key guards prevent the earlier ordinary-control aborts. Debug build and current-main integration: 56/56 each, identical tested executable. Seven Node and seven Home controls, 28 native groups, 14 ABI controls/453 assertions, 32 report-validator controls pass; lint/format/docs checks pass. Twenty byte-identical originals retain 53 passed cases, one failed unsupported-method expectation and 17 process checks, with no skips/TODO/filter/retries. All 64 report outcomes match expected counts/exits/errors, including 12 retained negatives. No #886 pass credit. Earlier aborts, incorrect cross-world expectation, baseline property failure and two infrastructure exits 127 remain documented. #888 retains controller roots/retirement, complete backend/async schemas and teardown; #428 retains full inspector acceptance. Full Bun suite, Release/ASAN, Linux/Windows and #885/#886 remain incomplete.

The 479 raw evidence artifacts have verified uncompressed hashes/byte counts. Both commits are pushed to main; the source checkout is clean and synchronized at publication. This is a validated increment, not full inspector or Bun-suite completion.

14 days ago

Pushed ac5ba9a82 to main: compression, I/O, and platform now compile and test their shipped module graphs across both supported Zig versions and Linux ReleaseFast.

The I/O package check now covers its actual consumer-facing module and collections dependency. This is package-foundation progress for Bun parity, not a corpus-completion claim.

14 days ago

Next related inspector batch: native promise metadata/handle routing and accessor-only property requests. On current main, the initial Node controls pass while both Home controls fail. A bounded raw-response diagnostic confirms JSC returns a Promise with no CDP promise subtype, Runtime.awaitPromise receives the exposed realm ID without routing/unwrapping and reports -32000 missing injected script, and accessor-only requests include data properties. The diagnostic returned normally.

Recovery 1cb8ce849 classifies promises from the actual injected native JSValue, routes/unwraps promiseObjectId using the owning realm, filters real native getter/setter descriptors for accessorPropertiesOnly, and rejects non-boolean flags with -32602. A maintained regression adds class-name spoof protection, async function replies, pending-await session closure, and getter non-evaluation checks. Lint passes.

The strengthened baseline controls are pinned to the current main executable; they and the normal draft rebuild are queued behind a confirmed live bounded job. No repaired build/runtime pass credit yet. Earlier validated source/evidence remain on main at 2d9025c/3179edc. #888 and #428 retain complete schema/lifetime acceptance; full Bun parity in #66 remains incomplete.

14 days ago

The strengthened baseline is now hash-verified: both Node controls pass, both controls fail on the pinned main Home executable. The normal draft build found a concrete SDK namespace error (JSC::dynamicDowncast); the compiler exited 1 for that unit. The owned failed build was stopped through its guard (exit 130), preserving the log and giving it no build/runtime pass credit.

Recovery bb57ac090 uses the SDK WTF native cast with an empty-value guard. It also corrects a schema boundary found during review: CallArgument.value and returned RemoteObject value payloads are user JSON, so their literal objectId/promiseObjectId fields must not be rewritten or classified as handles. The maintained regression now checks these fields across owner and VM realms.

A separate pinned payload baseline plus Node maintained regression, and the corrected normal build, are queued. Lint passes; source is preserved on the recovery branch. Complete runtime validation, #888/#428 acceptance and full Bun parity in #66 remain incomplete.

14 days ago

Published baseline evidence 42d7692fa on main: 20 hash-replayed terminal artifacts, two strengthened Node passes, two pinned Home failures, the ordinary raw response diagnostic, and the draft cast compile error with the separate guard stop (130). Documentation paths passed (273 files).

The corrected source remains recovery bb57ac090. Its normal build and separate payload baseline/Node maintained regression are still confirmed live and queued behind a bounded validation job. This checkpoint credits no repaired build/runtime success. #888/#428 acceptance and full Bun parity in #66 remain incomplete.

14 days ago

The payload baseline and corrected inspector build both terminated with guard 125 after eight unavailable physical-footprint measurements. Only the Node payload control had printed exit 0 before its batch stopped; remaining outcomes were unproven. Three direct footprint(1) probes each exceeded the existing two-second deadline. No repaired inspector pass credit.

Published guard fix 2d0ee965c and 25 hash-replayed evidence artifacts on main. It queries macOS kernel ri_phys_footprint through libproc without VM-map traversal. It keeps the same deadline, failed-sample limit, memory/host/disk ceilings and cleanup; unavailable measurements are not replaced by RSS or zero. The legacy probe remains available when helper compilation is unavailable.

Three native probes returned valid readings in 7–96 ms; a 64 MiB allocation increased physical footprint by 67,174,448 bytes. The guard enforced the 32 MB memory ceiling. Existing parser, stalled-probe/deadline/cleanup, positive runs and six disk/scanner controls pass. Documentation paths passed (275 files). Initial test assertion/invocation errors and both inspector resource stops remain in evidence.

Main is synchronized with all four inspector repair files preserved at recovery bb57ac090. The pinned baseline and normal corrected build have been resumed under the repaired guard, with separate logs. #888/#428 validation and full Bun parity in #66 remain incomplete.

14 days ago

The inspector retry after guard publication still did not validate the repaired runtime. Its pinned baseline was refused with 123 because disk availability could not be measured; the normal rebuild stopped with 125 after eight unavailable memory measurements. Both stops receive zero repaired-runtime/build pass credit.

The published physical-footprint guard remains validated independently in 2d0ee965c. Additional process/disk/kernel probes are still live. A proposed direct filesystem-availability helper remains unverified: its compiler command exceeded a 30-second bound on the shared machine. No thresholds or deadlines were relaxed, and the unverified helper is not selected by the guard.

Recovery bb57ac0 and main evidence 42d7692 remain preserved. #888/#428 validation and full Bun parity in #66 remain incomplete.

14 days ago

Published kernel process discovery 1f120e246 with 31 verified evidence artifacts. Complete native PID/parent/group/start-time snapshots avoid stalled ps argument inspection; final probes took 3.6–9.1 ms. Exec-stable identity, detached-child terminal cleanup, legacy stalled-probe/deadline cleanup, memory ceiling, parser and six disk controls pass. Limits and failure behavior remain enforced.

With that guard, inspector recovery bb57ac090 completed a normal 56/56-step build, peak tree footprint 5734 MB. Three focused controls pass on both Node and Home: actual promise metadata/realm await and async function result, accessor-only descriptors/validation without invoking getters, and literal object-ID fields preserved as user JSON in owner/realm values. Six successful runtime executions; this does not establish full acceptance.

The extended Node regression exposed an incorrect teardown expectation: pending Runtime.awaitPromise is rejected synchronously during disconnect with ERR_INSPECTOR_COMMAND (-32000, Execution context was destroyed), and reconnecting inside that callback reports already connected. Home instead delivered ERR_INSPECTOR_CLOSED afterward and allowed that reconnect. Both ordinary traces are preserved.

Recovery acb1a1600 implements explicit frontend runtime cancellation through the protocol callback path and retains connection ordering during delivery. GC/owner teardown keeps the no-JavaScript path. The maintained regression now follows the observed Node error and callback/reconnect ordering. Its Node reference run and normal rebuild are queued; zero runtime pass credit for this newer source. #888/#428 and full Bun parity in #66 remain incomplete.

14 days ago

The corrected maintained inspector regression now passes on Node (exit 0, exact source SHA-256 verified). It checks realm promise metadata/await and async function replies, accessor descriptors without getter execution, literal handle-shaped user JSON, pending-runtime cancellation error, callback-before-disconnect-return ordering, already-connected rejection during that callback, and successful reconnection afterward.

The normal build for recovery acb1a1600 has acquired the machine lock and is actively compiling. Home validation for this newer cancellation source remains pending. Earlier recovery bb57ac0 has the completed 56/56-step build and six passing focused runtime executions; those results do not credit the newer source. #888/#428 acceptance and full Bun parity in #66 remain incomplete.

14 days ago

The promise/accessor/payload/cancellation batch now passes on the normally rebuilt Home executable from recovery source acb1a1600. Debug: 56/56 steps. Three focused controls pass on Node and Home; the maintained regression passes on both, and pending-command cancellation has an identical Node/Home trace, including synchronous callback order and reconnection state.

Broader verification passed: seven earlier realm controls on each runtime; 29 native groups in total; 14 ABI tests / 453 assertions; 32 report-validator tests. Twenty unchanged upstream originals retain 53 passed cases, one failed unsupported method throws expectation (#886), and 17 process checks with zero skips/TODOs/filters/retries. All 64 archived report outcomes match prior expected counts/errors/exits, including 12 negative outcomes. No pass credit for #886.

Source is committed locally; the current-main integration build is queued on the shared machine lock before publication. Controller roots, retirement, complete backend schemas, native pending-producer lifetime, full inspector acceptance and all-platform/full-suite parity remain open.

14 days ago

Native inspector promises, descriptors and cancellation (2026-10-13) landed in source 7acfeeb1e with verified evidence 928576ed5. Real promise handles route to their VM realm; async function replies, accessor-only descriptors and literal JSON payloads pass. Explicit disconnect preserves Node cancellation errors, callback order and reconnection state; GC/owner teardown executes no JS callbacks. Debug and main integration: 56/56 each, identical tested executable. Three async controls and seven earlier realm controls pass on Node and Home, maintained regression passes on both, and cancellation traces match. All 29 native groups, 14 ABI tests/453 assertions and 32 report-validator tests pass; lint/docs paths pass. Twenty unchanged originals retain 53 passed cases, one failed unsupported-method expectation and 17 process checks, with zero skips/TODOs/filters/retries. All 64 report outcomes match expected counts/errors/exits, including 12 negatives. No #886 pass credit. #888 retains roots/retirement, full backend schemas and pending-producer lifetime; #428 retains complete inspector acceptance. Full Bun suite, Release/ASAN, Linux/Windows and #885/#886 remain incomplete. Earlier failures and corrected reference expectations remain archived.

Source and all 454 raw evidence artifacts are published on origin/main. The full parity goal remains open.

14 days ago

The next inspector baseline is preserved on main in evidence 5971c13e9, using the unchanged verified async/property/cancellation executable.

Two controls expose remaining gaps. Node emits the console event from VM-realm evaluation with the correct context ID; Home emits none. With a realm created before Runtime.enable and observed by both sessions, Node collects the unreferenced context and emits its destruction event, while Home retains it and emits no destruction. The initial probe also shows Home omitting creation notifications for contexts created after Runtime.enable. All raw traces and drivers are retained. These are baseline command exits, not acceptance passes; no runtime fix or parity credit is claimed.

This supplies the next paired work in #888: native notification delivery and controller/realm lifetime. Full inspector acceptance remains #428 and full Bun parity remains #66.

14 days ago

Context creation timing and retired-handle cleanup are implemented in recovery source 49396536b, pending native validation. Creation events drain on the owner thread before createContext returns; retirement removes the realm frontend and exposed/native object maps on the owner loop. A Node-backed maintained control passes creation timing, disable/re-enable and callback-driven disconnect/reconnect.

The normal Home build is queued behind a confirmed live shared-machine validation job. No Home pass or main source credit yet. Console notifications and native controller/injected-script roots remain open; prepared collection variants distinguish general VM retention from inspector attachment before changing lifetime behavior.

14 days ago

Additional baseline probe refines the creation-notification finding: the published Home executable delivers the event after one setImmediate, before a later inspector command. The initial missing realm ID was an immediate lookup and does not prove events never arrive. Node delivers the notification before createContext returns; recovery 4939653 targets that timing difference. The observed pre-enable realm still remains alive in the Home collection trace while Node collects it. Console notification and lifetime acceptance remain open.

The recovery build has acquired the machine lock and is actively compiling. No Home validation credit yet.

14 days ago

Recovery 49396536b now builds normally (56/56 steps) and passes the Home creation timing/disable/re-enable/callback-detachment control, maintained async/cancellation and profiler controls, plus seven earlier realm controls on Node and Home. Broader corpus/native/ABI/report gates are running before main publication.

The lifetime variants refine the root investigation: Node collects the dropped sandbox in all four modes (no session, enabled, evaluated, detached); Home retains it in all four, including no inspector session. This shows general VM retention (#885) must be traced alongside inspector/controller roots; removing frontend roots alone cannot establish lifetime parity. Raw variants and conclusions are retained without collection pass credit. Console event delivery remains open in #888.

14 days ago

Context-event source passed its normal build and focused/broader checks before integration. Concurrent main changes merged cleanly, but the combined executable changed; fresh validation exposed one failed native gate. All source and merged investigation evidence are preserved on codex/inspector-context-events-integrating while main publication is held.

Merged build: 56/56. Focused context/async/profiler/realm controls pass. Native broad run: 26/27 pass; native-fetch-resource-timing.test.mjs fails because canceled streamed fetch has no timing entry within its original deadline. A logging-only diagnostic subsequently passes, but does not replace that failure. Separate ABI 14/453 and validator 32 pass. Unchanged originals retain 53/1 cases plus 17 process checks; 64 reports preserve all expected outcomes including 12 negatives.

A returned-scope probe confirms Home retains an unreferenced context without inspector, while Node collects it. Collection/console/controller/backend acceptance remains open; no merged-main or full parity credit. Next action is to resolve the cancellation timing race before publishing this source increment.

14 days ago

The merged inspector event increment is held behind a reproducible native fetch gap. With a server sending headers and a partial body but withholding completion, Node emits resource timing on explicit cancellation and signal abort; the current Home executable emits neither.

A draft 29b090c76 terminates explicit response-body cancellation rather than draining indefinitely and records the actual native failed/aborted response terminal timestamp. Aborted responses with measured headers can publish their timing once. Finalizer abandonment remains separately handled. The Node-backed termination control passes; normal Home build is active, with no Home pass credit yet.

This addresses native behavior rather than extending the failed 20ms test delay. Previous merged failure and later passing diagnostic remain retained. Inspector full acceptance and collection remain open in #888/#885; full parity remains #66.

14 days ago

The first repaired build passed 56/56 but the unread-response cancellation control failed. Diagnostic isolates the missing path: the unstarted native stream has a null controller, and ReadableStreamCancel returned without canceling the existing native source. Signal-abort timing now publishes; unread cancellation still did not terminate or publish.

Recovery 72e2c4e68 adds cancellation of that existing source without pulling/starting it, clears the lazy start, and preserves the real abort terminal milestones. Normal rebuild is queued. The first failing control and diagnostic remain retained; no pass credit or main publication yet.

14 days ago

The combined cancellation source 72e2c4e68 now builds normally (56/56) and passes all six focused Home checks: unread response cancellation and signal abort, the unchanged fetch-resource-timing assertion, connection timing, stream cancellation, inspector context events, and the withheld-body trace. Cancellation and abort each publish exactly one measured resource entry. The first repaired build's failed cancellation control remains retained.

The broader inspector/unchanged-original/native/ABI/report batch is queued behind a confirmed live machine validation job before main publication. Full resource-timing/body-size/protocol acceptance remains #873; collection/controller/console/backend gaps remain #885/#888/#428. No full-suite or all-platform parity claim.

14 days ago

Native fetch cancellation and inspector context events (2026-10-13) landed in source 85a079965 with verified evidence bef919e3f. Unread native streams cancel their existing source without starting/pulling; explicit response cancellation terminates HTTP; actual abort terminal milestones publish one resource entry. Signal abort and withheld-body cancellation controls pass, and the original 20ms timing assertion is unchanged. Context creation notifications now arrive before createContext returns, including callback-driven disconnect; retirement removes exposed/native handle maps. Normal build: 56/56. Entire published main tree is identical to the normally rebuilt validated recovery tree. Six focused controls, 31 native groups in total, seven Node/seven Home realm controls, 14 ABI tests/453 assertions and 32 report-validator tests pass; lint/format/docs checks pass. Twenty unchanged originals retain 53 passed cases, one failed expectation and 17 process checks, with zero skips/TODOs/filters/retries. All 64 report outcomes match, including twelve negatives; no #886 credit. Earlier merged timing failure and unread-cancel failure remain archived. Additional integration build is queued and uncredited. #873 retains full timing/protocol/body-size policy; #885/#888/#428 retain VM collection, console/controller roots and full backend/retirement/teardown. Full Bun suite and Release/ASAN/Linux/Windows remain incomplete.

Source, initial context-event evidence, merged-main failure evidence and final cancellation evidence are all preserved on origin/main. Native retirement completion remains unproven because general VM collection still fails; map cleanup is an implemented increment, not a lifetime acceptance claim.

14 days ago

The additional fetch cancellation integration completed 56/56 with identical validated executable bytes; evidence is published in 0a72ebe. New inspector baseline narrows the next gaps: ordinary WeakRef targets collect on both Node and Home, while the VM sandbox remains retained. Native Console.enable still produces no console events in Home.

A Node-backed console regression passes owner/realm events, real remote object properties, Runtime.disable and independent sessions. Recovery source 658f2cdf7 owns the native console agent/client bridge and routes native wrapped arguments, timestamps and context IDs without changing public ABI headers. Home validation is pending. The active build reports missing generated cache inputs; those directories are outside the recorded cleanup set. Source is preserved remotely; failed build receives no credit. Once terminal, a consistent derived-cache rebuild will run.

VM retention, complete console/backend schema, controller roots, retirement and full inspector acceptance remain open in #885/#888/#428. Full Bun parity remains #66.

14 days ago

The first fresh-cache console build compiled but failed linking with duplicate InspectorConsoleAgent symbols from the SDK unity object. That failure is retained; no Home pass credit. Revised recovery b67038130 removes the SDK-agent replacement and uses a Home console client that forwards real arguments through canonical native wrapping while delegating SDK behavior. Public ABI headers remain unchanged.

The revision also gives each NodeVMGlobalObject its own Structure, preserving the template prototype. JSC mutates that structure's realm during global initialization; the prior cached parent structure has a heap path retaining the VM global. Node controls pass dropped-context collection, announced unused-realm destruction and live-context usability. Home validation remains pending. The old executable is separately pinned for the multiple-context baseline, so queued rebuilding cannot overwrite its evidence.

Normal revised build is queued behind a confirmed live shared-machine job. Full console methods/schema, remote-object/controller lifetime and complete inspector/all-platform/Bun-suite acceptance remain open (#885/#888/#428/#66).

14 days ago

Revised recovery b670381 built successfully: normal Debug 56/56 steps, peak guarded tree 5653 MB. The SDK symbol duplication is resolved through a Home console client that delegates existing SDK behavior; public ABI headers remain unchanged.

The separately pinned old Home executable confirms the cached-structure prediction: with two dropped contexts, Node reports [false,false] for WeakRef liveness while old Home reports [false,true], retaining only the last realm. This matches the main-global -> Structure -> VM-global heap path and JSC's per-global setRealm initialization. The fresh per-global structure implementation is built, but repaired Home collection/console acceptance is still queued behind a confirmed live machine validation job. No new Home pass credit yet.

Earlier missing-cache failures, disk admission refusal, copied-baseline permission failure and SDK-link duplication remain retained. Full remote-object/controller lifetime, console methods/schema, teardown and full inspector/all-platform/Bun-suite acceptance remain open (#885/#888/#428/#66).

14 days ago

Investigation evidence 8544a0330 is published on main, including the completed 56/56 revised build, source/executable identity, pinned last-context retention baseline, native heap path, Node controls, and all infrastructure/link failures.

Implementation remains preserved in recovery b670381 pending Home acceptance and broader gates. The exact built-source/executable snapshot is verified; its acceptance job is queued behind the confirmed live shared-machine validation job. No repaired Home collection/console pass credit or full parity claim yet.

14 days ago

Repaired Home source b670381 passes dropped-context collection and owner-loop destruction of an announced unused realm. The separately pinned earlier executable retains only the last dropped context; the repair reports both collected. Five byte-identical earlier lifetime controls now pass: all array/fill/map/Math contexts collect in both orderings, payload measurement reports zero leftover contexts, and retained closures/compiled functions remain callable; Script reuse still works.

The console control passes owner/realm events and native object properties but fails synchronous delivery to the second connected session. Recovery a1f71644d drains each enabled local frontend during native console delivery. Its normal rebuild is active. The unchanged original lifetime assertion was recovered for the next batch; broader gates and full lifetime/console acceptance remain pending.

No console pass credit for the failed multi-session control. Full Bun/all-platform parity remains open; source is preserved remotely while verification continues.

14 days ago

Native console delivery and VM structure lifetime (2026-10-13) landed in source 7cfff1c01, integrated with current main in e37bbf2, with verified evidence 4852a2330. Each VM global has its own Structure; the parent-cached structure retained the last context because JSC writes its realm during initialization. Old Home retains [false,true]; Node and repaired Home collect both. The unchanged original lifetime assertion passes, including zero leftover measured contexts; five earlier controls preserve callable closures/compiled functions and Script reuse. Announced unused realms retire on the owner loop. Native console events preserve actual arguments/object handles, timestamps, frames and owning context IDs; Runtime.disable and synchronous delivery to independent local sessions pass. Callback GC/reconnection passes. Normal and merged builds: 56/56 each. The changed merged executable received a fresh validation batch: eleven focused commands, 33 native groups, seven Node/seven Home realm controls, 14 ABI tests/453 assertions and 32 validator tests pass; lint/format/docs paths pass. Twenty unchanged originals retain 53 passed cases, one failed expectation and 17 process checks, with zero skips/TODOs/filters/retries. All 64 report outcomes match, including twelve negatives; no #886 credit. Earlier failures remain archived. #885 retains full module/export/callback/shutdown lifetime acceptance; #888/#428 retain complete console/backend schema, remote-object/controller roots and inspector retirement/teardown. Full Bun suite and Release/ASAN/Linux/Windows remain incomplete.

Source and 771 raw artifacts are published on origin/main. The goal remains incomplete; full lifetime, inspector and all-platform/full-suite acceptance retain their open criteria.

14 days ago

Follow-up console method comparison on the unchanged main executable is preserved in verified evidence. Completed Node/Home probes retain a usable sandbox through the final command. Both owner and VM realms lack Runtime events for count and native timeLog/timeEnd in Home; groupEnd/clear emit empty arguments where Node emits method-name strings. The other tested method types arrive. This is investigation evidence, with no method repair or full schema pass claim.

The independent remote-object lifetime probe completes and reads answer=42 in both runtimes. Both retain the context after group release, Console.clearMessages and disconnect, so this does not establish a Home-specific collection regression. Initial sandbox-liveness failure and raw outputs remain archived. The pinned SDK owns native counter/timer state; the next implementation batch must integrate that state and preserve object lifetimes. Full acceptance remains open under #888/#428/#66.

14 days ago

Console count/timer/groupEnd/clear implementation is preserved at 889a44b6a on the recovery branch. Runtime source remains unverified and has not replaced the last verified main checkpoint. The native subclass reads canonical SDK records; assertions cover native counter resets, timeLog object handles, timeEnd and disabled/enabled state.

Validation has encountered real shared-resource failures: a corrected reference API compile error, disk admission/critical-floor stops, stale generated-file records after obsolete cache cleanup (subsequently invalidated), and eight consecutive memory measurement failures. No limits were relaxed and no failed run receives pass credit. A controlled zombie/live footprint probe succeeds, so zombie handling was not changed. Added failure diagnostics preserve the existing memory ceiling, probe deadline and failure limit; stalled-probe cleanup and footprint parser controls pass.

The current retry is queued behind a confirmed live compiler regression suite, retaining its original process handle. Complete console schema, inspector/VM lifetime ownership and full Bun corpus acceptance remain open under #888/#428/#885/#66. Earlier comparison evidence on main remains c2186df64.

14 days ago

The console-method Debug build has completed 56/56 steps with a 5710 MB peak tree footprint. The generated controller copy matches the current native source, including the inspection-policy check that avoids storing unobserved timeLog arguments. Executable SHA256: 018151c2d6d7b12976860b337314291a3f31afbe6f1b8a6e3e95cdb0e8db2bcf.

Runtime acceptance remains pending: the focused driver is queued behind a confirmed live release build. Its batch includes Node and Home console assertions and dropped timer-context collection, plus existing inspector/profiler/fetch lifecycle controls. The source is preserved on the recovery branch (runtime retention fix 05d480af6, current diagnostic controls 512e92605); main remains the last verified checkpoint. Initial native kernel-probe deadline failures are preserved; monitoring recovered and the build completed without changing its limits. No runtime or full-suite pass credit is claimed. #888/#428/#885 remain open.

14 days ago

The expanded native console build at 4af40d6e7 completed 56/56 steps. Node and Home pass the maintained console method assertions, including real counter/reset values, typed timer object handles, groupEnd/clear arguments and attachment versus Runtime.disable behavior. Native SDK history now replays actual buffered records with captured stacks and per-session delivery.

The broader lifecycle acceptance remains failed: Node replays a buffered timeLog object and collects its VM realm after clearing console entries and the remote object group; Home replays/inspects that object successfully but retains the realm after clearing. The failed assertion is unchanged. A connected heap snapshot shows native strong roots, and a temporary native probe is tracing buffer counts and controller detach; its 56/56 build is complete but runtime audit is queued behind a confirmed live job. No full inspector/lifetime or full-suite pass credit is claimed; main remains the verified checkpoint.

Two earlier new oracle assumptions failed on Node and are preserved: owner and VM consoles have different pre-attachment inspector state, and Node legitimately retains the unobserved timer object in its replay buffer until clearing. Corrected maintained controls pass on Node; Home's remaining clear/collection failure is separate. #66/#888/#885/#428 remain open.

14 days ago

Native console methods, buffered replay and cleared-realm lifetime (2026-10-13) landed in source 56df99d7f, merged integration be4364972, and verified evidence de6aea239. Canonical SDK records provide count/reset, typed timeLog/timeEnd and per-session buffered replay with actual stacks/timestamps. Owner attachment differs from VM console state; Runtime.disable suppresses notifications while preserving connected state. groupEnd/clear arguments match the native contract. Clearing the buffer and remote group now retires idle realm injected-script roots; actual still-bound handles, pending calls and paused debugger state prevent retirement. Unrelated object handles and an in-flight async call remain usable. Last frontend detach retires injected-script state, and the non-owning console registry retires across finalization threads. Both source and merged builds pass 56/56 steps; fresh merged validation passes all nine focused commands, six broad drivers, 33 native groups, seven Node/seven Home realm controls, 14 ABI tests/453 assertions and 32 report-validator tests. All 64 report outcomes match expected counts/errors/exits, including twelve negatives. Twenty unchanged originals retain 53 passed cases, one unchanged unsupported-method expectation failure and 17 passed process checks, with zero skips/TODO/filter/retries; #886 receives no pass credit. Failed Node oracle assumptions, the Home post-clear lifetime failure and resource stops remain immutable; temporary tracing is removed. Full schema, independent remote-object/session ownership, evaluated-realm retirement outside explicit console clearing, module/export/callback/owner-shutdown acceptance and full suite/platform validation remain open under #888/#428/#885/#66.

14 days ago

Verified native VM code-generation checkpoint (2026-10-13): #889 fixes undefined strings/wasm defaults, flag getter order, and exception propagation before realm allocation. Implementation 1abfe1aee, merged source f08bd50d7, published evidence in ec4c45382. Both implementation and merged source passed the 56-step native build, 24 unchanged pinned Bun files (14 test cases and 19 process checks, no skips/filtering/retries), and five focused commands covering Node/Home memory/options and Home inspector lifetime. Baseline failure and intermediate traps remain recorded. Full suite and platform acceptance remain outstanding.

14 days ago

Verified native VM context snapshot checkpoint (2026-10-14): #890 fixes getter snapshots/order, validation precedence, ordinary Proxy property reads and strict object types. Earlier getter results remain traced during later getters/GC; script context options preserve their own read sequence and queue snapshot. Source 29bc2badd, 464 verified evidence artifacts in 59d35c066. The 56-step native build, 44 unchanged pinned Bun files (14 test cases, 39 process checks, no skips/filtering/retries), six focused commands and exact Node/Home diagnostic comparisons passed. The fixture-scope failure is retained. The preceding flag-default/getter-exception fix is complete in #889. Full suite/platform acceptance and broader #885 lifetime acceptance remain open.

14 days ago

Verified native script-options checkpoint (2026-10-14): #891 now has separate construction/execution parsing, ordinary property reads, getter snapshots/precedence, GC-safe temporary values, strict object/view types, uint32 timeout bounds, numeric signed-int32 offsets and empty supplied-cache rejection. Source 197c167da, 798 verified evidence artifacts in f07cacdea. Build 56/56, 59 unchanged pinned originals (14 test cases, 54 process checks, no skips/filtering/retries), seven focused commands and fresh-source empty-cache comparisons passed. Full diagnostic rows retain internal-symbol and warm-cache status differences; #891 stays open. Earlier #889/#890 scopes are complete. Full suite/platform acceptance, independent builds and #885 lifetime acceptance remain open.

14 days ago

Verified native VM display/discovery checkpoint (2026-10-14): #892 honors displayErrors:false, preserves thrown-error identity and suppresses stack-getter reads; nested decoration remains enabled only where requested and occurs once. Source 57f6260bf, 790 verified evidence artifacts in 4041585dd. Build 56/56, six focused commands and all 14 Node/Home display diagnostic rows passed. Discovery/execution covers all 97 pinned parallel VM files and all seven Bun-specific VM files (104 unchanged files): 234 passing cases, 92 passing process checks, no failures/filtering/retries/crashes. The main VM file retains two upstream skips and 66 TODOs; these receive no completion credit. Script/module leak and concurrent-GC-linking files passed. #891 integration, broader #885 lifetime acceptance, full suite/platform acceptance and independent builds remain open.

14 days ago

Verified mkdir callback checkpoint (2026-10-14): #893 preserves the native first-created path and result-dependent callback arity while retaining the undefined receiver/native request scope. Source ef0bec731, 265 verified evidence artifacts published through e9f65141f. Build 56/56, three focused commands and five exact ordinary Node/Home result rows passed. The 26-file unchanged selection has 47 passing cases and 19 passing process checks, no failures/filtering/retries/TODOs, with two complete-file platform skips (Windows pipes, Linux UCS2) receiving no pass credit. Thrown mkdir callback and directory throw/queued-close traces still differ; #893/#878 remain open. Full suite/platform acceptance and independent builds remain outstanding. Prior VM discovery retains 66 TODOs/two skips and #891 integration remains open.

14 days ago

Pushed 4793b595b to main: app, HTTP client, and WebSocket now test the exact modules they ship across both supported Zig versions and Linux ReleaseFast.

This leaves only media and video in the standalone shipped/test graph audit. It improves network package evidence for Bun parity without claiming corpus completion.

14 days ago

Porting progress pushed directly to origin/main as 5bf57649a.

The five-file video batch ports real parser behavior rather than weakening tests: CEA-608 control/Unicode handling, CEA-708 UTF-8 event ownership, GIF LZW decoding/encoding and quantizer ownership, plus accessibility/H.264 compatibility fixes. Focused tests pass under both the pinned Zig 0.17 toolchain and Zig 0.18.0-dev.146 (13 caption/accessibility tests and the GIF roundtrip; H.264 compiles cleanly).

The full standalone video graph still has unrelated failures, so its build/test-root work is intentionally not claimed or committed yet. Remaining failures will continue in small verified 3–5-file batches.

14 days ago

Pushed d0adb9776 directly to origin/main as the next verified five-file porting batch. Audio FFT, processing, visualization, and AAC code now clears both the pinned Zig 0.17 compiler and Zig 0.18.0-dev.146; focused audio-processing tests pass 5/5 on each. The standalone video graph moved from 41/42 root diagnostics to 33/34 without test weakening.

14 days ago

Porting progress: 2ddb9ff8d is on origin/main, the third verified five-file batch in this run. Scene/quality analysis and AC-3/DTS state initialization now compile under current Zig, all 12 focused analysis tests pass on both tracked toolchains, and PSNR/SSIM reject undersized YUV420 buffers instead of panicking. Remaining standalone video diagnostics are down to 28/29.

14 days ago

Porting progress pushed as 476a876b6: a fourth verified five-file batch migrated Vorbis, H.264, and VP9 state initialization and cleared all diagnostics from those modules on both tracked Zig toolchains. The standalone video graph is down to 23/24 remaining diagnostics.

14 days ago

Pushed the fifth verified five-file batch, 005147fc5. LUT, HDR, ID3, RTP/RTSP/SDP, and timecode now compile and test on both tracked Zig toolchains (21 focused tests), with corrected RTSP wire methods and allocation cleanup. Standalone video diagnostics are down to 18/19.

14 days ago

Video/Zig parity batch pushed: 1ec0f51c6 (fix(video): migrate broadcast and muxing paths (#855)).

Five files, dual-toolchain focused verification at 23/23 tests, and direct origin/main push under Glenn's identity. The batch includes real FastStart/fragmented MP4 regression coverage and SCTE-35 failure-path ownership cleanup. Tracking details are in #855 and #884.

14 days ago

Another direct-main video batch landed as d7a389227 (four files, Glenn identity, no coauthor). The shipped video static library now compiles under both tracked Zig toolchains. Remaining work is test-root migration, tracked in #855 and #884.

14 days ago

Pushed 498551180 directly to main under Glenn's identity (five files, no coauthor). Focused video verification is 27/27 on both Zig toolchains; the unit-root migration is down to four isolated source diagnostics. See #855 and #884.

Sign in to comment on this issue.