ReviewOS

home-lang/home

Port bun:jsc VM introspection and serialization matrix

#133
Closed chris opened this 10 days ago ·
10 days ago

Scope

Activate Bun’s byte-identical js/bun/jsc/bun-jsc.test.ts matrix. The file covers VM description, GC/heap counters, random seed, rope/origin/JIT hooks, protected objects, timezone mutation, structured serialization/deserialization, profiling reuse, malformed payload rejection, and non-extractable CryptoKey safety.

Baseline

  • exact corpus: 0 passed, 0 failed, 0 unsupported, 1 native todo
  • corpus matches ~/Code/bun byte-for-byte
  • direct Home native probe confirms all 23 imported bun:jsc APIs exist as functions

Acceptance criteria

  • expose reusable logical behavior for active APIs; use real native bridges where state/allocator fidelity matters
  • preserve all upstream active tests and upstream conditional todos exactly
  • preserve real subprocess checks for malformed serialization payloads and CryptoKey extractability
  • no fabricated aggregate pass result or reduced loops
  • add permanent regression coverage with exact active/todo counts
  • exact corpus and full home_test gate pass
  • commit/push as Chris Breuer without coauthors and update #66

If serialization hardening requires an independent implementation tranche, split it into a linked focused issue rather than weakening this scope.

10 days ago

Completed and pushed in 42f0207e48c6c239128013ca0d6ae9f8508e19fb (test: run Bun JSC matrix in native VM), with the linked concurrent work-queue repair in #134 / 238c03b79ff77e9495afab5760365629971932aa.

The byte-identical current ~/Code/bun/test/js/bun/jsc/bun-jsc.test.ts now automatically runs in Home’s full native VM instead of the plain JSGlobalContext corpus adapter. This exercises the real linked BunJSCModule: heap and GC introspection, rope detection, source origins, JIT hooks, protected objects, timezone mutation, structured serialization/deserialization, and sampling profiles.

Exact result: 31 pass, 0 fail, 0 todo. This includes all three hostile child-process regressions (object-pool OOB reference, 200k nested typed-array backing payload, and non-extractable CryptoKey serialization plus live HMAC signing). The full home_test gate also passes.

Sign in to comment on this issue.