Follow-up to #66 and #484. The restored module-record bridge uses evaluation phase explicitly for Home's current metadata producer; the current Bun C++ ABI also supports deferred phase, which the native Home parser/printer and cache metadata do not yet represent.
Native reproduction
HOME_NATIVE_VM=1 HOME_CORPUS_FULL_VM=1 ./zig-out/bin/home-debug test packages/runtime/test/bun-corpus/js/bun/resolve/import-defer.test.ts -t 'defers module evaluation until a property is accessed' --max-concurrency=1The unchanged upstream selection reports 0 pass / 1 fail / 19 filtered out / 1 assertion. Its child rejects import defer * as ns from "./dep.js" with Expected "from" but found "*", before testing deferred evaluation. Filtered cases are not passes; no full-file parity is claimed.
Required work
Port the syntax, resolution/evaluation behavior, import-phase metadata and serialization, namespace handling, and JSC bridge together. Preserve ordinary eager imports and cached SourceProvider reuse across isolated globals. Exercise the complete upstream deferred-import suite, including cache/warm-load paths; merely passing a true phase bit to C++ is insufficient.
Source pin: 4982b91e3702094330f3be3883354c52b8c01323. Reproduction was made during the native isolation work on codex/runtime-port. Keep this separate from parallel test coordination (#485) and fake-timer semantics (#490).