Skip to content

nvx-rs: final acceptance for the image-backed runtime #624

Open

Description

Parent: #816, after its other children. Tests stay owned by their issues; this issue collects the final evidence and re-pins bundled. Measurements and budgets move to a later performance issue. Delivers: the cold conformance of #545 and the acceptance part of #541.

Goal. Prove that NVX's adapter and the in-repo test adapter run the shared host and guest code on KVM, MSHV and WHP, with exact provenance, and that bundled serves the matched release.

Today (dev c5a0dd7):

  • CI runs microVM correctness jobs on self-hosted Linux/KVM, Linux/MSHV and Windows/WHP runners, which are virtual machines.
  • NVX's public lifecycle tests cover EROFS over ext4 scratch. The test adapter's VMs assemble all four format and upper combinations.

Scope:

  1. Conformance:
  2. Zero reads: provision, start and exec read no content from staged artifacts; metadata access and the checked handoff are allowed. A positive control proves the observation works, and incomplete observation counts as unknown, never zero. Staging and the CLI's preflight verification are reported separately and stay visible.
  3. Sizes: each stripped guest ELF, their total, and the compressed and uncompressed initramfs are recorded with build settings, and the test adapter's artifacts separately. Budgets belong to the later performance issue.
  4. Evidence: build checks in Check nvx-rs and conformance in Run NVX microVM tests. Coverage manifests and results are published durably, for passing runs too.
  5. bundled re-pin: nvx-rs/artifacts.json points at the release built from the final merge, and acceptance also runs with that bundled release. The release must ship the sandbox scenarios' scratch template (download: packages omit the Ubuntu sandbox scratch template that the sandbox scenarios need #782).

Not in scope: performance measurements, statistics, budgets and a dedicated measurement host (the later performance issue, which compares against the starting commit 99f4c1c recorded here); restore and platform clones (the snapshot/restore workstream, #833); image slots; #547's virtio-fs topology change; opened-object receipts; old runtime formats and NVXC v1.

Acceptance:

  • Every required cell and applicable vector passes with exact source and artifact provenance. Ignored or skipped tests, and runs against an older bundle, are not passes.
  • Both adapters demonstrably run the shared code, including a real cold launch, exec and teardown.
  • The zero-read checks pass with their positive control, and the CLI's verification stays visible and correct.
  • CI's coverage gate uses the coverage manifest, and the evidence is published durably.
  • bundled serves the final matched release.

Carries over: the cold conformance of #545 and the cold acceptance of #541, retained in this issue. #545's cold measurements go to the later performance issue; its restore obligations stay in the snapshot/restore workstream (#833).


Meta: #816, which moves NVX's binaries and tools onto #535's libraries.

Activity

  1. esaurez commented on Oct 20, 2026

    @esaurez
    ContributorAuthor

    A6 baseline: the first A1 PR to merge was #627, at 2026-10-20 12:28 UTC. The dev commit just before that merge, 99f4c1c, is the starting commit for the measurements and the like-for-like comparisons.

  2. changed the title [-]nvx-rs: final acceptance and measurements for the image-backed runtime[/-] [+]nvx-rs: final acceptance for the image-backed runtime[/+] on Oct 22, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions