ReviewOS

home-lang/home

Bun parity verification: reconcile legacy resource timing no-op assertion

#874
Open chris opened this 8 days ago ·
8 days ago

The pinned Bun file test/js/node/perf_hooks/perf_hooks.test.ts asserts that global performance.markResourceTiming() does not throw with no arguments. The pinned native implementation was a TODO returning undefined.

Home now routes that call to actual resource creation and validates the cache mode before constructing an entry. The valid manual/global API and shared timeline conformance pass; a zero-argument call raises ERR_INTERNAL_ASSERTION, matching the local Node control. The unchanged broad Bun file therefore retains one registered failure. The call cannot both create a valid resource from absent timing/cache inputs and preserve the legacy no-op expectation.

Acceptance requires reconciling the upstream contract/assertion with real resource creation, without an argument-specific no-op, filename-dependent behavior or weakening assertions to hide a failure. Retain the existing failure until the contract is resolved.

Parents: #66, #869 and #873. This is a verification contradiction, not complete resource/fetch parity.

8 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.

Sign in to comment on this issue.