Skip to content

Integrate runtime readiness repairs and standalone compiler - #72

Merged
replghost merged 6 commits into
mainfrom
fix/runtime-readiness-main
Oct 3, 2026
Merged

replghost merged 6 commits into
mainfrom
fix/runtime-readiness-main

Conversation

@replghost

@replghost replghost commented Oct 3, 2026 •

Copy link
Copy Markdown
Collaborator

Scope

Integrates the runtime readiness work onto current main while preserving grouped/split compilation, background and pause behavior, mediated input, pointer capture, filesystem support, and offscreen attachments.

  • Extract the standalone Wasm compiler without adding translator dependencies to native production consumers.
  • Bound native GPU resources and supervisor resumptions; harden browser startup and partial I/O.
  • Add typed browser sessions, native/browser examples, bounded file-input routing, consumer documentation, and packaged third-party notices. Retain MPL-2.0.
  • Pin PolkaVM maintenance revision 642fa95a6f1df85612bdbd0a7e4353a2aa4dc9b5, qualified on Linux and actual Apple M1 hardware. Preserve existing Latest64 encoding rather than adopting an unversioned upstream wire-format change.

Verification before review

Review boundaries

The engine maintenance stack remains separate: https://github.com/paritytech/polkavm/tree/maintain/runtime-jit-refresh . This PR consumes an immutable revision; it does not merge that engine branch.

This is source integration, not a versioned release. Browser 0.3.2-background.0 and Rust 0.3.1 remain intentionally unaligned, and strict release-manifest generation rejects that state. Native attribution limitations for block 0.1.6 and malloc_buf 0.0.6 are recorded in THIRD_PARTY_NOTICES.md.

Code review and local verification completed; merge remains gated on green CI for the final head.

Code review repairs (c1e31c3)

  • Port the shared 8,192-resumption budget to browser foreground, pipe, and workspace supervision, preserving queued input, ordered output, nested package resolution, and contained child faults. Thirteen regression cases failed against the previous source; all fourteen scheduling cases now pass.
  • Align native CoreVM vectored I/O with translated-host partial-progress semantics; guest descriptor faults return EFAULT or completed bytes without swallowing internal host errors. Four guest regressions failed against the previous source; all seven native and nine translated I/O cases pass.
  • Align browser file-input validation with native manifests: 128 MiB ceiling, optional null capability, rejection of null type lists, and required entrypoint for mount-collision checks. Add shipped declarations for the file-input-router subpath. Strict malformed-registration rejection is retained.
  • Correct terminal-state API documentation, remove temporary feature-branch CI triggers, and replace a load-sensitive wall-clock pacing assertion with deterministic timer/clock control while retaining the real guest.
  • No actionable defects found in GPU resource accounting or compiler extraction. The pinned engine remains unchanged.

Final local verification

  • Format check and strict all-target/all-feature Clippy passed.
  • 175 Rust tests plus all four opt-in driver-backed GPU tests passed.
  • 155 browser tests and 34 release-validation tests passed.
  • Real guest CLI/Chromium smoke: identical vectored-I/O results and file bytes across native interpreter and browser compiler/interpreter, from both byte and precompiled-Module startup.
  • Real request-loop guest: native and browser yield after the first bounded turn, then exit with all 10,000 ordered reports preserved.
  • Actual framebuffer UI pause/background/resume/stop and file consent cancellation/delivery exercised; zero remaining workers and no browser errors.
  • Fresh tarball install, strict TypeScript session/router consumption, installed delivery API, and runtime Wasm compilation passed.
  • All 15 generated assets reproduce byte-for-byte and export through the native asset CLI; attribution verification passes.

Development-version alignment and the documented native attribution limitations remain release prerequisites, not changes hidden by this source-integration PR.

@replghost
replghost marked this pull request as ready for review October 3, 2026 05:36
@replghost
replghost merged commit 95d3f10 into main Oct 3, 2026
9 checks passed
@replghost
replghost deleted the fix/runtime-readiness-main branch October 3, 2026 05:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant