ReviewOS

home-lang/home

Bun parity: complete performance counters and independent delay monitors

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

Node entry class checkpoint (2026-10-10): source e50b4c942 and verified evidence. Net and HTTP performance producers create privately branded PerformanceNodeEntry instances inheriting from global PerformanceEntry, preserving measured start/duration and merged request/response details. Read-only getters, receiver validation, fresh JSON objects with retained detail identity, class identity and the Node-compatible Object tag pass ordinary TCP/HTTP controls under Node and built Home. Behavior follows the Node entry reference.

24 native groups; 32 validator controls; 54/54 Debug steps. All 350 committed artifacts and 51 restored report outcomes validate; source hashes match committed bytes. Nine original selected files retain 62 passes plus three process checks, one failure/failed file (#874), 40 filtered cases and zero skips/TODOs. Assertions and snapshots are unchanged. Initial identity/tag-control failures, preliminary build, disk refusal and terminal cache cleanup remain visible. Pickier reports zero errors and three existing warnings.

Borrowed native base methods, constructor interactions, inspection, missing producers and full performance/platform verification remain open in #869/#873. Corpus integration remains in #876; HTTPS receiver/lifecycle in #875/#532. Excluded regressions remain unverified; full Bun suite, #872 and Release/ASAN/all-platform verification remain open under #66.

Observer queue/identity checkpoint (2026-10-10): source 83bf169b7 and verified evidence. Replacing mixed mark/resource observation with resource-only registration drains pending native entries before disconnecting native observation. Queued entries remain available through takeRecords() or the coalesced callback; subsequent excluded marks stay excluded. Supported entry types use one frozen sorted array with stable identity. Queue, callback, disconnect and repeated buffered-resource controls pass under Node and the built Home runtime, following the Node observer reference.

24 native groups; 32 validator controls; 54/54 Debug steps. All 358 committed artifacts and 51 restored report outcomes validate; source hashes match committed bytes. Nine original selected files retain 62 passes plus three process checks, one failure/failed file (#874), 40 filtered cases and zero skips/TODOs. Assertions and snapshots are unchanged. The pre-fix identity failure, admission refusals and cache cleanup remain visible; guards were preserved. Pickier reports zero errors and one existing quote-style warning.

Wider observer options/coercion/inspection, native base-class semantics, missing producers and platform/performance corpus verification remain open in #869/#873. Corpus integration remains in #876; HTTPS receiver/lifecycle remain in #875/#532. Excluded regressions remain unverified; full Bun suite, #872 and Release/ASAN/all-platform verification remain open under #66.

Binary ALPN/static SNI checkpoint (2026-10-10, corpus retains failure): source c3dd1b308 and verified evidence. TLS config owns explicit-length ALPN bytes through clone/free/transfer/equality/hash and socket consumers. HTTP selectors reference each retained context's config, including registered SNI contexts. Valid binary IDs, caller-buffer mutation, preference/context-content discrimination and trusted SNI controls pass. 21 native groups; ten ABI tests/684 assertions; five Zig tests; 54/54 Debug steps. Seven unchanged files retain 60 passes plus three process checks and one registered failure/failed file (#874), no skips/TODOs. All 76 committed archives and seven restored reports validate, including the failure. Initial string-conversion compile failure remains. #875/#532 remain open for dynamic callbacks/SNI handoff, reload, malformed-list validation and wider lifetime/platform coverage. Excluded regression files remain unverified; full Bun suite, #872 and Release/ASAN/all-platform coverage remain open.

HTTPS static ALPN checkpoint (2026-10-10, corpus retains failure): selector 264bf4d93, forwarding d21ce2d58 and verified evidence. HTTPS options now preserve ALPNProtocols and normalize array/buffer forms; the HTTP SSL_CTX selector reads server-owned config. Valid list preference, encoded buffer and reused-connection controls negotiate real HTTP/1.1 with certificate verification enabled. 20 native groups; ten ABI tests/684 assertions; five Zig tests; 54/54 Debug steps. Seven unchanged files retain 60 passes plus three process checks and one registered failure/failed file (#874), no skips/TODOs. All 75 committed archives and seven restored reports validate, including the failure. The initial namespace compile error remains. #875/#532 remain open for dynamic callbacks, SNI handoff, reload, encoding/length edges and wider lifetime/platform coverage. Excluded regression files remain unverified; full Bun suite, #872 and Release/ASAN/all-platform coverage remain open.

Fetch DNS/negotiated protocol checkpoint (2026-10-10, corpus retains failure): source 2dd946c6a and verified evidence. Resolver requests record monotonic lookup timestamps; the owned connector notifies typed HTTP owners at resolution, and TLS snapshots copy actual negotiated ALPN bytes. Usockets context.c uses exact qualified source selection, avoiding unrelated vendor basenames. Valid local lookup and trusted TLS-listener ALPN controls pass. 20 native groups; ten ABI tests/684 assertions; five Zig tests; 54/54 Debug steps. Seven unchanged files retain 60 passes plus three process checks and one registered failure/failed file (#874), no skips/TODOs. All 79 committed archives and seven restored reports validate, including the failure. #875 tracks HTTPS server ALPN option forwarding; absence of negotiation remains unset. DNS cache/coalescing/cross-thread and synchronous-cache edges, proxy/unix/other protocols remain in #873/#869. Excluded regression files remain unverified; full Bun suite, #872 and Release/ASAN/all-platform coverage remain open.

Fresh TCP/TLS fetch phase checkpoint (2026-10-10, corpus retains failure): source 7f0eb8a88 and verified evidence. Direct connect creation/open and TLS handshake callbacks publish measured connect-start/end and secure-start fields. Pooled requests leave new handshake fields unset; proxy/unix paths are not mislabeled. Valid fresh/pooled TCP and trusted local TLS controls pass. 20 native groups; ten ABI tests/684 assertions; four Zig tests; 52/52 Debug steps. Seven unchanged files retain 60 passes plus three process checks and one registered failure/failed file (#874), no skips/TODOs. All 76 committed archives and seven restored reports validate, including the failure. Initial wrong-CA/unnormalized-URL control failures remain; final verification uses the issuing CA without bypass. DNS, proxy/unix, protocol/ALPN, HTTP/2/3, complete redirect/cross-origin, failure/data/file and partial-consumption coverage remain open in #873/#869. Excluded regression files remain unverified; full Bun suite, #872 and Release/ASAN/all-platform coverage remain open.

Fetch response-phase/cork checkpoint (2026-10-10, corpus retains failure): source 4652005a4 and verified evidence. HTTP/1 snapshots distinguish first interim response from final headers, preserve redirect interval/final-hop start and keep one original-URL entry. A valid reuse control traced suppressed early hints to unmatched request corking; the Node adapter now uncorks its own request cork on the next tick. The ineffective ended-bit attempt is removed. 19 native groups; ten ABI tests/684 assertions; four Zig tests; 52/52 Debug steps. Seven unchanged files retain 60 passes plus three process checks and one registered failure/failed file (#874), no skips/TODOs. All 99 committed archives and seven restored reports validate, including the failure. Initial failed controls and disk refusal remain. Complete cross-origin/redirect/protocol exposure, DNS/TLS/connection phases, HTTP/2/3, failure/data/file cases and partial-consumption accounting remain open in #873/#869. Previously excluded regression files remain unverified and were not rerun; full Bun suite, #872 and Release/ASAN/all-platform coverage remain open.

Automatic HTTP/1 fetch resource checkpoint (2026-10-10, corpus retains failure): source 42ef6e765 and verified evidence. HTTP-thread snapshots measure request preparation, first response header data, transport completion and encoded bytes; tasklets accumulate decoded delivered bytes and publish once into the shared global/Node timeline. Valid local plain/stream/gzip/canceled-body controls pass with observer identity and sizes. 19 native groups; ten ABI tests/684 assertions; four Zig tests; 52/52 Debug steps. Final seven unchanged files retain 60 passes plus three process checks and one registered failure/one failed file (#874), no skips/TODOs. All 143 committed archives and seven restored reports validate, including the failure. HTTP/2/3, DNS/TLS/connection phases, complete redirect/informational timings, failed requests, data/file schemes and partial-consumption accounting remain open in #873/#869; missing timestamps are not fabricated. Previously excluded regression files remain unverified and were not rerun. Initial compile diagnostics/disk refusals remain; full Bun suite, #872 and Release/ASAN/all-platform coverage remain open under #66.

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.

Node resource timing/buffer checkpoint (2026-10-10): source 456552ef6 and verified evidence. Node resource entries expose live timing/body/cache/status/delivery data; queries, clearing, buffered observation, overflow recovery and listener/property handlers use the shared registry. Three WebCore resource/metrics implementations compile from Home, replacing external objects; eight selected implementation/header files match the pin with ABI/cache validation. Nine unchanged files: 81 passes plus three process checks, zero failures/skips/TODOs; 17 native groups; ten ABI tests/684 assertions; four Zig build-support tests; 48/48 Debug steps. All 88 committed archives and nine restored reports validate. Global WebCore creation/overflow and automatic fetch do not yet share the Node timeline; #873 tracks completion. Further arguments/selective clearing/native base-class interactions and broader performance semantics remain in #869. Windows/Linux/wider startup coverage, #872, remaining native/API ownership, complete Bun suite and Release/ASAN/all-platform verification remain open.

Branded performance observer entry-list checkpoint (2026-10-10): source affc7caaa and verified evidence. Node callbacks return actual exported PerformanceObserverEntryList instances with privately owned sorted buffers, native construction/receiver error codes, matching signatures, missing-argument checks, string coercion, nullish type filtering and copied arrays. Nine unchanged files: 81 passes plus three process checks, zero failures/skips/TODOs; 16 native groups; ten ABI tests/684 assertions; 42/42 Debug steps. All 88 committed archives and nine restored reports validate. The initial mistaken Node signature assertion and disk refusals remain; final checks follow terminal task-cache cleanup with guards unchanged. Full resource creation/buffering, supported-type breadth, inspection/global-constructor interactions and remaining option/error semantics stay open in #869. Windows/Linux/wider startup coverage, #872, remaining native/API ownership, complete Bun suite and Release/ASAN/all-platform verification remain open.

Performance observer queue/lifecycle checkpoint (2026-10-10): source 8b4b1cced and verified evidence. Mixed native/Node entries share a delivery queue; takeRecords drains both chronologically, callback receiver/owner identity is preserved, subscriptions validate before Node registry mutation, and disconnect invalidates queued data across re-observation. Nine unchanged files: 81 passes plus three process checks, zero failures/skips/TODOs; 16 native regression groups; ten ABI tests/684 assertions; 42/42 Debug steps. Final test-only net/mark coalescing assertions were rerun separately on the same executable and passed in Node/Home. All 84 committed archives and nine restored reports validate. Full resource construction/buffering, supported-type breadth, entry-list branding and remaining option/error semantics stay open in #869. Windows/Linux/wider startup coverage, #872, remaining native/API ownership, complete Bun suite and Release/ASAN/all-platform verification remain open.

Measured startup/node timing checkpoint (2026-10-10): source 5a45ba39b and verified evidence. Actual VM engine/environment/bootstrap/loop-entry/exit events are recorded relative to performance origin; v8Start names Home's JSC startup compatibility field. Live getters preserve measured idle time. Direct PerformanceEntry inheritance retains getters/toJSON; natural and explicit exit record timing before callbacks. Five unchanged files: 80 passes, zero failures/skips/TODOs; 15 native regression groups; ten ABI tests/684 assertions; 42/42 Debug steps. All 115 committed archive hashes and five restored reports validate. Initial prototype/brand failure and disk refusals remain; final verification reran after terminal executable cleanup with guards unchanged. Wider standalone/Bake/worker milestones, Windows idle measurement, Linux execution and full resource/observer behavior remain open in #869. #872, full Bun suite, remaining native/API ownership and Release/ASAN/all-platform verification remain open.

Measured POSIX event-loop utilization checkpoint (2026-10-10): source a63446494 and verified evidence. Per-loop thread-local monotonic counters measure actual kernel waits, keep callback time active and release state at loop teardown. The new factory uses the validated boundary after Bun's pinned dispatcher, preserving existing IDs/layouts. Cumulative counters, one-/two-snapshot subtraction and worker-local measurements pass. Five unchanged files: 80 passes, zero failures/skips/TODOs; 15 native regression groups; ten ABI tests/684 assertions; 42/42 Debug steps. All 113 committed archives and five restored reports validate. Initial compile failures remain, and all runtime scopes were rerun after the final executable hash changed. Windows libuv measurement is explicitly incomplete; Linux execution, startup milestones, full resource/observer behavior remain open in #869. The prior #872, complete Bun suite, remaining native/API ownership and Release/ASAN/all-platform verification remain open.

Native polling/loop ownership checkpoint (2026-10-10): ownership da012d086, platform selection accadac96 and verified evidence. POSIX polling and socket loop lifecycle compile from Home, excluding external objects. Both implementations and two ABI headers match the pin, with selected compiler/header roots, byte-identical ABI/cache checks and explicit C selection. Restored pinned behavior includes connect-error propagation and half-open polling. Five unchanged files: 80 passes, zero failures/skips/TODOs; 15 native regression groups including ordinary FIN/half-open closure; nine ABI tests/680 assertions; four Zig build-support tests; 42/42 Debug steps. All 115 committed archives and five restored reports validate. Disk refusal/terminal cache cleanup remain visible. This prepares the actual kernel-wait boundary; utilization/startup counters remain unimplemented in #869. Windows/libuv ownership, Linux execution, broader native/API behavior, #872, full Bun-suite and Release/ASAN/all-platform verification remain open.

Histogram recording checkpoint (2026-10-10): source dddd41ce9 and verified evidence. Records validate finite integer safe-range Numbers and positive signed-int64 BigInts before conversion. Rejected values leave counters unchanged; valid samples above configured range increment exceeds. Public constructor conversion handles immediate/heap BigInts. Four unchanged original performance files: 60 passes, zero failures/skips/TODOs; 14 native regression groups; nine ABI/ownership tests with 680 assertions; 38/38 Debug build steps. All 52 committed archives and four restored reports validate. The initial missing-template link failure is retained; the final implementation uses explicit checks. Direct constructor validation and broader performance semantics remain open in #869; earlier #872, full Bun-suite parity and Release/ASAN/all-platform verification remain open.

Histogram validation/BigInt checkpoint (2026-10-10): source 8b7cad010 and verified evidence. Construction validates object/integer/range/precision options, compares bounds exactly and preserves BigInt values into native int64 transport. Immediate and heap BigInts are supported. Four unchanged original files: 60 passes, zero failures/skips/TODOs; 14 native regression groups; nine ABI/ownership tests and 680 assertions; 38/38 Debug build steps. All 53 committed archive hashes and four restored original reports validate. Existing pinned exact extrema/BigInt-percentile semantics are preserved; the Node control's differing HDR bucket extrema are documented. Measured utilization/startup counters and full resource/observer semantics remain open in #869. The previous broad process failure #872, full Bun suite and Release/ASAN/all-platform verification remain open.

Home now owns the pinned node:perf_hooks, internal delay-monitor module and native histogram implementation in source commit 7abdd14, alongside readline and TTY. The 31-file connected checkpoint passes 130 registered tests and 24 process checks with no failures, skips or TODOs. This does not establish complete performance API semantics.

Remaining source-level gaps:

  • POSIX eventLoopUtilization() now measures kernel waits and active time with snapshot deltas, verified on Darwin arm64. Windows libuv measurement and Linux behavioral execution remain open.
  • PerformanceNodeTiming now reports measured engine/environment/bootstrap/loop-entry/exit events and live idle time, verified on Darwin arm64. Wider standalone/Bake/worker paths and platform execution remain open.
  • Manual Node resource creation, live getters, queries, clearing, buffered observation and overflow recovery are implemented. Global WebCore/fetch timeline unification remains #873, with selective clearing, coercion and native base-class interactions still open.
  • Independent delay monitors, weak lifetime, retained samples, safe-integer resolution and shutdown behavior are implemented and verified in the linked checkpoints; broader sampling/platform behavior remains open.
  • Histogram construction integer/BigInt bounds are implemented in the latest checkpoint. Direct constructor validation, wider histogram semantics, full resource buffering, supported-type breadth, entry-list inspection/global-constructor interactions, remaining option/error semantics and the full performance corpus remain open. Mixed queue draining/coalescing, callback identity and disconnect lifecycle are implemented in the latest checkpoint.

Acceptance requires real runtime measurements, independent timer ownership and unchanged upstream assertions. Do not fabricate telemetry or add filename-dependent behavior. Retain incomplete and failed outcomes separately from passing evidence.

Parent: #66. HTTP/2 telemetry work remains tracked separately by #421.

8 days ago

Readline/terminal/performance checkpoint (2026-10-10): source 7abdd14bd and verified evidence. Home owns 118 registry modules plus the test adapter, adding six connected modules and four native histogram/TTY sources. Both host and final Home ABI gates pass 89 tests / 1,406 assertions; seven native groups and Debug 34/34 pass. 31 unchanged originals: 130 registered passes plus 24 process checks, zero failures, skips or TODOs, including full readline harness, TTY, histogram, actual delay sampling and net/HTTP observers. 384 committed archives verify and 31 reports restore. Build peak 5,876 MB under 8,192 MB, conformance 203 MB and Home ABI 489 MB under 3,840 MB. The earlier TERM=dumb run retains 25 failures/seven skipped files; capable-terminal execution clears them without assertion or deadline changes. Earlier compiler/host-capture failures, outer timeout and disk refusal remain without credit. #869 tracks real performance counters/resource timing/independent delay monitors. Complete-suite parity, remaining module/native ownership and Release/ASAN/all-platform scope remain unfinished.

8 days ago

Independent performance monitor checkpoint (2026-10-10): source 42af1d45e and verified evidence. Each delay monitor now has its own histogram/state/resolution and native timer record. Passive JSC weak handles, collection sweeps and VM/isolation/worker cleanup replace singleton raw ownership; native Weak is Home-owned. Actual elapsed intervals start on enable and samples persist across re-enable. int64 resolution transport preserves safe-integer validation; clearResourceTimings forwards to the native API. Final native checks cover isolation, data retention, maximum resolution, process drain and worker shutdown; strict isolated collection checks require all twenty enabled monitors to collect at both short and maximum resolutions. Eight unchanged originals: 48 passes plus four process checks, zero failures/skips/TODOs; twelve native groups, generation/ownership three tests / 607 assertions and Debug 35/35 pass. Build peak 5,641 MB under 8,192 MB; generation 364 MB, originals 202 MB under 3,840 MB. 145 committed archives verify and eight reports restore. Initial singleton/compile failures and combined-scope collection failures remain retained without final credit; isolated controls collected all targets. Original assertions/fixtures/deadlines are unchanged. #869 remains open for real utilization/startup counters and complete resource/observer behavior. Other native/API gaps, complete suite and Release/ASAN/all-platform parity remain unfinished.

8 days ago

Histogram validation/BigInt checkpoint (2026-10-10): source 8b7cad010 and verified evidence. Construction validates object/integer/range/precision options, compares bounds exactly and preserves BigInt values into native int64 transport. Immediate and heap BigInts are supported. Four unchanged original files: 60 passes, zero failures/skips/TODOs; 14 native regression groups; nine ABI/ownership tests and 680 assertions; 38/38 Debug build steps. All 53 committed archive hashes and four restored original reports validate. Existing pinned exact extrema/BigInt-percentile semantics are preserved; the Node control's differing HDR bucket extrema are documented. Measured utilization/startup counters and full resource/observer semantics remain open in #869. The previous broad process failure #872, full Bun suite and Release/ASAN/all-platform verification remain open.

8 days ago

Histogram recording checkpoint (2026-10-10): source dddd41ce9 and verified evidence. Records validate finite integer safe-range Numbers and positive signed-int64 BigInts before conversion. Rejected values leave counters unchanged; valid samples above configured range increment exceeds. Public constructor conversion handles immediate/heap BigInts. Four unchanged original performance files: 60 passes, zero failures/skips/TODOs; 14 native regression groups; nine ABI/ownership tests with 680 assertions; 38/38 Debug build steps. All 52 committed archives and four restored reports validate. The initial missing-template link failure is retained; the final implementation uses explicit checks. Direct constructor validation and broader performance semantics remain open in #869; earlier #872, full Bun-suite parity and Release/ASAN/all-platform verification remain open.

8 days ago

Native polling/loop ownership checkpoint (2026-10-10): ownership da012d086, platform selection accadac96 and verified evidence. POSIX polling and socket loop lifecycle compile from Home, excluding external objects. Both implementations and two ABI headers match the pin, with selected compiler/header roots, byte-identical ABI/cache checks and explicit C selection. Restored pinned behavior includes connect-error propagation and half-open polling. Five unchanged files: 80 passes, zero failures/skips/TODOs; 15 native regression groups including ordinary FIN/half-open closure; nine ABI tests/680 assertions; four Zig build-support tests; 42/42 Debug steps. All 115 committed archives and five restored reports validate. Disk refusal/terminal cache cleanup remain visible. This prepares the actual kernel-wait boundary; utilization/startup counters remain unimplemented in #869. Windows/libuv ownership, Linux execution, broader native/API behavior, #872, full Bun-suite and Release/ASAN/all-platform verification remain open.

8 days ago

Measured POSIX event-loop utilization checkpoint (2026-10-10): source a63446494 and verified evidence. Per-loop thread-local monotonic counters measure actual kernel waits, keep callback time active and release state at loop teardown. The new factory uses the validated boundary after Bun's pinned dispatcher, preserving existing IDs/layouts. Cumulative counters, one-/two-snapshot subtraction and worker-local measurements pass. Five unchanged files: 80 passes, zero failures/skips/TODOs; 15 native regression groups; ten ABI tests/684 assertions; 42/42 Debug steps. All 113 committed archives and five restored reports validate. Initial compile failures remain, and all runtime scopes were rerun after the final executable hash changed. Windows libuv measurement is explicitly incomplete; Linux execution, startup milestones, full resource/observer behavior remain open in #869. The prior #872, complete Bun suite, remaining native/API ownership and Release/ASAN/all-platform verification remain open.

8 days ago

Measured startup/node timing checkpoint (2026-10-10): source 5a45ba39b and verified evidence. Actual VM engine/environment/bootstrap/loop-entry/exit events are recorded relative to performance origin; v8Start names Home's JSC startup compatibility field. Live getters preserve measured idle time. Direct PerformanceEntry inheritance retains getters/toJSON; natural and explicit exit record timing before callbacks. Five unchanged files: 80 passes, zero failures/skips/TODOs; 15 native regression groups; ten ABI tests/684 assertions; 42/42 Debug steps. All 115 committed archive hashes and five restored reports validate. Initial prototype/brand failure and disk refusals remain; final verification reran after terminal executable cleanup with guards unchanged. Wider standalone/Bake/worker milestones, Windows idle measurement, Linux execution and full resource/observer behavior remain open in #869. #872, full Bun suite, remaining native/API ownership and Release/ASAN/all-platform verification remain open.

8 days ago

Performance observer queue/lifecycle checkpoint (2026-10-10): source 8b4b1cced and verified evidence. Mixed native/Node entries share a delivery queue; takeRecords drains both chronologically, callback receiver/owner identity is preserved, subscriptions validate before Node registry mutation, and disconnect invalidates queued data across re-observation. Nine unchanged files: 81 passes plus three process checks, zero failures/skips/TODOs; 16 native regression groups; ten ABI tests/684 assertions; 42/42 Debug steps. Final test-only net/mark coalescing assertions were rerun separately on the same executable and passed in Node/Home. All 84 committed archives and nine restored reports validate. Full resource construction/buffering, supported-type breadth, entry-list branding and remaining option/error semantics stay open in #869. Windows/Linux/wider startup coverage, #872, remaining native/API ownership, complete Bun suite and Release/ASAN/all-platform verification remain open.

8 days ago

Branded performance observer entry-list checkpoint (2026-10-10): source affc7caaa and verified evidence. Node callbacks return actual exported PerformanceObserverEntryList instances with privately owned sorted buffers, native construction/receiver error codes, matching signatures, missing-argument checks, string coercion, nullish type filtering and copied arrays. Nine unchanged files: 81 passes plus three process checks, zero failures/skips/TODOs; 16 native groups; ten ABI tests/684 assertions; 42/42 Debug steps. All 88 committed archives and nine restored reports validate. The initial mistaken Node signature assertion and disk refusals remain; final checks follow terminal task-cache cleanup with guards unchanged. Full resource creation/buffering, supported-type breadth, inspection/global-constructor interactions and remaining option/error semantics stay open in #869. Windows/Linux/wider startup coverage, #872, remaining native/API ownership, complete Bun suite and Release/ASAN/all-platform verification remain open.

8 days ago

Node resource timing/buffer checkpoint (2026-10-10): source 456552ef6 and verified evidence. Node resource entries expose live timing/body/cache/status/delivery data; queries, clearing, buffered observation, overflow recovery and listener/property handlers use the shared registry. Three WebCore resource/metrics implementations compile from Home, replacing external objects; eight selected implementation/header files match the pin with ABI/cache validation. Nine unchanged files: 81 passes plus three process checks, zero failures/skips/TODOs; 17 native groups; ten ABI tests/684 assertions; four Zig build-support tests; 48/48 Debug steps. All 88 committed archives and nine restored reports validate. Global WebCore creation/overflow and automatic fetch do not yet share the Node timeline; #873 tracks completion. Further arguments/selective clearing/native base-class interactions and broader performance semantics remain in #869. Windows/Linux/wider startup coverage, #872, remaining native/API ownership, complete Bun suite and Release/ASAN/all-platform verification remain open.

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.

8 days ago

Automatic HTTP/1 fetch resource checkpoint (2026-10-10, corpus retains failure): source 42ef6e765 and verified evidence. HTTP-thread snapshots measure request preparation, first response header data, transport completion and encoded bytes; tasklets accumulate decoded delivered bytes and publish once into the shared global/Node timeline. Valid local plain/stream/gzip/canceled-body controls pass with observer identity and sizes. 19 native groups; ten ABI tests/684 assertions; four Zig tests; 52/52 Debug steps. Final seven unchanged files retain 60 passes plus three process checks and one registered failure/one failed file (#874), no skips/TODOs. All 143 committed archives and seven restored reports validate, including the failure. HTTP/2/3, DNS/TLS/connection phases, complete redirect/informational timings, failed requests, data/file schemes and partial-consumption accounting remain open in #873/#869; missing timestamps are not fabricated. Previously excluded regression files remain unverified and were not rerun. Initial compile diagnostics/disk refusals remain; full Bun suite, #872 and Release/ASAN/all-platform coverage remain open under #66.

8 days ago

Fetch response-phase/cork checkpoint (2026-10-10, corpus retains failure): source 4652005a4 and verified evidence. HTTP/1 snapshots distinguish first interim response from final headers, preserve redirect interval/final-hop start and keep one original-URL entry. A valid reuse control traced suppressed early hints to unmatched request corking; the Node adapter now uncorks its own request cork on the next tick. The ineffective ended-bit attempt is removed. 19 native groups; ten ABI tests/684 assertions; four Zig tests; 52/52 Debug steps. Seven unchanged files retain 60 passes plus three process checks and one registered failure/failed file (#874), no skips/TODOs. All 99 committed archives and seven restored reports validate, including the failure. Initial failed controls and disk refusal remain. Complete cross-origin/redirect/protocol exposure, DNS/TLS/connection phases, HTTP/2/3, failure/data/file cases and partial-consumption accounting remain open in #873/#869. Previously excluded regression files remain unverified and were not rerun; full Bun suite, #872 and Release/ASAN/all-platform coverage remain open.

8 days ago

Fresh TCP/TLS fetch phase checkpoint (2026-10-10, corpus retains failure): source 7f0eb8a88 and verified evidence. Direct connect creation/open and TLS handshake callbacks publish measured connect-start/end and secure-start fields. Pooled requests leave new handshake fields unset; proxy/unix paths are not mislabeled. Valid fresh/pooled TCP and trusted local TLS controls pass. 20 native groups; ten ABI tests/684 assertions; four Zig tests; 52/52 Debug steps. Seven unchanged files retain 60 passes plus three process checks and one registered failure/failed file (#874), no skips/TODOs. All 76 committed archives and seven restored reports validate, including the failure. Initial wrong-CA/unnormalized-URL control failures remain; final verification uses the issuing CA without bypass. DNS, proxy/unix, protocol/ALPN, HTTP/2/3, complete redirect/cross-origin, failure/data/file and partial-consumption coverage remain open in #873/#869. Excluded regression files remain unverified; full Bun suite, #872 and Release/ASAN/all-platform coverage remain open.

8 days ago

Fetch DNS/negotiated protocol checkpoint (2026-10-10, corpus retains failure): source 2dd946c6a and verified evidence. Resolver requests record monotonic lookup timestamps; the owned connector notifies typed HTTP owners at resolution, and TLS snapshots copy actual negotiated ALPN bytes. Usockets context.c uses exact qualified source selection, avoiding unrelated vendor basenames. Valid local lookup and trusted TLS-listener ALPN controls pass. 20 native groups; ten ABI tests/684 assertions; five Zig tests; 54/54 Debug steps. Seven unchanged files retain 60 passes plus three process checks and one registered failure/failed file (#874), no skips/TODOs. All 79 committed archives and seven restored reports validate, including the failure. #875 tracks HTTPS server ALPN option forwarding; absence of negotiation remains unset. DNS cache/coalescing/cross-thread and synchronous-cache edges, proxy/unix/other protocols remain in #873/#869. Excluded regression files remain unverified; full Bun suite, #872 and Release/ASAN/all-platform coverage remain open.

8 days ago

HTTPS static ALPN checkpoint (2026-10-10, corpus retains failure): selector 264bf4d93, forwarding d21ce2d58 and verified evidence. HTTPS options now preserve ALPNProtocols and normalize array/buffer forms; the HTTP SSL_CTX selector reads server-owned config. Valid list preference, encoded buffer and reused-connection controls negotiate real HTTP/1.1 with certificate verification enabled. 20 native groups; ten ABI tests/684 assertions; five Zig tests; 54/54 Debug steps. Seven unchanged files retain 60 passes plus three process checks and one registered failure/failed file (#874), no skips/TODOs. All 75 committed archives and seven restored reports validate, including the failure. The initial namespace compile error remains. #875/#532 remain open for dynamic callbacks, SNI handoff, reload, encoding/length edges and wider lifetime/platform coverage. Excluded regression files remain unverified; full Bun suite, #872 and Release/ASAN/all-platform coverage remain open.

8 days ago

Binary ALPN/static SNI checkpoint (2026-10-10, corpus retains failure): source c3dd1b308 and verified evidence. TLS config owns explicit-length ALPN bytes through clone/free/transfer/equality/hash and socket consumers. HTTP selectors reference each retained context's config, including registered SNI contexts. Valid binary IDs, caller-buffer mutation, preference/context-content discrimination and trusted SNI controls pass. 21 native groups; ten ABI tests/684 assertions; five Zig tests; 54/54 Debug steps. Seven unchanged files retain 60 passes plus three process checks and one registered failure/failed file (#874), no skips/TODOs. All 76 committed archives and seven restored reports validate, including the failure. Initial string-conversion compile failure remains. #875/#532 remain open for dynamic callbacks/SNI handoff, reload, malformed-list validation and wider lifetime/platform coverage. Excluded regression files remain unverified; full Bun suite, #872 and Release/ASAN/all-platform coverage remain open.

8 days ago

Observer queue/identity checkpoint (2026-10-10): source 83bf169b7 and verified evidence. Replacing mixed mark/resource observation with resource-only registration drains pending native entries before disconnecting native observation. Queued entries remain available through takeRecords() or the coalesced callback; subsequent excluded marks stay excluded. Supported entry types use one frozen sorted array with stable identity. Queue, callback, disconnect and repeated buffered-resource controls pass under Node and the built Home runtime, following the Node observer reference.

24 native groups; 32 validator controls; 54/54 Debug steps. All 358 committed artifacts and 51 restored report outcomes validate; source hashes match committed bytes. Nine original selected files retain 62 passes plus three process checks, one failure/failed file (#874), 40 filtered cases and zero skips/TODOs. Assertions and snapshots are unchanged. The pre-fix identity failure, admission refusals and cache cleanup remain visible; guards were preserved. Pickier reports zero errors and one existing quote-style warning.

Wider observer options/coercion/inspection, native base-class semantics, missing producers and platform/performance corpus verification remain open in #869/#873. Corpus integration remains in #876; HTTPS receiver/lifecycle remain in #875/#532. Excluded regressions remain unverified; full Bun suite, #872 and Release/ASAN/all-platform verification remain open under #66.

8 days ago

Node entry class checkpoint (2026-10-10): source e50b4c942 and verified evidence. Net and HTTP performance producers create privately branded PerformanceNodeEntry instances inheriting from global PerformanceEntry, preserving measured start/duration and merged request/response details. Read-only getters, receiver validation, fresh JSON objects with retained detail identity, class identity and the Node-compatible Object tag pass ordinary TCP/HTTP controls under Node and built Home. Behavior follows the Node entry reference.

24 native groups; 32 validator controls; 54/54 Debug steps. All 350 committed artifacts and 51 restored report outcomes validate; source hashes match committed bytes. Nine original selected files retain 62 passes plus three process checks, one failure/failed file (#874), 40 filtered cases and zero skips/TODOs. Assertions and snapshots are unchanged. Initial identity/tag-control failures, preliminary build, disk refusal and terminal cache cleanup remain visible. Pickier reports zero errors and three existing warnings.

Borrowed native base methods, constructor interactions, inspection, missing producers and full performance/platform verification remain open in #869/#873. Corpus integration remains in #876; HTTPS receiver/lifecycle in #875/#532. Excluded regressions remain unverified; full Bun suite, #872 and Release/ASAN/all-platform verification remain open under #66.

Sign in to comment on this issue.