ReviewOS

home-lang/home

Bun corpus: reconcile obsolete inspector unsupported-runtime expectation

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

The pinned original test/js/node/inspector/inspector-profiler.test.ts contains an “unsupported method throws” case that posts Runtime.evaluate without its required expression and expects “not supported”. Home now dispatches actual Runtime.evaluate commands to JSC and verifies 42-valued evaluation through the native controller. Missing required parameters produce a real protocol error instead.

Source 035d2a491, verified evidence. The unchanged original retains 37 passing cases and one failure; final selected-original totals are 53 cases passed, one failed, plus seventeen process checks. The failure and strict validator rejection remain archived with no pass credit.

Acceptance:

  • Maintain positive Runtime.evaluate coverage through the actual engine, including value and notification/lifecycle behavior.
  • Cover genuinely unknown protocol methods and missing Runtime.evaluate parameters as distinct error contracts.
  • Reconcile obsolete unsupported-runtime expectations in maintained successor coverage without disabling implemented Runtime commands or changing error text solely to make a stale assertion pass.
  • Preserve the original pinned bytes and failed historical outcome in evidence/coverage ledgers; do not relabel the old case as passed.
  • Only claim full selected-suite success when its authoritative current tests and ledger agree.

Parents: #66 and #428. Worker-to-main attachment, all-context lifecycle, debugger pause/resume, enabled URL/wait lifecycle and every sampling/teardown mode remain separate incomplete inspector work.

8 days ago

Native local inspector sessions and sampled profiler agents are on main in 035d2a491, with 1054 verified artifacts.

GC-traced local channels dispatch actual JSC commands, route session-specific IDs, deliver registered owner-context notifications, support nested posts/callback disconnect, and retire on shutdown/global replacement. Native sampling brokers retain only immutable verified-frame data and preserve independent start/stop boundaries. Profiles use actual definition metadata, source IDs/URLs and integer microsecond timing. Bun's synchronous result extension and actual-main convenience are retained through real native dispatch; workers do not silently attach locally.

Owned pinned controller teardown releases non-owning checked references before destroying agents, and shared agents stay enabled until the last frontend disconnects. The initial checked-reference worker abort, earlier 240-second measurement deadline, compile/type/API failures, harness error and disk stops remain in evidence. Later focused and broader exact-source shutdown checks pass; the deadline cause is not claimed resolved.

56/56 Debug steps; all twenty-eight native groups; positive evaluation/notification/routing/reentrancy/reconnect/profile controls; fourteen ABI controls with 453 assertions; 32 validator controls. Twenty unchanged original files retain 53 passed cases, one failed unsupported-runtime expectation, plus seventeen process checks. #886 tracks the obsolete case, with no pass credit. All 148 report outcomes replay, retaining 25 negatives; fifteen source hashes match tested bytes. Pickier matches zero errors/ten baseline warnings, zero new findings; formatting/docs pass.

#428 stays open for full context lifecycle, worker attachment, debugger pause/resume, open/close/URL/wait lifecycle, full protocol schemas, coverage, CLI/session sampling coexistence, primordials, every shutdown schedule and all-platform/Release/ASAN. #885/#870 and full Bun-suite parity remain incomplete.

8 days ago

Verification checkpoint only; no implementation or passing-test claim. I prepared maintained successor controls for Runtime.evaluate success versus missing required expression and an unknown method, while preserving the pinned original. The existing home and home-debug binaries report jsc-disabled for this corpus route. Building a current JSC-enabled Debug executable under the mandatory 3,840 MB guard stopped at 4,339 MB, so those controls were removed uncommitted rather than published without execution. The historical original failure and its archived ledger remain unchanged. Build evidence: /home-lang/home/issues/855#issuecomment-6269177554. #886 still needs current native successor execution and notification/lifecycle coverage.

Sign in to comment on this issue.