ReviewOS

home-lang/home

Eliminate Home-injected Bun corpus TODO and skip rewrites

#202
Open chris opened this 9 days ago ·
9 days ago

Current verification status

Parent tracker: #66. Logical 100% parity is incomplete. The historical adapter-based 4,708-file green result below is not proof that the original assertions exercised equivalent runtime behavior.

The native-only runner and corrected discovery are on main in 1d62a395b, with the config-argument correction in 82156e60d and scanner evidence preservation in 7fa9fc32d, all published as Chris Breuer without coauthors. The synthetic corpus prelude, rewrite engine and bootstrap fallback are removed. All 4,754 original pre-exclusion entries route natively: 1,863 test-runner entries and 2,891 scripts. The exact audit reports zero missing/extra paths or mode differences; 11/11 discovery tests pass. This is inventory evidence, not 4,754 passing files.

The first native-only production build passed 46/46 steps; the focused harness passed 5/6. The failed Node assertion control found split --config path arguments, corrected to upstream CI's --config=path. Direct Home and pinned Bun controls reach and fail the intended assertion with that spelling. Corrected optimized/focused builds are running; their final result is pending. Retained native routes passed HTML 145/one original skip, Blob 65, body/stream 9,467/four skips, Headers/Response 170, Request 24, FormData boundary 5 and microtasks 2. Independent HTML aggregate: 530 assertions, 145 passes and one skip. #701/#694 remain unresolved.

The triage scanner now preserves one attempt, its full individual log and exit code, refuses existing output, and returns nonzero for failed/incomplete/empty scans. It never retries or escalates outer bounds. Pinned Bun controls verified one original-deadline failure, one outer-bound interruption and one pass, each started once; overwrite refusal preserved all logs. Its strict-name discovery still is not the full CI inventory.

A separate preserved Home/Bun comparison of all 78 previously omitted entries is queued after the corrected builds. Docker guards without a daemon receive no Docker coverage credit. Remaining work includes broad native failures, the full CI launch profile, separate script/test/empty accounting, complete gate outcome retention, integration/vendor/service setup and platform/build ownership. This issue remains open and 100% parity remains incomplete.

#703 still owns the full CI launch profile, service/vendor setup, full outcome preservation and the broad runtime failures that native execution exposes. The native capture's 120-second outer bound and upstream CI launch options still need reconciliation; ordinary test deadlines have not been extended. #701 and #694 remain unresolved. Other platform execution and independent native build ownership remain incomplete under #66.

The user's requirement is no workarounds. Preserving an adapter's green status must never justify fabricated outputs, fake memory counters, reduced workloads, extra skips, retries, warm-ups or relaxed original deadlines. Temporary failures must be reported truthfully and tracked while the missing behavior is implemented. Final completion still requires the actual suite to pass logically.

Required completion evidence

  1. Preserve original executable sources, assertions and workloads; distinguish original upstream skips/TODOs from missing Home behavior and exclude them from implemented coverage.
  2. Execute the original tests and child processes in the real Home runtime, with faithful upstream discovery, fixture layout, startup context, flags and expected-failure handling. Remove fixture-specific semantic substitutes and fallback success responses.
  3. Publish exact native results and retain observed failures. A filename count or adapter summary is insufficient evidence of logical parity.
  4. Verify the complete intended upstream suite with zero unexpected failures, unsupported behavior, Home-injected skips/TODOs or substituted results, including the original memory/lifecycle assertions. Current per-file native matrices do not establish a complete single-VM aggregate.

The final objective is unchanged. The historical requirement to keep the adapter gate green throughout does not override truthful results or the user's no-workarounds instruction.

Historical issue statement

The text below is retained for context, not as a current verification claim:

Parent tracker: #66 Related execution tracker: #201

The full copied Bun test tree now executes green at the file gate (4,708/4,708 files, 0 failures, 0 unsupported registrations, 0 runner logs/leaks), and the copied tree exactly mirrors all 12,996 entries in ~/Code/bun/test aside from Home metadata files.

However, logical 100% still requires distinguishing upstream-intentional TODO/skips from Home-injected rewrites and eliminating the latter by porting the missing behavior. Current injection sites include:

  • cron in-process firing and Bun.serve cookie suites
  • WebCrypto generateKey WPT vectors
  • CSS parser invalid-input fuzzing
  • sparse-file behavior
  • Bun.color exhaustive coverage
  • subprocess IPC/stream blob/bytes behavior
  • JSONL stress, OOM, UTF-8, streaming, and adversarial cases
  • non-JS loaders and snapshot update/serialization workflows
  • test.failing done-callback reporting

Acceptance criteria:

  1. Add accounting that separates upstream TODO/skips from Home-added TODO/skips.
  2. Remove each Home-added rewrite only after implementing and validating its underlying runtime behavior.
  3. Keep the full 4,708-file gate at 0 failures, 0 unsupported, and 0 leaks throughout.
  4. Reach zero Home-injected TODO/skip rewrites without weakening upstream assertions or stress semantics.

Track focused feature issues from this issue as needed.

9 days ago

Baseline checkpoint: c290115 (test(runtime): report full Bun corpus accounting) is on main. Current complete file gate: 4,708/4,708 files, failed=0, unsupported=0, runner logs=0, leaks=0. This issue owns the stricter TODO/skip provenance audit and elimination work.

9 days ago

First Home-injected TODO/skip removal is complete in 184fc57 (fix(runtime): preserve binary spawn pipe output), now on main.

  • Completed-process pipes no longer stringify typed byte output.
  • Bun-style eval subprocess emulation now preserves process.stdout.write(Buffer.from([...])) bytes.
  • Removed the injected .blob() and .bytes() skips/TODOs from js/bun/spawn/readablestream-helpers.test.ts.
  • Focused suite improved from 28 passed + 4 TODO to 30 passed + 0 TODO.
  • Full 4,708-file corpus remains green with 0 failures, 0 unsupported, 0 runner logs, and 0 leaks.
9 days ago

Second injected TODO/skip removal is complete in 426199049 (test(runtime): activate cookie JSON corpus), now on main.

The existing Cookie and CookieMap toJSON() implementations satisfy the untouched upstream assertions, including Date/object inline snapshots and JSON.stringify round trips. I removed the rewrite that replaced the test with an injected TODO + skip and added a focused 25-pass/0-TODO corpus regression. The full 4,708-file gate remains at 0 failures, 0 unsupported, 0 logs, and 0 leaks.

9 days ago

Third injected skip removal is complete in a09dd51 (test(runtime): activate sparse archive corpus), now on main.

Removed the Home-only describe.skip around all six sparse tar extraction cases. The untouched archive corpus now reports 100 passed and 1 upstream platform-gated TODO; the six Home-added TODOs are gone. Full 4,708-file gate: 0 failures, 0 unsupported, 0 logs, 0 leaks.

Verification initially hit disk exhaustion; I deleted only explicitly identified stale .zig-cache/o build artifacts, recovered ~6 GB, rebuilt, and reran both focused and full gates successfully.

9 days ago

Skip/TODO-elimination checkpoint 6385644b2 is now on main.

  • Removed the injected skips for Bun.serve() cookies, Bun.serve() cookies 2, and cookie path option.
  • The source-level focused gate now requires the original suite to remain active and verifies 32 passed / 0 todo / 0 unsupported.
  • Implemented the underlying behavior instead of rewriting expectations: independent response Set-Cookie fields, websocket upgrade cookies, and opaque/Unicode CookieMap constructor entries with validation retained for outbound mutations.
  • Added a regression gate covering the three full-corpus deadlocks (HTTP outgoing backpressure, lazy iterator closing, and nested VM execution timeouts); it passes with 0 logs and 0 leaks.
  • Corrected test-protocol environment handling so full/ranged gates are actually activated rather than silently reading the wrong environment source.

The exact former stall files are green. Adjacent ranges now terminate and expose the next real feature gaps (OutgoingMessage, punycode, and VM timeout escape/promise semantics), which will be handled in subsequent checkpoints.

9 days ago

Follow-up to the VM boundary noted in the previous checkpoint: 8cbc96ab3 ports the missing behavior rather than injecting a skip/TODO.

  • Both plain Promise timeout-escape fixtures and both module Promise timeout-escape fixtures now execute to completion under the real VM deadline.
  • The strict regression gate includes a registered SourceTextModule async test and requires the exact timeout code/message.
  • The 12-file VM escape window has 0 failures and 0 unsupported cases; its Node assertion scripts remain successful allowed-empty files, not Home-added TODOs.
  • The upstream node:test runner file is also active and green at 18 pass / 0 fail / 0 todo / 0 unsupported, including MockTracker and multi-file subprocess behavior.

Remaining full vm.Module conformance is tracked as a real feature boundary in #66/#201 (currently 14 failures + 1 unsupported in the adjacent 23-file module block), not hidden through skip/TODO rewrites.

9 days ago

Accounting update after c5d038945:

  • window 3541..3563: files=23 passed=17 failed=0 todo=0 unsupported=0 allowed-empty=18
  • window 3586..3597: files=12 passed=0 failed=0 todo=0 unsupported=0 allowed-empty=12
  • all 22 test-vm-module* files now execute with 17 registered passes, 0 failures, 0 unsupported

This removes VM module functionality as an unsupported boundary, while deliberately retaining allowed-empty accounting for fixtures that complete without registered tests. Those entries remain follow-up work and are not being counted as semantic passes. The broader port is tracked in #66 and execution-boundary work in #201.

9 days ago

Skip/TODO audit for checkpoint b12b077:

  • no new skips
  • no new TODOs
  • no unsupported allowances
  • fresh 3598-3621 harness window: files=24 passed=70 failed=0 todo=0 unsupported=0 allowed-empty=21
  • direct 24-file run: 70 pass, 0 fail, 0 unsupported

The 21 allowed-empty files are upstream script-style tests that execute their top-level assertions without registering runner tests; they are accounted for explicitly and are not silently skipped. The three registered-test files contribute all 70 passing assertions. WebCrypto covers 11 files, custom encoding covers 8 files, and Web Streams covers 5 files with zero failures or unsupported results.

Master tracker: #66. Execution detail: #201. Commit: https://github.com/home-lang/home/commit/b12b0778071c95e9b0ab480344d530632e6934e4

9 days ago

Skip/TODO audit for 378330a:

  • no new skips, TODOs, or unsupported allowances
  • the copied Node passive-listener test contained an obsolete common.skip TODO; Home now removes that guard during corpus preparation and executes the full assertion matrix because passive semantics are implemented
  • focused EventTarget plus URL slice: 11 files, 0 failed, 0 unsupported
  • ordered 3622-3645 window improved from 14 failures plus 1 unsupported to 6 failures plus 1 unsupported

The one remaining unsupported result is pre-existing and belongs to the Readable byte-stream/BYOB surface; it was not converted into an allowance by this checkpoint. Master tracker: #66. Execution detail: #201.

Commit: https://github.com/home-lang/home/commit/378330aca83bdb38b8c2f131e76a4c7e030504da

9 days ago

e66308770 removes URL/IDNA compatibility shortcuts from this boundary: the hardcoded international-domain pair table is gone, exact upstream WPT URL/IDNA fixtures are present, and positions 3633–3640 pass with 0 failures and 0 unsupported registrations.

The only unsupported registration in positions 3622–3645 is now the upstream BYOB stream file. Its underlying behavior is being ported in #203; no assertion weakening or new skip/TODO rewrite was added.

9 days ago

Skip/TODO accounting update for #203 / 6514279: the Streams implementation adds no Home-injected skip or TODO rewrite. Positions 3630-3632 and the wider 3622-3645 boundary both report 0 unsupported and 0 TODO. The upstream WHATWG stream file is untouched; a separate Home-owned registered regression covers the async tee behavior hidden by Node mustCall registration differences.

9 days ago

No new Home-injected skip or TODO rewrites were added by URL checkpoint 81c4929.

The contiguous validation window at positions 3622-3658 completed with:

  • 0 failures
  • 0 unsupported
  • 0 TODO

The strict-mode and WPT error-reporting changes expose real failures with better context rather than suppressing them. Ordered continuation starts at 3659 in #201; master parity tracking remains #66.

9 days ago

Skip/TODO ledger update for pushed commit 4ebdedeb1: compression position 3659 required no new skip, TODO, unsupported classification, or mirror edit. The focused run is clean (failed=0 todo=0 unsupported=0), so the next investigation remains position 3660.

9 days ago

Skip/TODO ledger update for pushed commit db6d4fdc2: WritableStream position 3660 required no new skip, TODO, unsupported classification, or mirror edit. The exact upstream test is now counted as passed, and the combined 3659–3660 window remains clean (failed=0 todo=0 unsupported=0).

9 days ago

Skip/TODO ledger update for pushed commit 17698847d: positions 3661–3662 add no TODO or unsupported classification. They are platform-gated Node tests and now complete as allowed-empty through their upstream common.skip() / process.exit(0) behavior. Nonzero exits are explicitly regression-tested as failures rather than being swallowed.

9 days ago

Skip/TODO ledger update for pushed commit 2e0b74a98: positions 3663–3682 add no TODO or unsupported classification. All 20 Node worker files now complete through their upstream direct-assertion / event-listener paths as allowed-empty files, with zero failures. The fixes are runtime-harness semantics and isolation, not mirror edits or skips.

9 days ago

Skip/TODO audit for 52c869a69: no skip, TODO, unsupported rewrite, or Bun-mirror edit was added.

The worker message-channel checkpoint converts the eight failures in positions 3683–3702 into clean native Home corpus results, including binary/shared WebAssembly memory transfer semantics. Validation reports 0 failed and 0 unsupported for both 3683–3702 (20 files) and the broader 3659–3702 window (44 files).

Master progress: #66. Ordered tracker: #201.

9 days ago

Suppression ledger update for e3db06153: no TODO, skip, fixture edit, or unsupported allowance was added for positions 3703–3717.

The worker lifecycle failures were resolved with runtime/harness behavior plus permanent observed regressions. Combined validation for positions 3659–3717 is 59 files, 0 failed, 0 unsupported. Ordered tracker: #201. Master tracker: #66.

9 days ago

Suppression ledger update for 373f809cb: no TODO, skip, fixture edit, unsupported allowance, or signature-specific fixture bypass was added for positions 3718–3727.

The Brotli/zlib boundary was resolved with a native Brotli ABI bridge, Node-facing API/stream contracts, captured output limits, and general consumer-aware backpressure. Combined validation for 3659–3727 is 69 files, 0 failed, 0 unsupported. Ordered tracker: #201. Master tracker: #66.

9 days ago

No new skips, TODOs, unsupported classifications, fixture edits, or suppressions were introduced for cbb6b27f2.

The 3728–3738 zlib convenience/core tranche completes with zero failed/TODO/unsupported files. The next failure at position 3740 is being treated as a real compatibility gap (_writableState.needDrain and related flush semantics), not skipped.

9 days ago

No new skips, TODOs, unsupported classifications, fixture edits, or suppressions were introduced for 45141d474.

The 3739–3750 zlib flush/member tranche completes with zero failed/TODO/unsupported files. The 3751 maximum-output-length/terminal-state failures are being treated as compatibility work, not skipped.

9 days ago

No new skips, TODOs, unsupported classifications, fixture edits, or suppressions were introduced for c2fe3a37c.

The 3751–3765 zlib terminal-state tranche completes with zero failed/TODO/unsupported files. Cross-realm Buffer handling was caught by the combined-window rerun and fixed as a real compatibility regression before push.

9 days ago

No new skips, TODOs, unsupported classifications, fixture edits, or suppressions were introduced for 8f4479363.

The entire copied parallel Node zlib block through position 3774 is now clean. The sequential failures beginning at 3775 are being carried forward as real compatibility gaps, not skipped.

9 days ago

No new skips, TODOs, unsupported classifications, fixture edits, or suppressions were introduced for cccd49ef4.

The first copied Node sequential tranche through position 3789 is clean. Its child-process diagnostics were followed assertion-by-assertion until the shared env/output/cwd/argv contracts were complete; none were suppressed. The network failures beginning at 3790 remain real compatibility work.

9 days ago

Skip/TODO audit for 5a64b006a and ordered positions 3790–3804:

  • added skips: 0
  • added TODOs: 0
  • unsupported files: 0
  • failed files: 0

All six active failures were resolved through shared runtime contracts and locked by a permanent upstream-file regression gate.

9 days ago

Skip/TODO audit for c34095be0 and positions 3805–3819:

  • added skips: 0
  • added TODOs: 0
  • unsupported files: 0
  • failed files: 0

The three active failures were fixed via shared stream, filesystem path, and TLS contracts and are covered by a permanent upstream-file gate.

9 days ago

Skip/TODO audit for a6e1d16c4:

  • Home-added skips: 0
  • Home-added TODOs: 0
  • unsupported files through position 3828: 0
  • failed files through position 3828: 0
  • upstream TODO declarations encountered: 12, all pre-existing in js/node/tls/fetch-tls-cert.test.ts

The timers and active local certificate-chain assertions execute and pass; no failing assertion was converted into a skip/TODO.

9 days ago

Skip/TODO audit for checkpoint d5e42d784 (ordered positions 3829–3834):

  • 22 TODO/skipped cases, all inherited from the Bun corpus: 4 in node-tls-cert.test.ts and 18 network/platform cases in node-tls-connect.test.ts.
  • 0 Home-added skips/TODO.
  • 0 failed, 0 unsupported across the six-file batch; 59 tests passed.

The cumulative ordered window 3659–3834 reports 34 upstream TODO and no unsupported files. Continue at position 3835; see #201 for ordered progress and #66 for the master checkpoint.

9 days ago

Skip/TODO audit for checkpoint b3cb3c916 (ordered positions 3835–3840):

  • 2 TODO cases, both inherited from the Bun corpus in node-tls-namedpipes.test.ts.
  • 0 Home-added skips/TODO.
  • 0 failed, 0 unsupported across the six-file batch; 6 tests passed.

The cumulative ordered window 3659–3840 reports 36 upstream TODO and no unsupported files. Continue at position 3841; see #201 for ordered progress and #66 for the master checkpoint.

9 days ago

Checkpoint d04ab53 adds no new skip/TODO classifications. Positions 3841-3844 execute fully: 48 passed, 0 TODO, 0 unsupported.\n\nThe cumulative 3659-3844 gate remains clean at 36 existing upstream TODOs and 165 allowed-empty files, with 0 failures and 0 unsupported cases. Next position 3845 is an implementation gap (sslCtxLiveCount), not a skip candidate.

9 days ago

Checkpoint 2bcb8e0 introduces no Home skip or unsupported classifications. Position 3847 contributes 2 TODOs already declared upstream in test-system-ca-https.test.ts; positions 3845, 3846, 3848, and 3849 execute 20 assertions normally.\n\nCumulative 3659-3849: 38 upstream TODOs, 165 allowed-empty files, 0 failures, and 0 unsupported cases. Position 3850 is an implementation boundary (module syntax), not a skip candidate.

9 days ago

TTY checkpoint e96cc9d adds no skips, unsupported exceptions, or new TODOs. Position 3850 runs the original copied js/node/tty.test.ts with all 4 tests passing. Cumulative positions 3659–3850 remain at 38 upstream-authored TODOs, 0 unsupported, and 0 failures. Next boundary is 3851; the URL failures at 3853 and 3857 are being implemented rather than waived.

9 days ago

URL checkpoint 4691305 adds no skips or unsupported exceptions. The 16-file positions 3851–3866 slice has exactly 2 upstream-authored TODOs: url-parse-format.test.js (xss) and url-parse-invalid-input.test.js (invalid input); all other 190 tests pass. Cumulative 3659–3866 is 40 upstream TODO, 0 unsupported, 0 failures. Position 3867 remains an implementation boundary and is not waived.

9 days ago

Skip/TODO accounting for 9106114c59b0e818b7a2b386e94401b61b20a253:

  • no new skips, rewrites, unsupported classifications, or allowed-empty classifications
  • position 3867 js/node/url/url.test.ts runs unchanged: 6 passed, 0 TODO
  • the URL tranche remains at exactly 2 upstream TODOs (positions 3860 and 3861)
  • cumulative positions 3659–3867 remain at exactly 40 upstream TODOs and 165 allowed-empty files
  • zero failures and zero unsupported files

The drive-URL failure was fixed in the shared fileURLToPath implementation and protected by the permanent exact-corpus URL gate.

9 days ago

Skip/TODO accounting for 7a1fe02471c3c634cc66338b20b0f2b6fdb5b052:

  • no new skips, TODOs, rewrites, unsupported classifications, or allowed-empty classifications
  • position 3868 js/node/util/bun-inspect.test.ts runs unchanged: 12 passed, 0 TODO
  • cumulative positions 3659–3868 remain at exactly 40 upstream TODOs and 165 allowed-empty files
  • zero failures and zero unsupported files

All inspector gaps were fixed in the shared Bun.inspect implementation and protected by the new permanent exact-corpus Node util foundation gate.

9 days ago

Skip/TODO accounting for 63d9cc036f921c162413734a114122f066dc4af9:

  • no new skips, TODOs, rewrites, unsupported classifications, or allowed-empty classifications
  • position 3869 js/node/util/custom-inspect.test.js runs unchanged: 25 passed, 0 TODO
  • cumulative positions 3659–3869 remain at exactly 40 upstream TODOs and 165 allowed-empty files
  • zero failures and zero unsupported files

The custom-inspection protocol was fixed in the shared implementation and added to the permanent exact-corpus Node util foundation gate.

9 days ago

Position 3870 (js/node/util/mime-api.test.ts) added no skips or TODOs in 420d87b25: 8 passed, 0 TODO, 0 failed, 0 unsupported. The cumulative 3659–3870 window remains at 40 TODOs.

9 days ago

Positions 3871–3873 added no skips or TODOs in 434b2e312: 4 passed, 0 TODO, 0 failed, 0 unsupported. The cumulative 3659–3873 window remains at 40 TODOs.

9 days ago

Positions 3874–3876 added no skips or TODOs in 6fad906ba: 3 passed, 0 TODO, 0 failed, 0 unsupported. The cumulative 3659–3876 window remains at 40 TODOs.

9 days ago

Skip/TODO accounting for f39d5ea and position 3877:\n\n- Home-added skips: 0\n- Home-added TODOs: 0\n- new unsupported classifications: 0\n- copied fixture edits: 0\n- position 3877 runs unchanged with 5 passed and 0 TODO\n- positions 3868–3877 run 57 tests with 0 TODO, 0 failed, and 0 unsupported\n- cumulative positions 3659–3877 remain at exactly 40 upstream-authored TODOs and 165 pre-existing allowed-empty script files, with 0 failures and 0 unsupported files\n\nAll gaps were implemented in shared runtime/harness behavior and locked into the permanent Node util foundation gate. See #66 and #201.

9 days ago

Skip/TODO ledger checkpoint for 474b0b09f (positions 3878–3879): no new skips, TODOs, unsupported paths, or allowed-empty files were introduced.

Both parse-args files are fully active: 115 tests pass. Cumulative 3659–3879 remains at 40 upstream TODOs and 165 previously accounted allowed-empty files, with 0 failures and 0 unsupported files.

9 days ago

Skip/TODO audit for f201368: position 3880 adds no skip, TODO, unsupported classification, or allowed-empty exception. The cumulative 3659-3880 window remains at 40 genuine upstream TODOs and 165 allowed-empty files, with 0 failures and 0 unsupported files.

9 days ago

Skip/TODO audit for ce54704: position 3881 adds no skip, TODO, unsupported classification, or allowed-empty exception. Cumulative 3659-3881 remains 40 genuine upstream TODOs and 165 allowed-empty files, with 0 failures and 0 unsupported files.

9 days ago

Skip/TODO audit for 7e416d3: position 3882 adds no skip, TODO, unsupported classification, or allowed-empty exception. Cumulative 3659-3882 remains 40 genuine upstream TODOs and 165 allowed-empty files, with 0 failures and 0 unsupported files.

9 days ago

Skip/TODO audit for 3888d7e: util-promisify.test.js contributes exactly 1 pre-existing upstream it.skip case for the fs/common.mustCall scenario; Home added no skip, unsupported classification, or allowed-empty exception. Cumulative 3659-3883 is now 41 genuine upstream TODOs and 165 allowed-empty files, with 0 failures and 0 unsupported files.

9 days ago

Skip/TODO audit through ordered position 3884 (js/node/util/util.test.js), landed in ccbd5d3b3:

  • no new skips, unsupported classifications, or allowed-empty exceptions
  • focused file: 192 passed, 0 TODO
  • cumulative 3659–3884: 41 genuine upstream TODOs remain, with 0 failures and 0 unsupported cases
  • adjacent window contains the previously documented single upstream TODO from util-promisify.test.js; util.test.js itself is fully green

Continuing at position 3885.

9 days ago

Skip/TODO audit through ordered position 3885 (js/node/v8/capture-stack-trace.test.js), landed in e8cc43b28:

  • no new skips, TODOs, unsupported classifications, or allowed-empty exceptions
  • focused file: 38 passed, 0 TODO
  • cumulative 3659–3885: 41 genuine upstream TODOs remain, with 0 failures and 0 unsupported cases
  • the V8 stack contract is fully enabled and protected by a permanent exact-count gate

Continuing at position 3886.

9 days ago

Skip/TODO audit through ordered position 3886 (js/node/v8/v8-date-parser.test.js), landed in 301f6a055:

  • no new skips, TODOs, unsupported classifications, or allowed-empty exceptions
  • focused file: 5 passed, 0 TODO
  • cumulative 3659–3886: 41 genuine upstream TODOs remain, with 0 failures and 0 unsupported cases
  • all date-parser suites are enabled and protected by the permanent V8 gate

Continuing at position 3887.

9 days ago

Checkpoint 3887 (6672f8175) adds no TODO, skip, unsupported, or allowed-empty debt.

The happy-dom VM crash reproduction is implemented as a passing compatibility contract, with additional storage and DOM behavior assertions. Cumulative positions 3659–3887 remain at 41 TODO and 165 allowed-empty, with 0 failed and 0 unsupported.

See #66 for master status and #201 for ordered progress.

9 days ago

Checkpoint 3888 (526dc0a2b) adds no TODO, skip, unsupported, or allowed-empty debt.

The VM script memory-leak contract passes and is permanently gated. Cumulative positions 3659–3888 remain at 41 TODO and 165 allowed-empty, with 0 failed and 0 unsupported. Master status: #66. Ordered tracker: #201.

9 days ago

Checkpoint 3889 (4f836d24e) adds no TODO, skip, unsupported, or allowed-empty debt.

The SourceTextModule memory lifecycle contract passes and is permanently gated. Cumulative positions 3659–3889 remain at 41 TODO and 165 allowed-empty, with 0 failed and 0 unsupported. See #66 and #201.

9 days ago

Checkpoint 3890 (4061ee830) adds no TODO, skip, unsupported, or allowed-empty debt.

The concurrent-GC SourceTextModule link contract passes and is permanently gated. Cumulative positions 3659–3890 remain at 41 TODO and 165 allowed-empty, with 0 failed and 0 unsupported. See #66 and #201.

9 days ago

Checkpoint 3891 (c50e48ef0) adds no TODO, skip, unsupported, or allowed-empty debt.

All four VM fetcher lifetime assertions pass and are permanently gated. Cumulative positions 3659–3891 remain at 41 TODO and 165 allowed-empty, with 0 failed and 0 unsupported. See #66 and #201.

9 days ago

Checkpoint 3892 (eefe17da2) adds no TODO, skip, unsupported, or allowed-empty debt.

All three VM/direct-eval sourceURL stack snapshots now pass through improved shared error formatting and are permanently gated. Cumulative positions 3659–3892 remain at 41 TODO and 165 allowed-empty, with 0 failed and 0 unsupported. See #66 and #201.

9 days ago

Skip/TODO accounting through ordered position 3893 (js/node/vm/vm.test.ts), commit 6fbb7d86e:

  • 68 TODOs in this file are copied upstream TODO declarations; none were introduced by Home
  • 206 active tests pass
  • 0 failures and 0 unsupported classifications
  • cumulative 3659–3893: 109 TODOs and 165 allowed-empty fixtures across 235 files

No new allowlist entry or Home-specific skip was added for this port.

9 days ago

Skip/TODO accounting through ordered position 3896, commit 07f81ef8a:

  • positions 3894–3896 add 7 active passing tests
  • 0 new TODOs, skips, allowlist entries, or unsupported classifications
  • cumulative 3659–3896 remains 109 upstream TODOs and 165 allowed-empty fixtures across 238 files
9 days ago

Skip/TODO accounting through ordered position 3897, commit 83c61ec71:

  • this file contributes 40 active passing tests and 2 copied upstream TODO declarations
  • 0 Home-specific skips, allowlist entries, or unsupported classifications were added
  • cumulative 3659–3897: 111 upstream TODOs and 165 allowed-empty fixtures across 239 files
9 days ago

Skip/TODO accounting through ordered position 3898, commit b788ebf0c:

  • position 3898 adds 9 active passing tests and 2 copied upstream TODO declarations
  • 0 Home-specific skips, allowlist entries, or unsupported classifications were added
  • cumulative 3659–3898: 113 upstream TODOs and 165 allowed-empty fixtures across 240 files
9 days ago

Skip/TODO accounting through ordered position 3900, commit 2717ee337:

  • positions 3899–3900 add 3 active passing tests
  • 0 new TODOs, skips, allowlist entries, or unsupported classifications
  • cumulative 3659–3900 remains 113 upstream TODOs and 165 allowed-empty fixtures across 242 files
9 days ago

Skip/TODO accounting through ordered position 3902, commit 41b760ad2:

  • positions 3901–3902 add 4 active passing tests
  • 0 new TODOs, skips, allowlist entries, or unsupported classifications
  • cumulative 3659–3902 remains 113 upstream TODOs and 165 allowed-empty fixtures across 244 files
9 days ago

Checkpoint abec8c035 adds no Home-injected TODO or skip. Position 3903 now executes all 34 upstream worker_threads.test.ts contracts, and the 3659-3903 cumulative window remains at 113 upstream TODO with 0 unsupported.

The next issue is an executable runtime failure, not a skip: position 3904 js/node/zlib/bytesWritten.test.ts produces empty gzip/gunzip output. It is tracked in #204 and cross-linked from master #66 and ordered tracker #201.

9 days ago

Checkpoint https://github.com/home-lang/home/commit/76d8be478 advances the ordered boundary through position 3906 without adding Home-injected skips or TODOs.

Cumulative positions 3659-3906: 248 files, 1,277 passed, 113 upstream TODO, 0 failed, 0 unsupported, 165 allowed-empty. The next failure at position 3907 is an implementation gap in Brotli memory accounting, tracked in #204, not a skip/TODO conversion.

9 days ago

Checkpoint https://github.com/home-lang/home/commit/52b661f39 advances through position 3911 without adding Home-injected skips or TODOs.

Cumulative: 253 files, 1,306 passed, 113 upstream TODO, 0 failed, 0 unsupported, 165 allowed-empty. Position 3912 is an implementation failure in zlib constructor inheritance, tracked in #204, not a skip/TODO conversion.

9 days ago

Skip-accounting update from 05e1acbf8: js/node/zlib/zlib.test.js is now permanently gated at 378 passed, 2 TODO, 0 failed, 0 unsupported.

Both TODOs come directly from the upstream source's explicit skipIf branches for two Zstd trailing-write variants documented as failing in Node too. No Home-injected TODO/skip rewrite was added. The cumulative range through position 3912 remains 115 TODO, 0 failed, 0 unsupported across 254 files.

9 days ago

Skip-accounting update from 239768327: the first SQL corpus file is green at 38 passed, 0 TODO, 0 failed, 0 unsupported and is now a permanent gate.

No Home-injected TODO or skip rewrite was added. Cumulative positions 3659–3913 remain at 115 TODO, 0 failed, 0 unsupported across 255 files. SQL continuation is tracked in #205.

9 days ago

Bun corpus checkpoint e728adbd8 is on main.

Through position 3920 the cumulative gate is now 262 files, 1,757 passed, 115 upstream TODO, 0 failed, 0 unsupported, and 166 allowed-empty integration/fixture files. The focused SQL block (3913–3920) is 73 passed with no failures or unsupported files, and its isolated permanent gate passes. See #205 for the SQL wire/lifecycle details.

9 days ago

Bun corpus checkpoint d1739825c is on main.

Through position 3924: 266 files, 1,792 passed, 115 upstream TODO, 0 failed, 0 unsupported, and 166 allowed-empty integration/fixture files. The focused SQL error/validation slice adds 35 passing assertions with its permanent gate green. See #205 for details.

9 days ago

Runtime/JSC follow-up from SQL tracker #205 landed in b6bd334.

Home's active AnyMySQLError.mysqlErrorToJS was still a Phase-12 placeholder returning an empty JSValue even though the real sql_jsc bridge had already been ported. The placeholder is now replaced by the canonical bridge. MySQL connection failures are additionally strongly rooted across user onclose callbacks and microtask drains, and queue/socket cleanup has a one-way reentry guard.

Validated with a real refused connection (MySQLError, ERR_MYSQL_CONNECTION_CLOSED, correct message, populated stack), upstream sql-mysql-clean-reentry.test.ts, and the permanent SQL adapter gate. Overall progress remains tracked in #66.

9 days ago

SQL runtime/corpus parity advanced through position 3930 in 6e8886adb: the MySQL hostile result-set column-count/OOM lifecycle now passes its copied Bun regression. Home's virtual wire adapter now performs auth -> prepare -> execute and validates the malformed uint64-max column header, while the native runtime retains its allocation cap and dangling-slice protection. See #205 for the focused validation record.

9 days ago

SQL compatibility advanced through position 3937 in 67685e2f3: MySQL TLS downgrade rejection, native/caching auth policy, option propagation, lifecycle aliases, and insert-select/upsert/update helper behavior now pass 20 copied Bun assertions. Three real-server suites remain explicitly Docker-gated in this environment. See #205 for the focused breakdown.

9 days ago

SQL runtime/corpus parity advanced through position 3943 in 95fcf6905. Error handling now explicitly preserves pool bookkeeping when onclose throws, settles forced-close/refused queries for both adapters, rejects NUL-injected startup options and invalid TLS/CA inputs with structured codes, and rolls back failed transactions/savepoints. The tranche contributes 32 passing assertions; see #205 for the full matrix.

9 days ago

JSONL rewrite debt is now eliminated in c664897 (feat(runtime): complete Bun JSONL parity).

  • Removed rewriteJsonlParseCorpus and all 12 Home-injected JSONL skip/TODO groups.
  • Restored 119 previously hidden tests: Home now runs 269/269 JSONL tests with 0 failures, 0 unsupported registrations, and 0 TODOs.
  • Kept the copied upstream file byte-identical to pinned Bun 4982b91e3702094330f3be3883354c52b8c01323; the 4 GiB bounds tests and 50,000-iteration leak workloads execute unchanged.
  • Added one shared production/corpus implementation covering streaming partials and offsets, first-value retention on boundary errors, one-shot coercion, typed-array subclass invariants, strict JSON whitespace/BOM handling, UTF-8 replacement behavior, and __proto__ data safety.
  • Pinned Bun control also reports 269/269 tests and 2,462 assertions.
  • Full home_rt: 1,816 passed, 19 skipped, 0 failed (1,835 total).

This closes the JSONL item in this tracker; the broader rewrite-removal issue remains open.

9 days ago

Terminal TODO-rewrite debt is removed in 2427cb8f2.

  • Deleted all three rewriteNativeTodoCorpus branches for terminal.test.ts, terminal-spawn.test.ts, and terminal-platform-gaps.test.ts.
  • The normal aggregate corpus path now executes those unchanged files through Home's production VM.
  • Home: 123 passed, 0 failed, 0 unsupported, 2 upstream non-running registrations.
  • Pinned Bun: 123 passed, 1 skip, 1 TODO, 0 failed, 323 assertions.
  • All three source files are byte-identical to pin 4982b91e3702094330f3be3883354c52b8c01323.
  • Full home_rt: 1,816 passed, 19 skipped, 0 failed.

No assertion, deadline, fixture, or workload rewrite was added. Platform completion remains tracked in #503; the broader suppression ledger stays open.

9 days ago

Bun.Image TODO-rewrite debt is removed in bbe83cd4f.

  • Deleted all four blanket rewriteNativeTodoCorpus branches for the main codec pipeline, adversarial hardening, resize kernels, and Sharp/libvips reference suite.
  • The ordinary aggregate Home corpus path now executes all four unchanged files through the production VM.
  • Home: 222 passed, 0 failed, 0 unsupported, 0 TODO.
  • Pinned Bun 4982b91e3702094330f3be3883354c52b8c01323: 222 passed, 0 failed, 7,132 assertions.
  • SHA-256 matches for all four copied files.
  • Debug build, formatting/whitespace checks, and the established full home_rt gate (1,816 passed, 19 skipped, 0 failed) are green.

No assertion, deadline, fixture, or workload rewrite was added. Cross-platform backend verification is isolated in #593; the suppression ledger remains open for other feature families.

9 days ago

WebSocket server suppression removed in 351e1b1.

Production parity fix:

  • ServerWebSocket.cork(callback) now passes the live ServerWebSocket wrapper as both JavaScript this and callback argument 0, matching pinned Bun 4982b91.
  • This fixes upstream oven-sh/bun#21588 coverage: cork() passes ws to callback.

Corpus activation:

  • Removed the blanket native TODO rewrite for js/bun/websocket/websocket-server.test.ts.
  • Added exact native test-runner routing plus negative routing coverage.
  • The vendored file is byte-identical to pinned Bun (SHA-256 419847c7198077dc05b9ef7a6b5a6113c3e7f756523bcbc690ed8a1a22b9938c).

Verification:

  • Home exact file: 93 pass, 3 upstream TODO, 0 fail, 0 unsupported.
  • Pinned Bun exact file: 93 pass, 3 TODO, 0 fail, 246 expect() calls.
  • Home js/bun/websocket directory: 4 files, 98 pass, 3 TODO, 0 fail, 0 unsupported.
  • Stable home_rt gate: 1,816 passed, 19 skipped, 0 failed.

No corpus source edits, compatibility shims, delegated Bun execution, or weakened assertions were used.

9 days ago

Two more blanket native TODO rewrites were removed in e526ac1:

  • js/bun/http/bun-serve-ssl.test.ts
  • js/bun/http/tls-keepalive.test.ts

Both untouched files now use exact production-VM test-runner routing. Negative routing coverage prevents similarly named fixtures or nested files from being admitted accidentally.

macOS verification:

  • Home SSL validation matrix: 16 pass, 0 fail, 0 unsupported, 0 TODO.
  • Home TLS keepalive/cache matrix: 6 pass, 0 fail, 0 unsupported, 0 TODO.
  • Pinned Bun 4982b91: combined 22 pass, 0 fail, 40 expect() calls.
  • Debug build passed.

Source identity:

  • tls-keepalive.test.ts SHA-256 c4c60a71371d4712d22b8c2208578865142f5fbce9c3e8bc52a6e8809534938f
  • bun-serve-ssl.test.ts SHA-256 f88474f3158c518f2408bf7be9761169b921fc4eb727e058be3201c9f6560ad7

No corpus edits, delegated Bun execution, relaxed assertions, or compatibility shims were used. Cross-platform verification is tracked separately in #594.

9 days ago

Activated another exact native Bun corpus file in c4ebc94 (fix(runtime): release abandoned promise contexts):

  • Removed the blanket TODO rewrite for js/bun/http/serve-pending-promise-abort-leak.test.ts.
  • Added exact-path production-VM routing plus positive and negative routing coverage; its spawned fixture is deliberately not admitted as a standalone test.
  • Fixed the production lifetime bug: NativePromiseContext.zig was binding Task and VirtualMachine to a private test stub even in JSC builds, so the GC destructor incremented a fake queue counter instead of scheduling the deferred request-context deref on the real VM event loop.
  • Production JSC builds now bind the real task queue and real HTMLRewriter owner types; deliberately JSC-less unit builds retain isolated stand-ins.
  • Replaced stub-queue-dependent unit coverage with pure pointer/tag packing and complete tag round-trip coverage.

Before the fix, Home reported 5 passed / 1 failed and the subprocess diagnosed LEAK: 100 RequestContexts were never freed.

Verified after the fix:

  • Home exact untouched file: 6 passed, 0 failed, 0 unsupported, 0 TODO; 20 assertions
  • Pinned Bun 4982b91e3702094330f3be3883354c52b8c01323: 6 passed, 0 failed; 20 assertions
  • Full stable home_rt gate: 1,816 passed, 19 skipped, 0 failed
  • Final debug build and Zig format/diff checks passed

Byte identity:

  • test: 97c18750a1ddbe418299b745c5907adb5b49deccfa71667d1ced134a22dc2463
  • spawned fixture: 93d7b4909d9d84c67b63ebfbbece566892103f885cbda621a04f05668208bc20
  • 413 fixture: fbc351943bec46a3ea2f74bfcb0cf67b2d2850308a175ec8bae8b28f44039432

Cross-platform and lol-html follow-up is tracked in #595. The current build does not enable lol-html, so that owner path remains a focused acceptance item rather than a claimed green corpus result.

9 days ago

Activated the exact native js/bun/http/proxy.test.js file in de6c192 (fix(runtime): harden HTTP proxy handling).

  • Removed only that file from the blanket proxy TODO rewrite.
  • Added exact-path production-VM routing with positive and negative coverage.
  • Vendored source is byte-identical to pinned Bun: SHA-256 3137d1a47808d7a11615f02323f1a18b774647e9ca08feddd7332657186d2a78.
  • Home: 16 passed, 8 TODO, 0 failed, 0 unsupported.
  • Pinned Bun 4982b91e3702094330f3be3883354c52b8c01323: 16 passed, 8 upstream skips, 0 failed, 26 assertions.
  • The 8 Home TODOs are the same upstream PROXY_URL-conditional tests, not Home-added exclusions.
  • Full stable home_rt: 1,816 passed, 19 skipped, 0 failed.

The same commit also ported two production fixes exercised by the still-suppressed exact proxy.test.ts: standard RFC 7617 Base64 for generated Proxy-Authorization credentials and RFC 9110 behavior that surfaces a non-2xx CONNECT response without following its Location header. Those three formerly failing assertions now pass. The larger file improved from 42 pass / 5 fail to 45 pass / 2 fail; it remains honestly suppressed until #596 closes both remaining runtime gaps.

9 days ago

Removed the blanket Home-injected TODO for the exact js/bun/http/proxy.test.ts in f813c1d2b7e2d6fa0105a707726739f5ecd35b70 and added it to the native production-VM proxy route.

The untouched file now matches pinned Bun exactly on macOS: 47 passed, 1 upstream skip, 0 failed, 177 assertions. No source rewrite, extra skip, or assertion change is involved. Runtime gate: 1,816 passed, 19 skipped, 0 failed.

Feature/platform follow-up: #596. Remaining S3 facade work exposed by this batch: #597.

9 days ago

Suppression removal landed in 2d212a7d8, closing #602.

Removed:

  • the four-group test.failing rewrite that converted nested subprocess pass/failure/timeout/done-callback reporter tests into 8 Home-injected TODO registrations;
  • the stale async-generator IPC/header-continuation suppression helper.

Native evidence in both Debug and ReleaseSafe:

  • js/bun/http/async-iterator-stream.test.ts: 86 pass / 0 fail / 0 TODO / 0 unsupported.
  • js/bun/test/test-failing.test.ts: 8 pass / 0 fail / 0 TODO / 0 unsupported.
  • Combined: 94 pass / 0 fail / 0 TODO / 0 unsupported.
  • Pinned Bun reports the same 86 + 8 passing tests.
  • Source SHA-256 matches the pinned Bun checkout for both files.

The native corpus inventory is now 280. #202 remains open for the other Home-injected rewrite sites.

9 days ago

Suppression ledger update: pushed 0a08ebb and removed two rewrite clusters entirely.

Removed:

  • rewriteRequireResolveCorpus: no longer converts it.failing to todo and no longer skips the non-JS resource loader matrix
  • rewriteSnapshotTestCorpus: no longer injects TODO/skip coverage for inline source rewriting, matcher-error snapshots, error snapshot files, mixed numbering, or filtered snapshot writes

Both vendored files remain byte-identical to Bun 4982b91. Debug native results are require 10 pass / 3 upstream TODO / 0 fail and snapshots 62 pass / 1 upstream skip / 0 fail under the same FORCE_COLOR condition that makes the pinned Bun file pass. Issue #603 tracks the final ReleaseSafe verification.

9 days ago

Another two source-rewrite workarounds were removed in c33a265, tracked by #604:

  • rewriteMockModuleLiveReexportCorpus no longer rewrites static ESM bindings into __home_live_import accessors
  • rewriteMockModuleCorpus no longer replaces fixture imports, bindings, or import.meta.resolveSync calls with Home adapter helpers

The unchanged native files exactly match pinned Bun in Debug: 6879 is 2 pass / 0 fail, and mock-module is 9 pass / 1 upstream TODO / 0 fail. ReleaseSafe verification is pending external disk recovery.

9 days ago

Suppression/remediation ledger update at 11a7bcc:

  • deleted rewriteSinonIssue347Corpus
  • deleted rewriteHspecCorpus
  • promoted js/bun/test/fake-timers/sinonjs/issue-347.test.ts unchanged to the native test runner
  • promoted js/bun/http/hspec.test.ts unchanged, including its real static ./http-spec.ts import
  • removed the hspec filename-specific raw HTTP behavior gate and its dead helper; generic parser behavior now covers the protocol matrix
  • Debug, ReleaseSafe, strict, routed, and pinned Bun results all agree at 3 pass / 0 fail; routed Home has 0 unsupported

Tracked and completed in #605. ReleaseSafe acceptance also completes the pending verification for #603 and #604.

9 days ago

Suppression ledger update: 57fa4d277 removes three more source-rewrite paths and closes #606:

  • removed rewriteGlobMatchCorpus; js/bun/glob/match.test.ts now runs unchanged, backed by a real brace-aware matcher fix
  • removed rewriteBufferResolveObjectURLCorpus; js/node/buffer-resolveObjectURL.test.ts now runs unchanged with its non-null assertion intact
  • removed rewriteAsyncLocalStorageThenableCorpus; js/node/async_hooks/async-local-storage-thenable.test.ts now runs unchanged with its original TypeScript annotations/assertions

The three source files are byte-identical to pinned Bun 4982b91e3. Debug and ReleaseSafe each pass 33/33 in strict mode and 33/33 in routed mode, with zero unsupported tests and zero Home-injected TODOs.

9 days ago

Source-mutation ledger update: 63fbba675 deletes nine more corpus rewrites and closes #607.

Removed rewrites for eight Node URL fixtures plus node-inspect-tests/internal-inspect.test.js. These rewrites had converted upstream TODO/skip declarations into active tests; Home now preserves Bun source and accounting verbatim instead of mutating those registrations.

Pinned Bun, Home Debug strict, and Home ReleaseSafe strict all agree at 6 pass / 3 skip / 7 TODO / 0 fail. Routed Debug and ReleaseSafe each report 6 pass / 10 deferred / 0 fail / 0 unsupported because the reduced summary combines upstream skip and TODO registrations. All nine fixtures are byte-identical to Bun 4982b91e3.

9 days ago

TextEncoder/Deno parity batch landed on main in 6d9bf217be80896f40320bd888f266b1180ea293 and closed #608.

The production UTF-16 converter now matches current Bun scalar-boundary behavior, ten corpus source mutations were removed, Deno generated TypeScript uses the production parser, and upstream skip accounting is preserved. Selected current corpus matches pinned Bun exactly in strict Debug and ReleaseSafe (136 pass / 14 skip / 0 fail); routed is 136 pass / 14 deferred / 0 fail / 0 unsupported. Core runtime units are 1,821 pass / 19 skip / 0 fail. The entire 16-file Deno strict directory also matches pinned Bun at 226 pass / 17 skip / 1 TODO / 0 fail.

9 days ago

URL/Deno parity batch landed in 77fa3b9; focused tracking issue #610 is closed. The unchanged js/deno/url/url.test.ts and urlsearchparams.test.ts now match pinned Bun at 64 pass / 1 TODO / 0 fail in strict and routed modes. The complete 16-file Deno corpus is green in Debug and ReleaseSafe: strict 226 pass / 17 skip / 1 TODO / 0 fail, routed 226 pass / 18 deferred / 0 fail / 0 unsupported. Runtime units remain green at 1,821 passed / 19 skipped / 0 failed.

9 days ago

Source-mutation ledger update: a0e4e7b removes rewriteRequestSubclassCorpus and rewriteFetchPreconnectCorpus, closing #611. Shared module lowering now erases declaration-only undici-types imports and accepts compact side-effect imports emitted as import"harness". The byte-identical Request subclass and fetch.preconnect fixtures pass 14/14 in Debug and ReleaseSafe routed mode with 0 TODO and 0 unsupported. The separate strict production --fetch-preconnect socket gap is tracked honestly in #612 (11 pass / 1 unchanged timeout) and was not masked with a timeout or fixture change.

9 days ago

Closed #612 via a142501. Home’s direct VM startup now honors the parsed --fetch-preconnect option through the same shared URL validation and HTTP scheduling path as Bun’s CLI boot. The unchanged fetch-preconnect.test.ts fixture passes 12/12 in Debug and ReleaseSafe strict production execution and 12/12 routed, with zero TODO/unsupported cases. Runtime units: 1821 pass, 19 skip, 0 fail.

9 days ago

Loader corpus parity batch completed in ee0b5ee; focused issue #613 is closed.

The corpus runner no longer uses fixture-specific rewrites for JSON5, YAML, TOML, text-loader, or import-query. A shared syntax-driven static data-loader import lowerer now handles extension-selected JSON5/YAML/YML/TOML and supported explicit import attributes, while native dynamic import covers the text-loader and query cases.

Final-tree parity: pinned Bun, Home Debug strict/routed, and Home ReleaseSafe strict/routed each report 35 pass, 0 fail, and 104 expect calls across the same five unchanged upstream files. The 10,000-import stress workload is preserved byte-for-byte. Both builds succeeded; no fixture/deadline/assertion changes or heap snapshots.

9 days ago

Upstream-accounting cleanup completed in fd95751; #614 is closed.

Removed four stale corpus rewrites plus the memfd-specific synthetic subprocess result. The runner now keeps Bun shell which at its original 100,000-character workload, preserves the two macOS memfd skips and the different-directory snapshot TODO, and lowers RuntimeError through the shared module-import path.

Pinned Bun and final rebased Home Debug/ReleaseSafe, strict/routed, all report the identical result across the four unchanged files: 3 pass, 2 skip, 1 todo, 0 fail, and 4 expect calls. Both builds succeeded; fixtures remain byte-identical and no assertions, deadlines, or workloads were weakened.

9 days ago

Archive path-safety parity completed in 54eabc0; #615 is closed.

Home now ports Bun’s real overlong-path guard before fixed-buffer normalization and rejects archive pathname component stacks that would climb above the extraction root before filesystem *at calls, while preserving safe a/../b normalization. The upstream Archive fixture is byte-identical to pinned Bun and its new 40K-path regression is included. The blanket Archive using/await using rewrite was removed in favor of shared resource-management lowering.

Pinned Bun and final Home Debug/ReleaseSafe strict+routed all match exactly: 101 pass, 1 skip, 0 fail, 10,473 expect calls. Runtime units are 1,822 passed, 19 skipped, 0 failed. The adjacent symlink traversal suite passed six consecutive Debug/ReleaseSafe reruns. No assertions, deadlines, fixtures, or workloads were weakened.

9 days ago

Removed two more fixture-specific source rewrites in 078363fa4:

  • rewriteBunWriteCorpus and its dispatch branch; the shared mixed default/named import lowering now handles fs, path, and harness directly
  • rewriteSymlinkPathTraversalCorpus and its dispatch branch; production explicit-resource lowering now receives the unchanged using dir = tempDir(...) declarations

Also synchronized the lagging packages/runtime/upstream Bun.write mirror byte-for-byte with current Bun, adding the three upstream BunFile name/GC cases.

Validation:

  • five affected corpus files byte-identical to current Bun
  • pinned Bun, Home Debug strict, and Home ReleaseSafe strict: 49 pass, 0 fail, 1,457 assertions
  • Home Debug/ReleaseSafe routed: 49 pass, 0 fail
  • runtime units: 1,822 passed, 19 skipped, 0 failed

The symlink rewrite removal is backed by the real installer fixes in #616 / a6a7c4e38, not a relaxed fixture.

9 days ago

Removed two more Home-injected corpus rewrites in 3ff2b32 (fix(runtime): preserve install corpus controls).

What changed:

  • Deleted rewriteInstallLifecycleCorpus, so bun-install-lifecycle-scripts.test.ts keeps Bun's MAX_CONCURRENT = 12 semaphore instead of being changed to 100000.
  • Deleted rewriteConfigVersionCorpus, so config-version.test.ts keeps its real registryCanServe=false state, bounded 30-second readiness probe, fetch of the no-deps manifest, and conditional skip logic.
  • Made the routed Verdaccio harness own a start/stop-scoped local registry endpoint that returns npm-shaped no-deps and published-package metadata, with EADDRINUSE and 404 behavior.
  • Replaced the old path allowlist for top-level await with production-parser detection and made the runner await module initialization before starting registered tests. Nested awaits in lifecycle callbacks remain in the normal synchronous module wrapper.
  • Added regression coverage that asserts both upstream control blocks remain intact and exercises registry start/fetch/stop behavior.

Corpus integrity:

  • lifecycle SHA-256: e8a61329a8ff80dc32b20e9ee48d566bf55b8e279f04b465dc5cc64f8f1b5e95
  • config-version SHA-256: e404811420ee5ce82e193212d64c1e049403f853fd71d99d4878b2c69247086f
  • Both Home copies are byte-identical to /Users/chris/Code/bun.

Validation:

  • Home Debug routed: 63 pass, 0 fail, 0 unsupported (60 lifecycle + 3 config-version).
  • Home ReleaseSafe routed: 63 pass, 0 fail, 0 unsupported.
  • Runtime units: 1,822 passed, 19 skipped, 0 failed (1,841 total; 1 fuzz).
  • Post-rebase Debug rerun: 63 pass, 0 fail.

Independent full-VM/reference-Bun validation is currently blocked before test registration because neither installed test tree contains the locked verdaccio/bin/verdaccio dependency. That reproducibility issue is tracked separately in #618; no fixture or assertion was changed to mask it.

9 days ago

Pushed ea49b0e (fix(runtime): execute small list growth corpus) to main.

This removes all three synthetic controls around js/bun/css/small-list-grow.test.ts:

  • the file-specific source rewrite that replaced Bun.spawn
  • the field-name-based spawn interception that fabricated { deltaMB: 64, hasFirst: true, hasLast: true }
  • the blanket bun -e + Bun.build interception that fabricated { success: true, outputs: 1 }

The mirrored fixture remains byte-identical to Bun at SHA-256 2f4983ed9131bb7d2a0a543e17ad4c082c0e9d0c1a68210254fd89144bf0785c. It now executes its unchanged 3000 rules x 100 selectors workload through a real Home subprocess and real Bun.build output/RSS measurement. Added allocator-level SmallList coverage that records allocation requests across repeated heap-to-heap growth and would catch the original element-count multiplication.

Validation:

  • Home Debug routed: 1 pass, 0 fail, 0 unsupported
  • Home Debug strict full VM: 1 pass, 0 fail
  • Home ReleaseSafe routed: 1 pass, 0 fail, 0 unsupported
  • pinned Bun canonical fixture: 1 pass, 0 fail
  • full home_rt: 1,823 passed, 19 skipped, 0 failed (1,842 total; 1 fuzz)
  • Debug and ReleaseSafe builds passed
  • post-rebase Debug and exact routed fixture passed
  • no heap snapshots produced
9 days ago

Pushed 907ebf8d5 (fix(runtime): restore webcrypto and body stream matrices) to main.

This removes another ten Home-injected corpus suppressions:

  • deleted the WebCrypto generateKey WPT test.todo rewrite
  • deleted all nine body-stream.test.ts reductions: HTTP/3 removal, BodyMixin narrowing, Request-object narrowing, fast-path narrowing, input-fixture narrowing, delay removal, payload-size reduction, typed-array/view reduction, and direct-stream removal

The routed WebCrypto helper is no longer an empty registry. It now ports the upstream algorithm/specifier/usage combinatorics, and the runtime implements the behavior exposed by those vectors: case-insensitive canonical names, normalization/error ordering, hash/property validation, allowed and mandatory usages, deduplication, public/private usage splitting, public-key extractability, public raw exports, and the CryptoKey toString tag.

Corpus integrity:

  • body-stream.test.ts: SHA-256 2bb66f397c0dbe473809de6787bccdc1c740e5956c49f9a4b5e9fd8957520e3f
  • wpt-webcrypto.generateKey.test.ts: SHA-256 d1dc758ad2a84c0d6f7c3ec627c390614bd127fa6a75c62ee8a3f6b10a547ad9
  • both files are byte-identical to /Users/chris/Code/bun

Validation:

  • Home Debug routed body-stream: 9,086 pass, 0 fail, 0 todo (full run, 2h06m)
  • Home Debug routed WebCrypto: 10,226 pass, 0 fail, 0 todo, including post-sync/post-commit reruns
  • Home ReleaseSafe routed WebCrypto: 10,226 pass, 0 fail, 0 todo
  • Home Debug strict full VM, both files: 19,312 pass, 0 fail, 165,330 assertions
  • pinned Bun, both files: 19,312 pass, 0 fail, 165,330 assertions
  • full home_rt: 1,823 passed, 19 skipped, 0 failed (1,842 total; 1 fuzz)
  • Debug and ReleaseSafe builds passed
  • no heap snapshots produced

The broader home_test package gate is not green and was not represented as green: 1,337 passed, 1 skipped, 106 failed. The two new source-preservation regressions passed; the failures expose existing broader debt including stale corpus counts versus the newly changed local Bun checkout, N-API toolchain setup, and HTTP/HTTP2 event-loop contracts.

9 days ago

Pushed ecbecd6a5 (test(runtime): execute Bun test helper fixtures unchanged) to main.

This removes two Home-injected native TODO rewrites:

  • js/bun/test/test-fixture-diff-indexed-properties.js
  • js/bun/test/test-interop.js

The change also removes the synthetic ./test-interop.js module from the bootstrap prelude and the associated import/async-stripping rewrites. The three real consumers (expect-extend.test.js, mock-fn.test.js, and expect.test.js) now run through Home native module loading against the unchanged upstream helper.

The indexed-property fixture is intentionally failing upstream, so the corpus gate now executes it unchanged and validates its real contract: exit code 1, exactly one failed test, the expect(received).toEqual(expected) diff, and no undefined artifacts. It is counted as one verified fixture contract rather than converted to a TODO.

Verification:

  • all five vendored files are byte-identical to Bun checkout 4982b91e3702094330f3be3883354c52b8c01323
  • focused ReleaseFast JSC corpus-gate test passed
  • exact integrated result: 500 logical passes, 10 upstream TODOs, 0 Home-added TODOs, 0 failures, 0 unsupported
  • unchanged direct matrices: expect-extend 28/28 with 20,088 assertions; mock-fn 72/72 with 497 assertions; expect 398 pass plus 10 upstream TODOs with 2,263 assertions
  • rewriteNativeTodoCorpus call sites are now down to 19

An initial unscoped aggregate run also surfaced unrelated existing failures in TypeScript object-rest conformance and Bake development/production fixtures. The isolated home_rt verification for this change passed.

9 days ago

Pushed 8ec6124a7 (test(runtime): restore Bun test runner matrices) to main.

Removed three more Home-injected whole-file TODO rewrites and routed the unchanged upstream files through Home native test execution:

  • js/bun/test/fake-timers/sinonjs/fake-timers.test.ts
  • js/bun/test/test-test.test.ts
  • js/bun/test/printing/diffexample.test.ts

Exact results from the unchanged Bun sources:

  • Sinon fake timers: 0 pass, 438 upstream TODO, 0 fail. The 438 cases are explicitly under upstream describe.todo; Home no longer collapses them into one synthetic TODO.
  • Bun CLI test-runner behavior: 24 pass, 16 upstream skips, 0 fail, 2 snapshots, 165 assertions. This includes the real subprocess check for the indexed-property diff fixture.
  • Diff-printer snapshots: 2 pass, 0 fail, 3 snapshots, 7 assertions. Both color and no-color subprocess outputs match the upstream inline snapshots.

The consolidated ReleaseFast JSC corpus gate passed across the eight related files now covered by this tranche: 526 logical passes, 464 upstream TODO/skips, 0 Home-added TODOs, 0 failures, and 0 unsupported results. All eight sources are byte-identical to Bun checkout 4982b91e3702094330f3be3883354c52b8c01323.

Remaining rewriteNativeTodoCorpus call sites: 16.

9 days ago

Pushed 34873c58c (test(runtime): restore Bun plugin and binary audits) to main.

Removed two more Home-injected whole-file TODO rewrites:

  • js/bun/plugin/plugins.test.ts: unchanged native matrix passes 31 tests with 1 upstream TODO, 1 snapshot, 53 assertions, and 0 failures.
  • js/bun/symbols.test.ts: now follows upstream platform semantics. It is explicitly allowed empty on macOS/other non-Linux/non-Windows targets, must run 2 glibc/linkage audits on Linux, and must run the PE import audit on Windows. A zero-test result on Linux or Windows remains a coverage failure.

The focused ReleaseFast JSC corpus gate passed across the ten-file running tranche. On macOS: 557 logical passes, 465 upstream TODO/skips, 1 platform-allowed empty file, 0 Home-added TODOs, 0 failures, and 0 unsupported. All ten sources are byte-identical to Bun 4982b91e3702094330f3be3883354c52b8c01323.

Remaining rewriteNativeTodoCorpus sites: 14.

I also ran two unchanged suppressed suites to distinguish stale entries from real gaps:

  • Patch internals: 8 observed pass / 13 fail, then exit 138; tracked in #679.
  • REPL: 0 pass / 117 fail; Home currently treats repl as a script path and terminal tests time out; tracked in #680.
9 days ago

Pushed 791b59386 (test(runtime): restore Bun FFI matrices) to main.

Removed two more Home-injected whole-file TODO rewrites:

  • js/bun/ffi/cc.test.ts
  • js/bun/ffi/ffi.test.js

Both files already route through Home native addon execution; no compatibility shim was added. Exact unchanged-suite results:

  • TinyCC/cc: 8 pass, 10 upstream skips, 0 fail, 12 assertions. Passing coverage includes C execution, compiled symbols, missing-symbol errors, foreign-thread threadsafe callback delivery, callback close with queued invocations, and compiled-symbol/callback GC liveness.
  • FFI: 9 pass, 1 upstream build-fixture skip, 0 fail, 970 assertions. Passing coverage includes reads, dlopen errors, suffix behavior, pointer liveness, and loading more than 63 symbols via URL, file URL, Bun.file, and string paths.

Focused ReleaseFast JSC corpus gate: 17 pass, 11 upstream skips, 0 Home-added TODOs, 0 fail, 0 unsupported, 982 assertions. The test files and callback fixture are byte-identical to Bun 4982b91e3702094330f3be3883354c52b8c01323.

Remaining rewriteNativeTodoCorpus sites: 12.

9 days ago

Pushed 951c86eb4 (test(runtime): restore Bun HTML server matrices) to main.

Removed two more Home-injected whole-file TODO rewrites and routed the unchanged files through exact native HTTP/HTML execution:

  • js/bun/http/bun-serve-html-manifest.test.ts: 4 pass, 1 snapshot, 16 assertions.
  • js/bun/http/bun-serve-html.test.ts: 16 pass, 9 snapshots, 102 assertions.

Focused ReleaseFast JSC corpus gate: 20 pass, 0 TODO/skip, 0 fail, 0 unsupported. Coverage includes manifest validation and headers, bundled assets, static and wildcard routes, plugin success/failure/empty/concurrent loading, JSX runtime in development and production, and mixed API/HTML routing. Both files are byte-identical to Bun 4982b91e3702094330f3be3883354c52b8c01323.

The related HTML entry suite was also probed unchanged: 5 pass / 1 fail / 56 assertions. Only bun *.html fails because Home treats the glob as a literal missing path. That real gap is tracked in #681; its TODO remains until fixed.

Remaining rewriteNativeTodoCorpus sites: 10.

9 days ago

Pushed 6e27f3fc75cc4e1c1577df133c8bbd5d39d4d422 to main, removing two more blanket corpus TODO rewrites.

Restored unchanged native execution:

  • js/bun/http/bun-server.test.ts: 45 pass, 2 upstream skips, 0 fail.
  • js/bun/webview/webview-chrome-ws.test.ts: 5 authentic upstream todos when no interactive Chrome remote-debugging session is approved, 0 fail. This replaces Home's synthetic one-test blanket TODO with the exact Bun source behavior.

Both files are byte-identical to Bun checkout 4982b91e3702094330f3be3883354c52b8c01323. Exact routing and result-count regression assertions were added. The focused ReleaseFast/JSC gate passed all three project test targets.

Whole-file rewriteNativeTodoCorpus call sites are now down from 10 to 8.

The paired strict probes exposed real remaining blockers without changing tests:

  • serve.test.ts: 188 pass, 1 upstream skip, 1 upstream todo, 11 fail. Split into #682, #683, #684, and #685.
  • shell/leak.test.ts: 4 pass, 38 fail because relative process.argv0 cannot be spawned after the fixture changes cwd. Tracked in #686.

No fixture rewrite, skipped case, relaxed deadline, reduced workload, or synthetic compatibility behavior was added.

9 days ago

Runtime progress pushed in b4effd236ab23cd3572d28ccc56665b9785e2972.

Implemented four unchanged js/bun/http/serve.test.ts contracts behind the remaining whole-file suppression:

  • null-body response framing for 204, 205, and 304, using Bun's 101/103/204/205/304 render path;
  • strict boolean validation and exact diagnostics for TLSOptions.requestCert, TLSOptions.rejectUnauthorized, and TLSOptions.lowMemoryMode.

Targeted result: 5 pass / 0 fail, including the surrounding multi-TLS validation case.

Full unchanged result: 192 pass / 1 upstream skip / 1 upstream todo / 7 fail, improved from 188 / 1 / 1 / 11. The remaining failures are exactly #684 and #685, so the whole-file TODO stays until both are implemented. #682 and #683 are closed.

Formal validation:

  • clean ReleaseFast/JSC install build passed;
  • focused ReleaseFast/JSC home_rt: substrate compiles gate passed all 4 targets;
  • no test rewrites, skips, relaxed deadlines, or reduced workloads.

The blanket TODO inventory remains at 8 files, but four formerly hidden assertions now pass natively.

9 days ago

Pushed f5ceee0b7b2d0a0aff6772471c0b5e6e1c96e0c1 (test(runtime): restore Bun shell leak corpus) to main.

Removed the Home-injected whole-file TODO rewrite for js/bun/shell/leak.test.ts after fixing the worker lifetime race in fe85ff1dd7be5d4026839513294ff1d93aa7bc77 (#686).

The exact path now routes through the native Home test runner. Regression coverage asserts exact-path classification, test-runner mode, absence of the old synthetic label, and the complete result contract: 42 pass, 0 TODO, 0 fail, 0 unsupported, 0 allowed-empty files.

Validation:

  • copied source is byte-identical to Bun 4982b91e3702094330f3be3883354c52b8c01323;
  • four consecutive unchanged full native runs passed 42/42 (168/168 total) after the pre-fix race reproduced as 41 pass / 1 exit-139 failure;
  • corpus router passes Zig AST validation;
  • no workload, assertion, timeout, or concurrency was reduced.

Whole-file rewriteNativeTodoCorpus call sites are now down from 8 to 7. serve.test.ts remains suppressed only for the five response-stream backpressure gaps in #685; its other 194 tests now pass unchanged.

9 days ago

Progress in cf32ab6: removed the whole-file js/bun/http/serve.test.ts TODO rewrite after porting Bun response-stream backpressure and drain behavior. The unchanged file now passes 199 tests with 0 failures and 2 upstream todos in four consecutive runs.

Whole-file native TODO rewrites drop from 7 to 6. Remaining suppressions are now limited to patch internals (#679), REPL (#680), HTML entry subprocess serving (#681), the broad shell parser/TestBuilder file, and the two WebView integration files. #685 is closed.

9 days ago

Port-progress update: REPL CLI and HTML glob entries landed on main in 010a6d8; focused issues #680 and #681 are closed.

Evidence against exact untouched fixtures from Bun 4982b91:

  • repl.test.ts: 117 pass, 0 fail, 248 assertions, repeated twice
  • bun-serve-html-entry.test.ts: 6 pass, 0 fail, 91 assertions, repeated twice
  • both copied fixtures remain byte-identical to Bun

This removes two more whole-file corpus TODO rewrites. The remaining whole-file rewrites are now four: patch internals (#679), Bun shell integration, WebView WebKit, and WebView Chrome.

The production ReleaseFast JSC executable builds successfully. A focused home_test-only link attempt still hits the existing unresolved-JSC-export limitation (447 symbols), so validation for this batch was performed through the built native executable and the exact upstream suites; the corpus classification source also passes Zig AST checks.

9 days ago

Port-progress update: patch internals landed on main in ab08189 and #679 is closed.

The unchanged Bun patch matrix now passes twice consecutively at 23 pass, 0 fail, 0 TODO, and 0 unsupported. This covers makeDiff, apply, creations/deletions/renames/mode changes, multi-hunk edits, invalid argument exceptions, CRLF and old-style parsing, oversized rename ENAMETOOLONG, and truncated header safety. The fixture is byte-identical to Bun 4982b91, and the production ReleaseFast/JSC build passes.

The whole-file native TODO rewrite inventory is now three: Bun shell integration, WebView WebKit, and WebView Chrome.

9 days ago

Shell corpus progress: e83b67b is pushed to main and closes #689.

The unchanged, byte-identical Bun shell fixture improved from 357 pass / 83 upstream TODO / 21 fail / 1 inter-test error / 991 assertions to 369 pass / 83 upstream TODO / 9 fail / 0 inter-test errors / 1028 assertions. The exact 461-test native-VM run repeated with the same result. ReleaseFast/JSC also passed.

No corpus TODO, skip, assertion, timeout, workload, or fixture content changed.

The nine remaining active shell failures are now split into:

  • #690 environment propagation and assignment/export semantics: 5 failures
  • #691 redirect buffer pinning and input snapshot ownership: 3 failures
  • #692 broken-pipe pipeline lifecycle: 1 failure

The shell fixture still contains 83 TODOs, all inherited verbatim from upstream Bun; this work did not add or rewrite any.

9 days ago

Shell parity advanced on main in 0bc37d2. Ported Bun redirect ownership semantics: stdin ArrayBuffer data is snapshotted at command start, output buffers are transfer-pinned and GC-rooted through native completion, and pins are balanced during cleanup. Also synchronized PWD with the corpus runner internal cwd. Exact unchanged bunshell.test.ts results are stable across two runs at 377 pass / 83 upstream todo / 1 fail, up from 369 / 83 / 9. Closed #690 and #691; only #692 remains for this fixture.

9 days ago

The unchanged Bun shell fixture is now failure-free on main after f575a8d. The corpus launcher reconstructs the Bun repository-relative layout from packages/runtime, loads the mirrored root bunfig explicitly, and routes tests through test/test. Two consecutive original root-level runs: 378 pass / 83 upstream todo / 0 fail / 1035 assertions across 461 tests. Issue #692 is closed; issues #690 and #691 were closed by the preceding 0bc37d2 batch.

9 days ago

Published 2129e4a82 to origin/main. Removed the final three whole-file TODO substitutions (shell integration, WebKit, Chrome) and deleted rewriteNativeTodoCorpus. Original tracked test bytes are preserved; native routing now exercises those complete matrices. The new compiled routing/source regression passes, zero logged errors/leaks.

Four ordinary routes report 487 passes / 89 upstream TODOs / 0 failures / 0 unsupported registrations: WebKit 57/1/0, shell 378/83/0, Chrome 52/0/0, Chrome WebSocket 0/5/0. TODOs are not implemented coverage. The first strict Chrome run remains a real 51-pass/1-failure result tracked in #694; a later pass does not erase it.

This does not close the adapter-removal issue: other adapters and test-level substitutions remain. The optimized full aggregate is incomplete (stopped with exit 143), with separately tracked conformance #695, shared feature flags #696 and Request stress memory growth #697. Full corpus parity is not achieved. #66 now has the current main publication and complete evidence/limits.

9 days ago

Published 5e45c58a3 to origin/main. All four Request corpus files now route to the production runtime: 24 passes, zero failures/TODOs/unsupported cases, with unchanged source, allocation workloads and memory limits. The previous bootstrap stress/subclass execution is replaced with native coverage, and native file/directory/subset/full-gate dispatch no longer initializes the unused bootstrap VM.

The focused native/mixed-engine regressions pass 4/4 (three named Request tests plus the registration guard), with the names independently verified from the compiled metadata. Full native build 46/46; shell shared-dispatch regression 378 pass / 83 upstream TODO / 0 fail. #697 closes this migration; remaining bootstrap shims and adapters are still open here. #698 records the next Headers/Response activation and its required real process context. No whole-suite parity claim.

9 days ago

Next removal batch is #699, following the Headers/Response launch-context fix in #698. Seven unchanged body/stream files have strict-native baselines of 9,467 passes, four upstream skips and zero failures in both Home and pinned Bun. This includes the full 9,086-case HTTP/3-inclusive body-stream matrix.

The body-clone adapter audit identified three concrete substitutes to remove when activating those files: __home_spawn_fetch_body_clone_fixture fabricates successful child output; __home_body_normalized_reader_chunks deduplicates chunks only for that filename; the ReadableStream wrapper selects special pull handling only for that filename. Associated bootstrap-only execution coverage must migrate to the real native runner. This remains pending work, and those old adapter passes are not evidence of logical parity.

9 days ago

#698 is now published on origin/main in 649c3c48f. All six original Headers/Response files pass through ordinary native Home routes: 170 passes, no failures/TODOs/unsupported cases. The native launch context and absolute-path VM rewrite now preserve the mirrored Bun project root; a source link exposes Home's real runtime source to unchanged repository-relative shell commands.

Final build is 46/46; focused harness is 6/6 with independently verified test names. Request, shell, WebKit, native Node script, bootstrap microtasks and expected-failure accounting remain passing. #66 is updated and #698 is closed. The next concrete activation/removal work is #699; the remaining bootstrap adapters and full aggregate/parity are still incomplete.

9 days ago

#699 is published on origin/main in 04644b2d0. All seven original body/stream files now execute natively: 9,467 passes, four upstream skips, zero failures or unsupported cases. The fabricated clone child result, filename-specific chunk deduplication and special clone stream branch are removed. The focused harness passes 4/4 with verified discovery; the optimized build passes 46/46.

#66 is updated and #699 is closed for that completed activation/removal scope. The adjacent original Request deadline failure remains open in #701; a later diagnostic pass was not counted as a repair. #700 is the next Blob activation/removal batch. Full aggregate/parity and the remaining adapters are still incomplete.

9 days ago

The current Blob batch (#700) removes the UTF-16 child interception and the filename-specific Object.defineProperty/prototype-descriptor substitute together. Its six-file native matrix and retained bootstrap byte-storage test are compiling.

The next concrete removals are recorded in #702: fake FormData-to-JSON child output and the FormData-file-error-leak-fixture.ts branch returning fabricated RSS values. All five original HTML web files already have strict-native baselines in Home and pinned Bun: 145 passes, one upstream platform skip and 530 assertions per runtime. The native memory child measures actual growth; this is separate from the pending ordinary-route migration.

9 days ago

#700 is published on origin/main in f491cacd7. All six original Blob files execute natively: 65 passes, no failures/TODOs/unsupported cases. The UTF-16 child interception, global filename-specific prototype-property override and synthetic descriptor lookup are removed. The build passes 46/46 and the focused harness 4/4 with verified discovery.

The current ordinary body, Headers/Response, Request and selected bootstrap regressions pass. #701 remains open for the previously observed Request deadline failure. Direct auditing against the pinned Git objects verifies all executable source bytes, raw symlink targets and executable modes, with only the historical expectations-file content difference.

#66 is updated and #700 is closed. #202 now explicitly distinguishes its historical adapter-green claim from real native parity. #702 remains the next HTML web activation/removal batch; full aggregate/parity and remaining semantic substitutes/build ownership are still incomplete.

9 days ago

#702 is in implementation/testing: the complete five-file HTML web directory is routed natively and both fabricated FormData child-output/RSS paths are removed. The batched optimized build and focused harness are still running; no new passing result is claimed yet.

The broader exact-predicate/discovery audit is now tracked in #703. In this candidate, the 4,708-file Home inventory still routes 4,267 files through the bootstrap adapter; only 441 route natively. Pinned Bun's CI discovery selects 4,754 tracked paths before exclusions, with 78 absent from Home's classifier and 32 Home-only helper/fixture entries. Four mode differences and a missing upstream Node test config need semantic reconciliation. These are inventory findings, not suite passes. #703 is the next larger native execution migration after #702, and #202's historical adapter green result remains insufficient proof of logical parity. #701 and #694 remain open.

Sign in to comment on this issue.