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

Source d1843551a now owns ten additional registry modules: crypto, zlib, zlib/iter, promisification and six legacy stream entry points. The explicit ownership list is 90 modules plus the internal test adapter. Home compiles the StringDecoder implementation and factory with an exact linked class-header ABI. Generation rejects duplicate/missing factory includes and source ownership before output.

The original corpus exposed real missing behavior: the generator's keepNames option was in the wrong object; SHAKE's capability export was a false-returning stub; streaming signature requests needed one-shot/key-agreement capability validation. These are fixed. Forced-drain callbacks enter an event-loop scope and nested Debug scopes restore parent state correctly. Pinned zlib getter values survive close/allocation paths. Valid cryptographic operations still execute through the backend.

The complete 193 unchanged original entries validate 1,357 registered passes + 147 process checks, zero failures. 24 registered skips, one TODO, three skipped files and 16 comment-only entries receive no passing credit. All ten native groups pass, including compression buffer lifetime and crypto/compression worker shutdown. ABI 74 tests / 1,220 assertions; Debug 34/34, peak 5,658 MB under 8,192 MB; complete tests 2,383 MB under 3,840 MB. Pickier and scoped formatting/whitespace checks pass.

All 3,785 committed archives verify; all 193 completed reports restore and validate. Initial four-file failures and the repair's remaining key-agreement failure are retained. A direct zlib diagnostic passed before the callback-scope fix; the initial panic is not claimed to reproduce in every context. Every selected test matches the pin. Four pre-existing URL/ICU fixture differences outside this selection are recorded. Unsupported/unapplied Node/V8 metadata flags receive no feature-parity credit. Source bytes remain unchanged across main integration.

This advances #66, #513, #516 and #587. Remaining registry/native dependencies, original pending outcomes, whole-suite and Release/ASAN/all-platform verification stay open.

14 days ago

TypeScript CLI parity batch landed in 0cc5e409475c01fed032f91e00f4990887223536; focused tracker #866 is closed with full evidence.

This removes the fatal config-validation preflight, preserves TypeScript's syntax/options/semantic diagnostic ordering, restores output-sensitive exit statuses, and lets --listFiles, --listFilesOnly, --showConfig, dry build, and normal emit follow the native TS7 phase model. Guarded tests passed and all ten upstream projectOption fixtures match pinned TS7 on roots and exit status.

14 days ago

Docs-integrity follow-up for #836 landed on main in cdb402392 and b09853414: four retained JSON evidence documents no longer expose contributor home paths, and the CI-facing path policy now scans all 190 published Markdown/JSON files with a focused JSON failure control. Hashes, measurements, and raw compressed evidence were not changed.

14 days ago

Pushed TypeScript/Bun-parity slice 8b96e97 directly to main under Glenn's identity (3 files, no coauthors).

It gives CLI module / moduleResolution overrides one effective configuration across validation, resolution, checking, and emit. Focused ts_cli/tsc_main/ts_driver suites passed, a fresh compiler built, and the unchanged upstream NodeModulesSearch/importHigher fixture now reaches the expected TS2322 with valid Node16 overrides. Details are cross-linked in #866 and #846.

14 days ago

TypeScript parity progress landed directly on main in 49fa72e, tracked in #863: finite imported Record key domains now preserve exact string/numeric members and readonly state across barrel, named, namespace, and generic-interface boundaries.

TS6, native TS7/tsgo, and fresh Home agree on the focused positive/negative CLI oracle; checker and Program suites pass; the stripped ReleaseSafe build stayed under the fixed 3,840 MB guard. Full details and the deliberately retained contextual-inference gaps are recorded in /home-lang/home/issues/863#issuecomment-6097631146.

This does not close #66 or claim full Bun/TypeScript/Zod parity.

14 days ago

HTTP/TLS ownership work is in progress on the current native runtime. The graph brings over 22 connected modules (HTTP/HTTPS/HTTP2/TLS plus internals), named-export namespace lowering, scoped Zig factory validation, and native NodeHTTP/NodeTLS implementations. Complete native controls pass 18 groups and the generator/ABI gate passes 81 tests / 1,332 assertions. The initial ordinary corpus covers 892 unchanged files plus a separately budgeted original 4 GiB file; the final ordinary rerun is still running and is not green.

The 10 MiB subprocess/HTTP/stdout pipeline exposed premature process exit and now passes after post-poll microtask work is drained before liveness checks. Batched repairs also clear the expose_gc parser setup, HTTP2 stream async-local storage, per-stream byte accounting and writable/drain behavior. Remaining internal HTTP2/Undici modules and wire/state failures are tracked in #867; incompatible range-error assertions for the same operation are tracked in #868. The runtime is preserving Bun's existing contract rather than adding test-sensitive messages. Broader TLS failures remain open in #532.

The original 4 GiB fixture deliberately allocates a 4 GiB buffer and documents substantial cloning. The usual 3,840 MB test guard cannot contain that workload. A direct pinned Bun control passes with a 12,288 MB budget; the separate Home coordinator requires explicit additional headroom. Those runs, guard stops, seven pre-existing fixture differences, and all failures are being retained. No original assertion, allocation, case deadline, or certificate-expiry validation has been weakened. Final source/evidence publication and counts will follow. Full Bun parity remains incomplete.

14 days ago

Source b2ad7e9cb and verified evidence are on main. Home owns 112 explicit registry modules plus the internal test adapter, adding the complete 22-module HTTP/HTTPS/HTTP2/TLS graph from the pin. Native NodeHTTP and NodeTLS ownership is wired into the selected translation unit with exact header comparisons. Generation supports verified named-export namespaces and scoped Zig factories.

The original 10 MiB subprocess/HTTP/stdout pipeline exposed premature exit before queued nextTick stream work ran. The post-poll drain fixes it without a listener/timer workaround; the unchanged fixture validates the full payload. Real expose_gc aliasing, per-stream async context, stream byte accounting and write-completion ordering clear original parser-GC, async-local-storage, buffer-size and writable/drain failures.

Publication-source checks pass: 18 native groups; 81 ABI tests / 1,332 assertions; Debug 34/34 (5,660 MB peak under 8,192 MB); complete Bun HTTP2 file 287 pass / zero fail / six original skips. Pickier, scoped formatting/whitespace and documentation portability checks pass.

Full-scope verification remains incomplete: the latest combined audit of 893 unchanged original entries reports 709 registered passes + 752 process checks, two registered failures and 69 failing files. 13 skips, 20 TODOs and 22 skipped files receive no passing credit. Remaining internal HTTP2/core/util/Undici modules, binding controls and wire/state behavior are tracked in #867; TLS delivery/CA failures remain open in #532. #868 records mutually exclusive original range-error assertions for the same invalid close operation; Bun's existing message is preserved without filename-sensitive behavior or test edits. Paired pinned Bun and Node return the current bun.sh certificate without an OCSP URI, so that original live-certificate expectation is not credited or fabricated.

The unchanged single-buffer fixture allocates 4 GiB and documents substantial cloning. Its direct pinned Bun control passes at 12,288 MB, and the separate Home corpus coordinator passes at 12,303 MB under an isolated 12,800 MB ceiling with host-pressure protection retained. Ordinary files remain under 3,840 MB. Allocation, assertions and original case deadlines are unchanged. Lower-bound guard stops, disk refusals, incomplete journals, cache-rebuild failures and seven pre-existing fixture differences are retained.

All 11,376 committed archives verify; all 893 authoritative reports restore with their recorded validator outcomes, including failures. Source bytes remain unchanged across main integration. Full-suite and remaining ownership/pending/Release/ASAN/platform parity stay open under #66/#532/#533/#867/#868.

14 days ago

Source 94d3f471b and verified evidence are on main. This batch completes real settings/window state behavior: flow credit is bounded and rebased, negative stream credit survives settings reductions, and connection-window changes do not rewrite stream settings. Each submitted SETTINGS update retains a FIFO snapshot; valid ACKs and callbacks consume the matching update. Custom setting identifiers are encoded, retained and exposed as actual numeric properties, with requested peer custom identifiers filtered. Settings validation is staged before commit. Graceful close waits for outstanding settings work; explicit destroy/transport failure cancels callbacks.

Passing verification: nine unchanged original valid conformance files / nine process checks (zero failures, no skips/TODOs), seven selected native groups, four source-level state tests, and 81 ABI tests / 1,332 assertions. The native regression checks ordered updates, custom settings, independent connection windows and repeated complete transfers. The previously failing original test-http2-session-settings.js now passes. Debug 34/34, peak 5,659 MB under 8,192 MB; conformance peak 175 MB under 3,840 MB. Pickier, formatting/whitespace and documentation portability pass.

All 250 committed archives verify; all nine final reports restore and validate. Initial callback/custom-setting/lifetime failures, failed/superseded builds, archive-packaging failure and disk refusals are retained without passing credit. Verification covers valid exchanges and source-level defensive bounds; adversarial wire reproduction was not performed. This does not establish that the previous 893-entry or complete Bun suite passes, and its previous aggregate failures are not silently subtracted. Remaining internal HTTP2/Undici, wire/state/TLS behavior, conflicting original assertions (#868), and whole-suite/Release/ASAN/platform verification remain open under #66/#867.

14 days ago

Readline/terminal/performance checkpoint (2026-10-10): source 7abdd14bd and verified evidence. Home owns 118 registry modules plus the test adapter, adding six connected modules and four native histogram/TTY sources. Both host and final Home ABI gates pass 89 tests / 1,406 assertions; seven native groups and Debug 34/34 pass. 31 unchanged originals: 130 registered passes plus 24 process checks, zero failures, skips or TODOs, including full readline harness, TTY, histogram, actual delay sampling and net/HTTP observers. 384 committed archives verify and 31 reports restore. Build peak 5,876 MB under 8,192 MB, conformance 203 MB and Home ABI 489 MB under 3,840 MB. The earlier TERM=dumb run retains 25 failures/seven skipped files; capable-terminal execution clears them without assertion or deadline changes. Earlier compiler/host-capture failures, outer timeout and disk refusal remain without credit. #869 tracks real performance counters/resource timing/independent delay monitors. Complete-suite parity, remaining module/native ownership and Release/ASAN/all-platform scope remain unfinished.

14 days ago

VM/inspector ownership checkpoint (2026-10-10): source 5808f4149 and verified evidence. Home owns 125 registry modules plus the internal test adapter, adding seven modules and six native VM/profiler sources. All 20 selected implementation/header files match the Bun pin exactly. 77 unchanged original files: 62 registered passes plus 70 process checks, zero failures, skips or TODOs cover ordinary context/module state, cached scripts, async graphs, source URLs, profiler structure, serialization and console behavior. Both host and final Home ABI gates pass 101 tests / 1,512 assertions; seven native groups and Debug 34/34 pass. Build peak 5,658 MB under 8,192 MB; Home ABI 412 MB, original runs 219/185 MB under 3,840 MB. 447 committed archives verify and 77 reports restore. Disk refusals receive no credit; obsolete cache cleanup retains newest objects and invalidates discarded-output manifests. Ownership does not complete pinned stubs: inspector lifecycle remains #428, real per-context VM memory accounting is #870, and tracing/REPL, remaining module/native ownership, complete suite and Release/ASAN/all-platform verification remain open.

14 days ago

Adapters/cluster/assert and abort propagation checkpoint (2026-10-10): source 9a78bf246 and verified evidence. Home owns 143 registry modules plus the test adapter, adding eighteen connected modules, NodeFetch/Undici factories and native event registration/dispatch/removal. 25/28 selected implementation/header files match the pin; three native sources implement propagation resistance with unchanged linked layouts. The original abort-listener process initially failed its mustCall check despite seven reported passing cases. Native registration-level resistance now clears that failure; once/removal/destruction cleanup and ordinary DOM propagation remain verified. 56 unchanged originals: 279 registered passes plus 31 process checks, zero failures, skips or TODOs. Eight native groups, final Home ABI 111 tests / 1,637 assertions and Debug 34/34 pass. Build peak 5,641 MB under 8,192 MB; ABI 403 MB, original runs 242/175 MB under 3,840 MB. 638 committed archives verify and 56 reports restore. Earlier process/manifest/compile failures and interrupted gates remain without final credit. This batch edits no fixtures/assertions/deadlines. Cluster SCHED_NONE remains #431; imported Node internal-Undici/HTTP2 remains #867. Remaining registry/native dependencies, complete suite and Release/ASAN/all-platform verification remain unfinished.

14 days ago

SQL/SQLite/FFI checkpoint (2026-10-10): source 03cea9c8f and verified evidence. Home owns 152 registry modules plus the test adapter, adding the nine-module SQL/SQLite/FFI graph, standalone SQLite statement object and native FFI class. All 15 selected implementation/header files match the Bun pin exactly, with complete class-header ABI/cache validation. Obsolete filename-based corpus bypass is removed; VM-service files now retain full-VM coordinator journals, and explicit child native dispatch remains intact. Nine unchanged originals: 488 passes, zero failures, 10 upstream skips, no TODOs cover SQLite/query/URL, helper and environment validation, column/timezone behavior and FFI compilation/error/view-source behavior. Eight native groups, final Home ABI 114 tests / 1,785 assertions and Debug 35/35 pass. Build peak 5,641 MB under 8,192 MB; ABI 482 MB, original run 793 MB under 3,840 MB. 161 committed archives verify and nine reports restore. Earlier missing-journal attempts, disk stops/refusals and the test-side environment mistake receive no final passing credit. Assertions, fixtures and original deadlines are unchanged. Skips are not feature credit; #205 remains open for the wider SQL corpus and live PostgreSQL/MySQL behavior. Wider FFI, remaining registry/native dependencies, complete suite and Release/ASAN/all-platform verification remain unfinished.

14 days ago

Complete pinned JS registry ownership checkpoint (2026-10-10): source 089c4b281 and verified evidence. Home owns 157/157 pinned JS registry modules, zero missing/extra identities, plus the separately verified test adapter. Generation now rejects omissions/extras/duplicate identities before output, with a future-identity drift regression. This batch adds five modules and native X509 implementation/constructor/prototype ownership. 10/11 selected implementation/header files match the pin; WASI's buffer-identity refresh fixes stale writes after replacing WebAssembly.Memory. The valid native regression verifies hello-world wasm, arguments/environment, unchanged previous memory and growth. Nine unchanged originals: 22 registered passes plus six process checks, zero failures/skips/TODOs, and nine native groups pass. Full ABI: 122 tests / 1,856 assertions, peak 494 MB; its binary predates the one-line WASI repair, so final-binary generation/grammar/inventory controls additionally pass two tests / 596 assertions. Repaired Debug 35/35, peak 5,646 MB under 8,192 MB; final originals 279 MB under 3,840 MB. 128 committed archives verify and nine reports restore; initial WASI failure remains without passing credit. Registry ownership is not full API/native parity: actual async-frame semantics remain #871, and broader WASI/debugger/HTML, other native/API gaps, complete suite and Release/ASAN/all-platform verification remain unfinished.

14 days ago

AsyncLocalStorage lifecycle checkpoint (2026-10-10): source a3f36dcd0 and verified evidence. run() restores the actual outer context snapshot even when callbacks disable storage or replace context; exit() preserves disabled status and other storage instances. Callback validation precedes state mutation. The previous binary crashes after disable within run and fails the first-disabled-run store-leak regression; the repaired baseline matches local Node lifecycle rows. 14 unchanged originals: 37 registered passes plus ten process checks, zero failures/skips, two upstream TODOs; ten native groups, final generation/inventory controls two tests / 596 assertions, Debug 35/35 pass. Build peak 5,645 MB under 8,192 MB, originals 185 MB under 3,840 MB. 108 committed archives verify and 14 reports restore. Node async-hooks mode passes the native control; its newer frame mode retains captured stores after disable, so that backend distinction is recorded without universal parity claims. Original assertions/fixtures/deadlines are unchanged. TODOs are not passing credit. Actual frame materialization remains #871; createHook/native API gaps, complete suite and Release/ASAN/all-platform verification remain unfinished.

14 days ago

Async exit continuation checkpoint (2026-10-10): source b3583cb7f and verified evidence. exit() now removes its own storage entry from the context captured during its callback, preserving other stores and restoring the outer context afterward. The previous verified binary fails a valid promise continuation assertion; the repaired binary and Node control pass promises, nextTick and timers. Native captured wrappers also always take the unwrapping path before callable-data lookup, even if tracking is disabled. 14 unchanged originals: 37 passes plus ten process checks, zero failures/skips, two upstream TODOs; eleven native groups, generation/inventory two tests / 596 assertions and Debug 35/35 pass. Build peak 5,642 MB under 8,192 MB, originals 175 MB under 3,840 MB. 196 committed archives verify and 14 reports restore. Assertions/fixtures/deadlines remain unchanged. The attempted Map-frame integration still terminates natively and is not shipped; its source/failure evidence is retained, and the wrapper guard is not claimed to resolve that termination. Actual frame materialization remains #871. TODOs, createHook/native API gaps, complete suite and Release/ASAN/all-platform scope remain unfinished.

14 days ago

Independent performance monitor checkpoint (2026-10-10): source 42af1d45e and verified evidence. Each delay monitor now has its own histogram/state/resolution and native timer record. Passive JSC weak handles, collection sweeps and VM/isolation/worker cleanup replace singleton raw ownership; native Weak is Home-owned. Actual elapsed intervals start on enable and samples persist across re-enable. int64 resolution transport preserves safe-integer validation; clearResourceTimings forwards to the native API. Final native checks cover isolation, data retention, maximum resolution, process drain and worker shutdown; strict isolated collection checks require all twenty enabled monitors to collect at both short and maximum resolutions. Eight unchanged originals: 48 passes plus four process checks, zero failures/skips/TODOs; twelve native groups, generation/ownership three tests / 607 assertions and Debug 35/35 pass. Build peak 5,641 MB under 8,192 MB; generation 364 MB, originals 202 MB under 3,840 MB. 145 committed archives verify and eight reports restore. Initial singleton/compile failures and combined-scope collection failures remain retained without final credit; isolated controls collected all targets. Original assertions/fixtures/deadlines are unchanged. #869 remains open for real utilization/startup counters and complete resource/observer behavior. Other native/API gaps, complete suite and Release/ASAN/all-platform parity remain unfinished.

14 days ago

Native factory/Buffer/dispatch ownership checkpoint (2026-10-10): source ca7e63ce4 and verified evidence. All twelve linked native factory headers now execute from Home copies, with complete missing/duplicate inventory and unknown-header rejection. Home owns standalone Buffer, encoding/list helpers, terminal/object-module sources and JS2Native dispatch; the native module unity is fully owned. Dispatch bodies/signatures/IDs remain byte-identical while factory includes share the same owned headers. 21/23 selected files match the pin; the differences preserve existing Home transcode and declare linked typed-array ClassInfo instantiation. 30 unchanged ordinary originals: 106 passes plus 24 process checks, zero failures/skips/TODOs; thirteen native groups, ownership/grammar 25 tests / 803 assertions and Debug 36/36 pass. Build peak 5,653 MB under 8,192 MB; ownership 368 MB, original conformance 2,109 MB under 3,840 MB. 222 committed archives verify and 30 reports restore. Earlier unit/path/deadline, duplicate declaration, include-path and template failures remain without final credit. Original assertions/fixtures/deadlines are unchanged. This establishes source/factory execution ownership and ordinary conformance; remaining Buffer/native/API behavior, complete suite and Release/ASAN/all-platform parity remain unfinished.

14 days ago

Process binding/OS contracts checkpoint (2026-10-10, broad scope retains failure): source f8068cbf0 and verified evidence. Six native bindings execute from Home, including standalone constants/UV; 12/12 selected source/header files match the pin with exact ABI/cache validation. Config reports actual backend FIPS/pointer width and config/X509 bindings retain private per-process identity. OS priority validates types/ranges before system calls and normalizes permission diagnostics; userInfo reads actual libuv account data, propagates option getters and supports buffer encoding. Initial priority/getter original failures are cleared. Fourteen original files: 167 passes plus nine process checks, one registered failure/one failed file, one skip, three TODOs and one skipped file. The sole failure is the legacy ICU-unsupported assertion tracked by #872; actual ICU functionality is retained, with no filename-conditioned behavior or assertion edits. Fourteen native groups, changed ownership/ABI 14 tests / 718 assertions and Debug 38/38 pass. Build peak 5,653 MB under 8,192 MB; ownership 409 MB, originals 210 MB under 3,840 MB. 211 committed archives verify and 14 reports restore their recorded outcomes, including the failure. Compile/producer failures remain without passing credit. Broader process/OS/binding stubs, ICU expectation reconciliation, complete suite and Release/ASAN/all-platform parity remain unfinished.

14 days ago

Histogram validation/BigInt checkpoint (2026-10-10): source 8b7cad010 and verified evidence. Construction validates object/integer/range/precision options, compares bounds exactly and preserves BigInt values into native int64 transport. Immediate and heap BigInts are supported. Four unchanged original files: 60 passes, zero failures/skips/TODOs; 14 native regression groups; nine ABI/ownership tests and 680 assertions; 38/38 Debug build steps. All 53 committed archive hashes and four restored original reports validate. Existing pinned exact extrema/BigInt-percentile semantics are preserved; the Node control's differing HDR bucket extrema are documented. Measured utilization/startup counters and full resource/observer semantics remain open in #869. The previous broad process failure #872, full Bun suite and Release/ASAN/all-platform verification remain open.

14 days ago

Histogram recording checkpoint (2026-10-10): source dddd41ce9 and verified evidence. Records validate finite integer safe-range Numbers and positive signed-int64 BigInts before conversion. Rejected values leave counters unchanged; valid samples above configured range increment exceeds. Public constructor conversion handles immediate/heap BigInts. Four unchanged original performance files: 60 passes, zero failures/skips/TODOs; 14 native regression groups; nine ABI/ownership tests with 680 assertions; 38/38 Debug build steps. All 52 committed archives and four restored reports validate. The initial missing-template link failure is retained; the final implementation uses explicit checks. Direct constructor validation and broader performance semantics remain open in #869; earlier #872, full Bun-suite parity and Release/ASAN/all-platform verification remain open.

14 days ago

Native polling/loop ownership checkpoint (2026-10-10): ownership da012d086, platform selection accadac96 and verified evidence. POSIX polling and socket loop lifecycle compile from Home, excluding external objects. Both implementations and two ABI headers match the pin, with selected compiler/header roots, byte-identical ABI/cache checks and explicit C selection. Restored pinned behavior includes connect-error propagation and half-open polling. Five unchanged files: 80 passes, zero failures/skips/TODOs; 15 native regression groups including ordinary FIN/half-open closure; nine ABI tests/680 assertions; four Zig build-support tests; 42/42 Debug steps. All 115 committed archives and five restored reports validate. Disk refusal/terminal cache cleanup remain visible. This prepares the actual kernel-wait boundary; utilization/startup counters remain unimplemented in #869. Windows/libuv ownership, Linux execution, broader native/API behavior, #872, full Bun-suite and Release/ASAN/all-platform verification remain open.

14 days ago

Measured POSIX event-loop utilization checkpoint (2026-10-10): source a63446494 and verified evidence. Per-loop thread-local monotonic counters measure actual kernel waits, keep callback time active and release state at loop teardown. The new factory uses the validated boundary after Bun's pinned dispatcher, preserving existing IDs/layouts. Cumulative counters, one-/two-snapshot subtraction and worker-local measurements pass. Five unchanged files: 80 passes, zero failures/skips/TODOs; 15 native regression groups; ten ABI tests/684 assertions; 42/42 Debug steps. All 113 committed archives and five restored reports validate. Initial compile failures remain, and all runtime scopes were rerun after the final executable hash changed. Windows libuv measurement is explicitly incomplete; Linux execution, startup milestones, full resource/observer behavior remain open in #869. The prior #872, complete Bun suite, remaining native/API ownership and Release/ASAN/all-platform verification remain open.

14 days ago

Measured startup/node timing checkpoint (2026-10-10): source 5a45ba39b and verified evidence. Actual VM engine/environment/bootstrap/loop-entry/exit events are recorded relative to performance origin; v8Start names Home's JSC startup compatibility field. Live getters preserve measured idle time. Direct PerformanceEntry inheritance retains getters/toJSON; natural and explicit exit record timing before callbacks. Five unchanged files: 80 passes, zero failures/skips/TODOs; 15 native regression groups; ten ABI tests/684 assertions; 42/42 Debug steps. All 115 committed archive hashes and five restored reports validate. Initial prototype/brand failure and disk refusals remain; final verification reran after terminal executable cleanup with guards unchanged. Wider standalone/Bake/worker milestones, Windows idle measurement, Linux execution and full resource/observer behavior remain open in #869. #872, full Bun suite, remaining native/API ownership and Release/ASAN/all-platform verification remain open.

14 days ago

Performance observer queue/lifecycle checkpoint (2026-10-10): source 8b4b1cced and verified evidence. Mixed native/Node entries share a delivery queue; takeRecords drains both chronologically, callback receiver/owner identity is preserved, subscriptions validate before Node registry mutation, and disconnect invalidates queued data across re-observation. Nine unchanged files: 81 passes plus three process checks, zero failures/skips/TODOs; 16 native regression groups; ten ABI tests/684 assertions; 42/42 Debug steps. Final test-only net/mark coalescing assertions were rerun separately on the same executable and passed in Node/Home. All 84 committed archives and nine restored reports validate. Full resource construction/buffering, supported-type breadth, entry-list branding and remaining option/error semantics stay open in #869. Windows/Linux/wider startup coverage, #872, remaining native/API ownership, complete Bun suite and Release/ASAN/all-platform verification remain open.

14 days ago

Branded performance observer entry-list checkpoint (2026-10-10): source affc7caaa and verified evidence. Node callbacks return actual exported PerformanceObserverEntryList instances with privately owned sorted buffers, native construction/receiver error codes, matching signatures, missing-argument checks, string coercion, nullish type filtering and copied arrays. Nine unchanged files: 81 passes plus three process checks, zero failures/skips/TODOs; 16 native groups; ten ABI tests/684 assertions; 42/42 Debug steps. All 88 committed archives and nine restored reports validate. The initial mistaken Node signature assertion and disk refusals remain; final checks follow terminal task-cache cleanup with guards unchanged. Full resource creation/buffering, supported-type breadth, inspection/global-constructor interactions and remaining option/error semantics stay open in #869. Windows/Linux/wider startup coverage, #872, remaining native/API ownership, complete Bun suite and Release/ASAN/all-platform verification remain open.

14 days ago

Node resource timing/buffer checkpoint (2026-10-10): source 456552ef6 and verified evidence. Node resource entries expose live timing/body/cache/status/delivery data; queries, clearing, buffered observation, overflow recovery and listener/property handlers use the shared registry. Three WebCore resource/metrics implementations compile from Home, replacing external objects; eight selected implementation/header files match the pin with ABI/cache validation. Nine unchanged files: 81 passes plus three process checks, zero failures/skips/TODOs; 17 native groups; ten ABI tests/684 assertions; four Zig build-support tests; 48/48 Debug steps. All 88 committed archives and nine restored reports validate. Global WebCore creation/overflow and automatic fetch do not yet share the Node timeline; #873 tracks completion. Further arguments/selective clearing/native base-class interactions and broader performance semantics remain in #869. Windows/Linux/wider startup coverage, #872, remaining native/API ownership, complete Bun suite and Release/ASAN/all-platform verification remain open.

14 days ago

Shared global/Node resource checkpoint (2026-10-10, scope retains failure): source cc2d9c356 and verified evidence. Global/Node creation, constructors, queries, clearing/resizing and observers share entry identity and timeline state. The full pinned global-object implementation and JSPerformance now compile from Home, excluding external objects; constructor modules initialize at bootstrap/test-realm setup. A boolean weak sweep and noinline sample frame repair conservative retention without relaxing the lifetime assertion. Final seven unchanged files: 60 passes plus three process checks, one registered failure/one failed file, no skips/TODOs; 18 ordinary native groups; ten ABI tests/684 assertions; four Zig tests; 52/52 Debug steps. All 373 committed archives and seven restored reports validate, including the failure. #874 tracks the legacy zero-argument no-op assertion. A prior Deno SIGTRAP and a historical web constructor regression remain unverified/excluded after static corrections; no passing credit is assigned to those files. Initial compile/stale-binary/constructor/lifetime failures and disk refusal remain visible. Automatic fetch and remaining interoperability stay open in #873/#869; #872, full Bun suite and Release/ASAN/all-platform verification remain open.

14 days ago

Automatic HTTP/1 fetch resource checkpoint (2026-10-10, corpus retains failure): source 42ef6e765 and verified evidence. HTTP-thread snapshots measure request preparation, first response header data, transport completion and encoded bytes; tasklets accumulate decoded delivered bytes and publish once into the shared global/Node timeline. Valid local plain/stream/gzip/canceled-body controls pass with observer identity and sizes. 19 native groups; ten ABI tests/684 assertions; four Zig tests; 52/52 Debug steps. Final seven unchanged files retain 60 passes plus three process checks and one registered failure/one failed file (#874), no skips/TODOs. All 143 committed archives and seven restored reports validate, including the failure. HTTP/2/3, DNS/TLS/connection phases, complete redirect/informational timings, failed requests, data/file schemes and partial-consumption accounting remain open in #873/#869; missing timestamps are not fabricated. Previously excluded regression files remain unverified and were not rerun. Initial compile diagnostics/disk refusals remain; full Bun suite, #872 and Release/ASAN/all-platform coverage remain open under #66.

14 days ago

Fetch response-phase/cork checkpoint (2026-10-10, corpus retains failure): source 4652005a4 and verified evidence. HTTP/1 snapshots distinguish first interim response from final headers, preserve redirect interval/final-hop start and keep one original-URL entry. A valid reuse control traced suppressed early hints to unmatched request corking; the Node adapter now uncorks its own request cork on the next tick. The ineffective ended-bit attempt is removed. 19 native groups; ten ABI tests/684 assertions; four Zig tests; 52/52 Debug steps. Seven unchanged files retain 60 passes plus three process checks and one registered failure/failed file (#874), no skips/TODOs. All 99 committed archives and seven restored reports validate, including the failure. Initial failed controls and disk refusal remain. Complete cross-origin/redirect/protocol exposure, DNS/TLS/connection phases, HTTP/2/3, failure/data/file cases and partial-consumption accounting remain open in #873/#869. Previously excluded regression files remain unverified and were not rerun; full Bun suite, #872 and Release/ASAN/all-platform coverage remain open.

14 days ago

Fresh TCP/TLS fetch phase checkpoint (2026-10-10, corpus retains failure): source 7f0eb8a88 and verified evidence. Direct connect creation/open and TLS handshake callbacks publish measured connect-start/end and secure-start fields. Pooled requests leave new handshake fields unset; proxy/unix paths are not mislabeled. Valid fresh/pooled TCP and trusted local TLS controls pass. 20 native groups; ten ABI tests/684 assertions; four Zig tests; 52/52 Debug steps. Seven unchanged files retain 60 passes plus three process checks and one registered failure/failed file (#874), no skips/TODOs. All 76 committed archives and seven restored reports validate, including the failure. Initial wrong-CA/unnormalized-URL control failures remain; final verification uses the issuing CA without bypass. DNS, proxy/unix, protocol/ALPN, HTTP/2/3, complete redirect/cross-origin, failure/data/file and partial-consumption coverage remain open in #873/#869. Excluded regression files remain unverified; full Bun suite, #872 and Release/ASAN/all-platform coverage remain open.

14 days ago

Fetch DNS/negotiated protocol checkpoint (2026-10-10, corpus retains failure): source 2dd946c6a and verified evidence. Resolver requests record monotonic lookup timestamps; the owned connector notifies typed HTTP owners at resolution, and TLS snapshots copy actual negotiated ALPN bytes. Usockets context.c uses exact qualified source selection, avoiding unrelated vendor basenames. Valid local lookup and trusted TLS-listener ALPN controls pass. 20 native groups; ten ABI tests/684 assertions; five Zig tests; 54/54 Debug steps. Seven unchanged files retain 60 passes plus three process checks and one registered failure/failed file (#874), no skips/TODOs. All 79 committed archives and seven restored reports validate, including the failure. #875 tracks HTTPS server ALPN option forwarding; absence of negotiation remains unset. DNS cache/coalescing/cross-thread and synchronous-cache edges, proxy/unix/other protocols remain in #873/#869. Excluded regression files remain unverified; full Bun suite, #872 and Release/ASAN/all-platform coverage remain open.

14 days ago

HTTPS static ALPN checkpoint (2026-10-10, corpus retains failure): selector 264bf4d93, forwarding d21ce2d58 and verified evidence. HTTPS options now preserve ALPNProtocols and normalize array/buffer forms; the HTTP SSL_CTX selector reads server-owned config. Valid list preference, encoded buffer and reused-connection controls negotiate real HTTP/1.1 with certificate verification enabled. 20 native groups; ten ABI tests/684 assertions; five Zig tests; 54/54 Debug steps. Seven unchanged files retain 60 passes plus three process checks and one registered failure/failed file (#874), no skips/TODOs. All 75 committed archives and seven restored reports validate, including the failure. The initial namespace compile error remains. #875/#532 remain open for dynamic callbacks, SNI handoff, reload, encoding/length edges and wider lifetime/platform coverage. Excluded regression files remain unverified; full Bun suite, #872 and Release/ASAN/all-platform coverage remain open.

14 days ago

Binary ALPN/static SNI checkpoint (2026-10-10, corpus retains failure): source c3dd1b308 and verified evidence. TLS config owns explicit-length ALPN bytes through clone/free/transfer/equality/hash and socket consumers. HTTP selectors reference each retained context's config, including registered SNI contexts. Valid binary IDs, caller-buffer mutation, preference/context-content discrimination and trusted SNI controls pass. 21 native groups; ten ABI tests/684 assertions; five Zig tests; 54/54 Debug steps. Seven unchanged files retain 60 passes plus three process checks and one registered failure/failed file (#874), no skips/TODOs. All 76 committed archives and seven restored reports validate, including the failure. Initial string-conversion compile failure remains. #875/#532 remain open for dynamic callbacks/SNI handoff, reload, malformed-list validation and wider lifetime/platform coverage. Excluded regression files remain unverified; full Bun suite, #872 and Release/ASAN/all-platform coverage remain open.

14 days ago

ALPN callback argument/selection checkpoint (2026-10-10, partial compatibility): source 1f8514300 and verified evidence. Protected HTTPS callbacks now receive SNI and offered protocols and select an actually offered protocol through default/registered SNI contexts. Trusted repeated handshakes and HTTP requests pass, along with the valid argument/selection Node reference control. 22 native groups; ten ABI tests/684 assertions; five Zig tests; 54/54 Debug steps. Seven unchanged files retain 60 passes plus three process checks and one registered failure/failed file (#874), no skips/TODOs. All 84 committed archives and seven restored reports validate, including the failure.

Accepted-TLSSocket receiver compatibility remains incomplete: the user callback currently receives undefined as its receiver. The earlier server-receiver expectation was incorrect and was removed after checking Node; receiver parity is not claimed. #875/#532 stay open for this bridge, exact constructor validation timing, error/shutdown/reentrancy behavior, reload/reconfiguration, encoding and platform coverage. Initial host-memory stop, disk refusal, terminal cleanup and failed portability/validation/receiver controls are retained. Excluded regression files remain unverified; full Bun suite, #872 and Release/ASAN/all-platform coverage remain open under #66.

14 days ago

ALPN wire/corpus-filter checkpoint (2026-10-10): ALPN 9ec6ebcd6, filters efde19005, and verified evidence. HTTPS and tls.Server callback names decode as ASCII; native selection preserves the first matching offered wire bytes by offset, including valid byte aliases. Negotiated protocol getters use Latin-1. HTTPS constructor acceptance matches Node's deferred type-validation phase; later accepted-socket validation remains open. The complete ordinary trusted ALPN control passes on Node and Home. Corpus dispatch now forwards every supported name-filter alias across file/multiple-file/directory/subset routes; ordinary execution controls verify excluded bodies do not run.

22 native groups; ten ABI tests/684 assertions; five Zig tests; 54/54 Debug steps. Seven unchanged files retain 60 passes plus three process checks and one registered failure/failed file (#874), no skips/TODOs. All 176 committed archives and 16 restored reports validate against retained outcomes, including the existing failure and filtered-report rejection; final source hashes match committed bytes.

The additional original TLS selection receives no validated coverage credit. Initially the lost filter ran all 38 cases. After forwarding, one case passes and 37 are filtered, but JUnit represents them as skips while process counters report zero intentional skips. The strict validator still rejects that discrepancy. #876 tracks filtered-case accounting and remaining corpus CLI options; #481 documents direct native CLI work. #875/#532 remain open for HTTPS accepted-TLSSocket receiver, callback error/lifecycle and reload compatibility. Initial failures, disk refusal, cleanup and existing style/format findings are retained. Excluded regressions remain unverified; full Bun suite, #872 and Release/ASAN/all-platform coverage remain open under #66.

14 days ago

Native case-provenance/options checkpoint (2026-10-10): source ce78f49fd and verified evidence. Native metadata records each emitted JUnit entry's identity, ordinal, result and role. Journals retain its hash; validation checks exact correspondence with public JUnit and process counters. Filtered, skipped, TODO and failed retry-attempt records remain distinct and receive no passing-case credit. Public JUnit preserves the pinned format, including separate retry entries. Metadata is bound to the requested output path so nested reporters preserve parent evidence.

Corpus dispatch now forwards retry, rerun-each and timeout values. Explicit timeouts take precedence over the CI launch default. Ordinary mixed-outcome/retry/repeat/deadline controls pass, as do the unchanged original valid TLS callback and retry-reporter selections with strict evidence validation. 23 native groups; 28 validator controls; 54/54 Debug steps. Across nine selected original files: 62 passes plus three process checks, one failure/failed file (#874), 40 filtered cases, zero skips/TODOs. All 333 committed archives, nine restored original reports and 32 owned report controls validate against retained outcomes; source hashes match committed bytes. This is selected coverage and retains a failure.

#876 stays open for suite-wide shard/bail/concurrency/coverage, remaining options and broader config/cwd/platform semantics. #875/#532 retain HTTPS accepted-socket receiver and lifecycle gaps. Initial fixture/compile diagnostics, the profile-timeout override, disk stop and cleanup remain visible. Intermediate XML changes were discarded before publication to preserve the pin. Excluded regressions remain unverified; full Bun suite, #872 and Release/ASAN/all-platform coverage remain open under #66.

14 days ago

Coordinated native suite checkpoint (2026-10-10): source 05bff8757 and verified evidence. Suite-wide shard/bail/randomization/concurrency/coverage options route common-root registered corpus suites through one native invocation. Shard partitions and seeded order match direct native execution; global bail stops later bodies, concurrent tests preserve shared realm across files, and coverage includes the exercised helper. Native option parsing distinguishes file positionals from option values before corpus path rewriting.

Suite journals retain one invocation and a hashed source inventory separately from observed cases, with source hashes checked after execution. Native terminal counters allow strict bail reporting without a normal console summary. Excluded and bail-stopped inventory entries receive no passing credit. Public JUnit retains the pinned format. 24 native groups; 31 validator controls; 54/54 Debug steps. Nine original selected files retain 62 passes plus three process checks, one failure/failed file (#874), 40 filtered cases, zero skips/TODOs. All 286 committed archives and 39 restored reports validate against retained outcomes, including expected failures; source hashes match committed bytes. This is selected coverage and retains a failure.

#876 stays open for mixed roots/targets, prepared subset/vendor integration, script-mode, parallel/isolate/changed options, reporter overrides and broader config/cwd/platform semantics. #875/#532 retain HTTPS receiver and lifecycle gaps. Initial validator/compiler diagnostics remain visible. Excluded regressions remain unverified; full Bun suite, #872 and Release/ASAN/all-platform coverage remain open under #66.

14 days ago

Isolation/parallel provenance checkpoint (2026-10-10): source 424f1c6ae and verified evidence. Isolation/parallel options use coordinated corpus execution. Worker IPC pairs metadata with JUnit fragments, propagates retry-attempt deltas and preserves aggregate order. Metadata ordinals are reindexed to the merged JUnit sequence with coordinator terminal counters. Missing/incomplete fragments remain unvalidated. Empty workers no longer announce nonexistent JUnit paths; capture options preserve trailing option/value pairs. Public JUnit remains unchanged.

Ordinary controls pass for fresh realms, mixed parallel retry/filter/skip/TODO outcomes, parallel coverage and empty modules without invented case credit. 24 native groups; 31 validator controls; 54/54 recovered Debug steps. Nine selected original files retain 62 passes plus three process checks, one failure/failed file (#874), 40 filtered cases and zero skips/TODOs. All 453 committed archives and 49 restored reports validate against retained outcomes; source hashes match committed bytes. Initial option-placement/empty-worker failures, disk stops/refusals and derived-cache cleanup remain visible; guard limits were preserved.

#876 stays open for worker crash/signal/respawn/early-bail paths, changed/reporter options, mixed roots, prepared plan/vendor/script-mode integration and broader config/cwd/platform verification. #875/#532 retain HTTPS receiver/lifecycle gaps. Excluded regressions remain unverified; full Bun suite, #872 and Release/ASAN/all-platform coverage remain open under #66.

14 days ago

Reporter/changed-selection checkpoint (2026-10-10): source 5088d7472 and verified evidence. Corpus capture has an internal report output option independent of public reporter/outfile flags. Ordinary public dots/JUnit and parallel public JUnit controls validate alongside internal evidence; native case collection feeds both outputs. Changed-file options use coordinated execution: a tracked dependency change selects the affected test like direct native execution, while a clean Git state runs no bodies and receives zero passing-case credit.

24 native groups; 31 validator controls; 54/54 Debug steps. Nine original selected files retain 62 passes plus three process checks, one failure/failed file (#874), 40 filtered cases and zero skips/TODOs. All 420 committed archives and 59 restored reports validate against retained outcomes; source hashes match committed bytes. Initial cache/compile diagnostics and disk-admission refusals/cleanup remain visible. Original assertions and snapshots are unchanged; guard limits were preserved.

#876 stays open for broader reporter/empty-output/config combinations, watch/Git edge cases, mixed roots, prepared plan/vendor/script-mode integration, worker lifecycle and all-platform verification. #875/#532 retain HTTPS receiver/lifecycle gaps. Excluded regressions remain unverified; full Bun suite, #872 and Release/ASAN/all-platform coverage remain open under #66.

14 days ago

Explicit corpus context checkpoint (2026-10-10): source f82d339db and verified evidence. Explicit --config/-c and --cwd retain caller execution context, relative configuration/preloads and the effective case-source base. Short optional flags retain attached values such as -c=./file. A clean changed-selection run keeps internal terminal metadata without creating an empty public JUnit document. Suite source inventory preserves sentinel allocation ownership.

24 native groups; 32 validator controls; 54/54 Debug steps. Nine original selected files retain 62 passes plus three process checks, one failure/failed file (#874), 40 filtered cases and zero skips/TODOs. All 590 committed artifacts and 69 restored report outcomes validate; source hashes match committed bytes. Failure and incomplete-journal controls retain their expected outcomes. Initial configuration/disk, fixture-hash and short-config failures remain visible. Original assertions and snapshots are unchanged.

#876 remains open for broader config/preload provenance and combinations, mixed roots, prepared plan/vendor/script-mode integration, watch/Git edge cases, worker lifecycle and all-platform verification. #875/#532 retain HTTPS receiver/lifecycle gaps. Excluded regressions remain unverified; full Bun suite, #872 and Release/ASAN/all-platform coverage remain open under #66.

14 days ago

Corpus target resolution checkpoint (2026-10-10): source 01b1d7fa8 and verified evidence. Coordinated suite inventories resolve relative targets from the effective native cwd. Canonical cwd/root paths identify actual sources across dot and symlink aliases. Absolute and relative spellings of a common root work together; overlapping directory/file selection retains native deduplication and one inventory entry per canonical source. Direct native controls verify these routes while native execution preserves the requested symlink cwd spelling.

24 native groups verified across the batch and corrected suite; 32 validator controls; 54/54 Debug steps. Twenty-three native groups passed initially; the suite passed after correcting a symlink-cwd fixture expectation, with 26 reports. All 621 committed artifacts and 97 restored report outcomes validate; source hashes match committed bytes. Nine original selected files retain 62 passes plus three process checks, one failure/failed file (#874), 40 filtered cases and zero skips/TODOs. Original assertions and snapshots are unchanged. Initial failures, incomplete negative controls and terminal-only derived-cache cleanup remain visible. Root Pickier refused the generated file count; targeted Pickier passes.

#876 remains open for distinct roots/mixed targets, broader config/preload provenance, prepared plan/vendor/script-mode integration, worker lifecycle, watch/Git edges and all-platform verification. HTTPS receiver/lifecycle remain open in #875/#532. Excluded regressions remain unverified; full Bun suite, #872 and Release/ASAN/all-platform coverage remain open under #66.

14 days ago

Observer queue/identity checkpoint (2026-10-10): source 83bf169b7 and verified evidence. Replacing mixed mark/resource observation with resource-only registration drains pending native entries before disconnecting native observation. Queued entries remain available through takeRecords() or the coalesced callback; subsequent excluded marks stay excluded. Supported entry types use one frozen sorted array with stable identity. Queue, callback, disconnect and repeated buffered-resource controls pass under Node and the built Home runtime, following the Node observer reference.

24 native groups; 32 validator controls; 54/54 Debug steps. All 358 committed artifacts and 51 restored report outcomes validate; source hashes match committed bytes. Nine original selected files retain 62 passes plus three process checks, one failure/failed file (#874), 40 filtered cases and zero skips/TODOs. Assertions and snapshots are unchanged. The pre-fix identity failure, admission refusals and cache cleanup remain visible; guards were preserved. Pickier reports zero errors and one existing quote-style warning.

Wider observer options/coercion/inspection, native base-class semantics, missing producers and platform/performance corpus verification remain open in #869/#873. Corpus integration remains in #876; HTTPS receiver/lifecycle remain in #875/#532. Excluded regressions remain unverified; full Bun suite, #872 and Release/ASAN/all-platform verification remain open under #66.

14 days ago

Node entry class checkpoint (2026-10-10): source e50b4c942 and verified evidence. Net and HTTP performance producers create privately branded PerformanceNodeEntry instances inheriting from global PerformanceEntry, preserving measured start/duration and merged request/response details. Read-only getters, receiver validation, fresh JSON objects with retained detail identity, class identity and the Node-compatible Object tag pass ordinary TCP/HTTP controls under Node and built Home. Behavior follows the Node entry reference.

24 native groups; 32 validator controls; 54/54 Debug steps. All 350 committed artifacts and 51 restored report outcomes validate; source hashes match committed bytes. Nine original selected files retain 62 passes plus three process checks, one failure/failed file (#874), 40 filtered cases and zero skips/TODOs. Assertions and snapshots are unchanged. Initial identity/tag-control failures, preliminary build, disk refusal and terminal cache cleanup remain visible. Pickier reports zero errors and three existing warnings.

Borrowed native base methods, constructor interactions, inspection, missing producers and full performance/platform verification remain open in #869/#873. Corpus integration remains in #876; HTTPS receiver/lifecycle in #875/#532. Excluded regressions remain unverified; full Bun suite, #872 and Release/ASAN/all-platform verification remain open under #66.

14 days ago

Utility/deprecated-constructor checkpoint (2026-10-10): source b68665aa4 and verified evidence. util.deprecate converts built-in wrappers through the runtime constructor helper, preserving original prototype and arity with constructor/subclass/receiver semantics. Node comparison and unchanged warning/code-validation process checks pass. JUnit control-character escaping flushes and advances source text correctly; ordinary newline/tab/carriage-return names retain exact XML/metadata identity.

24 native groups; 32 validator controls; 54/54 Debug steps. Expanded final original scope: 599 passes, one upstream skip, three TODOs, 40 filtered cases and two process checks across 18 files. Sixteen utility/events/URL/MIME/path/assert files plus selected ordinary TLS/reporter cases validate. All 747 committed artifacts and 94 restored report outcomes reproduce retained results; final source hashes match committed bytes. Assertions and snapshots are unchanged. Initial constructor integration failures, metadata mismatch, rejected glob inference, disk refusals and terminal duplicate cleanup remain visible. Pickier has zero errors and one existing warning.

This is additional coverage, not a full-suite pass. The earlier performance scope retains #874 and was not rerun here. Historical invalid-URL metadata remains unvalidated and receives no final coverage credit. XML-invalid control-code policy, broader constructor/platform semantics and corpus integration remain in #876. Performance gaps remain in #869/#873; HTTPS receiver/lifecycle remain in #875/#532. Excluded regressions remain unverified; full Bun suite, #872 and Release/ASAN/all-platform coverage remain open under #66.

14 days ago

Event capture/emission checkpoint (2026-10-10): source 9382ce990 and verified evidence. Event rejection capture accepts ordinary thenables, reads then once, preserves its receiver and routes access/call errors into error emission. Capture suppression is respected and its previous state restored. Async-resource emission returns its listener-presence boolean while retaining creation-time async-local context and listener receiver. Node comparisons and the unchanged full capture-rejection chain pass, following the Node events reference.

24 native groups; 32 validator controls; 54/54 Debug steps. Eleven original files: 69 passes plus eight process checks, zero failures/skips/TODOs, 40 filtered cases. All 379 committed artifacts and 54 restored report outcomes validate; final source hashes match committed bytes. Original assertions/snapshots and pinned source hashes are unchanged. Pre-fix failure, disk refusals and terminal duplicate/package-download cleanup remain visible; guard thresholds were preserved. Pickier has zero errors and one existing warning.

Full async-resource constructor/ID/association/capture combinations, EventTarget/iterator backpressure and broader event/platform behavior remain open. Earlier #874/#872 remain open and were not rerun. Corpus integration remains in #876; performance gaps in #869/#873; HTTPS receiver/lifecycle in #875/#532. Excluded regressions remain unverified; full Bun suite and Release/ASAN/all-platform coverage remain open under #66.

14 days ago

Async event resource checkpoint (2026-10-10): source 9ca081571 and verified evidence. EventEmitterAsyncResource supports string names, direct-constructor name validation and subclass naming. Its private referencing resource exposes associated emitter identity; read-only resource/ID accessors delegate to the underlying resource. Explicit/default rejection capture no longer bypasses resource scope. Listener execution and captured errors retain the actual creation-time async-local context, receiver and boolean result. Node/Home controls and unchanged original resource tests pass, following the Node reference.

24 native groups; 32 validator controls; 54/54 Debug steps. Thirteen original files: 71 passes plus nine process checks, zero failures/skips/TODOs, 40 filtered cases. All 388 committed artifacts and 56 restored report outcomes validate; final source hashes match committed bytes. Original assertions/snapshots and pinned hashes are unchanged. Pre-fix failure, disk refusals and terminal cleanup remain visible; guards were preserved. Pickier has zero errors and one existing warning.

Underlying AsyncResource IDs remain zero and native lifecycle/producer hooks remain incomplete. Delegated accessors do not establish real ID generation. #877 tracks actual IDs, executing resource, lifecycle and scheduling/teardown requirements; #871/#856 track related context coverage. Earlier #874/#872 remain open and were not rerun. Corpus integration remains #876, performance #869/#873, HTTPS receiver/lifecycle #875/#532. Excluded regressions remain unverified; full Bun suite and Release/ASAN/all-platform coverage remain open under #66.

14 days ago

Explicit resource/TickObject lifecycle checkpoint (2026-10-10): source dbedb5d8d and verified evidence. Explicit AsyncResource construction and nextTick scheduling share one per-VM ID allocator. Trigger IDs come from tracked execution or explicit options. Scope entry establishes the executing ID/resource, delivers before/after around actual callbacks and restores execution/async-local state after exceptions. Init and explicit destroy follow resource construction/destruction; TickObject hooks follow queue execution/completion. Independent registration wrappers retain enable/disable ownership and snapshot dispatch. Node/Home controls verify these boundaries.

25 native groups; 32 validator controls; 54/54 Debug steps. Fourteen original files: 75 passes plus nine process checks, zero failures/skips/TODOs, 40 filtered cases. All 398 committed artifacts and 57 restored report outcomes validate; final source hashes match committed bytes. Original assertions/snapshots and pin hashes are unchanged. The corrected repeated-destroy reference assumption, disk refusal and cache cleanup remain visible. Pickier retains seven existing builtin diagnostics and four warnings; the committed baseline reproduces the existing diagnostics.

Promise, timer and native IO/worker ID/lifecycle boundaries remain unconnected. Execution APIs are complete only inside tracked explicit-resource/TickObject scopes. Collection cleanup registration is implemented but not behaviorally verified here; broader mutation/fatal-error/teardown/platform behavior remains in #877. Related context coverage remains #871/#856; earlier #874/#872 were not rerun. Corpus #876, performance #869/#873 and HTTPS #875/#532 gaps remain open. Excluded regressions remain unverified; full Bun suite and Release/ASAN/all-platform coverage remain open under #66.

14 days ago

Native timer lifecycle checkpoint (2026-10-10): source 5caf2ac88 and verified evidence. Home owns the ABI-matched native timer callback bridge. Creation, firing, cancellation and completion deliver actual init/before/after/destroy transitions; callback scope identifies the timer resource/ID/trigger inside restored async-local context. Intervals retain their ID, and refreshing a completed timeout creates a fresh ID. Lifecycle calls stop with script execution. Node/Home controls and all 20 unchanged original timer cases pass; generated source bytes and exactly one owned unity include are verified.

25 native groups; 32 validator controls; 54/54 Debug steps. Fifteen original files: 95 passes plus nine process checks, zero failures/skips/TODOs, 40 filtered cases. All 419 committed artifacts and 58 restored report outcomes validate; source hashes match committed bytes. ABI verification combines 152 initial passes with four corrected/new passing checks, for 156 controls; five Zig build-support tests pass. Initial ownership/deadline/fixture failures, interrupted build and disk refusal remain retained, with unchanged limits. Original assertions/snapshots and pin hashes are unchanged. Pickier has zero errors and one warning.

Promise and native IO/worker propagation, wider timer refresh/error/teardown/collection behavior and all-platform verification remain in #877. Earlier #874/#872 were not rerun and remain open. Corpus #876, performance #869/#873, HTTPS #875/#532 and context #871/#856 gaps remain open. Excluded regressions remain unverified; full Bun suite and Release/ASAN/all-platform coverage remain open under #66.

14 days ago

Native filesystem request checkpoint (2026-10-10): source bbc6f8dee and verified evidence. Native filesystem tasks retain a request view associated with their actual Promise. Creation emits init with tracked IDs/triggers; owner-thread result conversion/settlement executes in before/after scope; cleanup emits destroy and releases ownership. Ordinary workpool, recursive readdir, copy-parent and Windows UV paths use the helper. Copy/readdir parent cleanup is deferred through result delivery and conversion errors. Node/Home controls and worker filesystem shutdown pass.

25 native groups; 32 validator controls; 54/54 Debug steps. Seventeen original files: 110 passes plus nine process checks, zero failures/skips/TODOs, 99 filtered cases. All 431 committed artifacts and 60 restored report outcomes validate; final source hashes match committed bytes. Exact ordinary filesystem promise/copy filters validate. Assertions/snapshots and pin hashes are unchanged. Initial fixture assumptions, pre-fix control failure and full-volume interruption remain retained. Guards were preserved. Pickier has zero errors and one warning.

Promise engine hooks/continuation IDs, callback-adapter request types/grouping, sockets/DNS/worker producers, broader abort/collection/shutdown and all-platform behavior remain in #877. Node optimized promise APIs can use callback jobs; Home instruments its actual native promise tasks. Windows UV behavior remains unverified. Earlier #874/#872 were not rerun and remain open. Corpus #876, performance #869/#873, HTTPS #875/#532 and context #871/#856 gaps remain open. Excluded regressions remain unverified; full Bun suite and Release/ASAN/all-platform coverage remain open under #66.

14 days ago

Native filesystem callback/context checkpoint (2026-10-10): source 5fc0c84ba and verified evidence. The binding detects callbacks in standard argument positions; callback-capable constructors retain promise entry points and allocate no promise target in callback mode. Actual owner-thread completion delivers the callback in its request scope, then releases ownership. Ordinary public adapters, including vector reads/writes, retain result shapes. Early abort uses nextTick. Both callback/promise requests restore creation-time async-local state and restore the caller after delivery. Node/Home controls, vector originals and worker filesystem shutdown pass.

25 native groups; 32 validator controls; 54/54 Debug steps. Twenty original files: 110 passes plus twelve process checks, zero failures/skips/TODOs, 99 filtered cases. All 458 committed artifacts and 63 restored report outcomes validate; source hashes match committed bytes. Original assertions/snapshots and pin hashes are unchanged. Interrupted builds, bounded pre-fix failure, corrected receiver expectation and cache cleanup remain retained, with unchanged guards/deadlines. Pickier retains three existing fs prefer-const errors and two warnings; the committed baseline reproduces those errors.

Compound rm/cp and directory/glob adapters, full grouping/receiver parity, wider abort/exception/shutdown/collection and Windows UV verification remain in #877. Promise-engine hooks/continuation IDs and other native producers remain incomplete. Earlier #874/#872 were not rerun and remain open. Corpus #876, performance #869/#873, HTTPS #875/#532 and context #871/#856 gaps remain open. Excluded regressions remain unverified; full Bun suite and Release/ASAN/all-platform coverage remain open under #66.

Sign in to comment on this issue.