Repository navigation
inputs: join published SL3.7b capture prerequisites - #1459
Closed
Enrique Saurez (esaurez) wants to merge 31 commits into
Closed
Enrique Saurez (esaurez) wants to merge 31 commits into
Enrique Saurez (esaurez) wants to merge 31 commits into
Conversation
Port the preserved SL2.10 implementation and coupled callers, API snapshots, docs and real-process tests onto feature c52c710 without changing legacy lifecycle policy. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 0c8e42ad-4102-451f-96f0-0a4ae0483d1a
Port the scoped SL3.2b donor cf485b7 onto verified feature c52c710 without its historical producer history. Persist prepared capability and outputs before spawn, the matching process before commit, and every SavedVm field in the private runtime record. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: eb3cc7e0-f51e-45ed-b911-c7b214740e05
Add the rootless Fresh capture entry and handle snapshot outcomes on the shared control session. Refuse rooted capture before killing workloads and preserve the current helper supervision and nonblocking transport. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: dee059e7-7968-43d8-82d0-abd68b922eed
Use the existing PID and atomic create-directory retry to retain unique fixture directories without a long diagnostic prefix. Keep the scenario name in creation errors. Capture and restore control sockets now fit approved data-volume temp roots without changing production limits, assertions, timeouts or skipped tests. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 0c8e42ad-4102-451f-96f0-0a4ae0483d1a
Apply the pinned rustfmt wrapping requested by the final-head review; fixture semantics and production source remain unchanged. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 0c8e42ad-4102-451f-96f0-0a4ae0483d1a
Port only SL3.3a onto coordinator-qualified SL3.2b 99d0045. Retain the prepared log claim and identity, hold and recheck the endpoint owner, and require the Linux log match. Preserve Windows job/handle fallback primitives and the donor fork-race fix without adding recovery or signaling. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: eb3cc7e0-f51e-45ed-b911-c7b214740e05
Return Running or opaque exit proof after checking the recorded identity. Preserve indeterminate errors and current VM/transport verification policies. Keep the existing exit-handle and recovery tests alongside opening proof cases. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 0c8e42ad-4102-451f-96f0-0a4ae0483d1a
Validate the fixed snapshot layout, private regular files, bounded metadata and key/manifest agreement without reading snapshot.json. Retain the caller immutability contract and cover Linux/Windows refusal cases. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 6789d491-7d13-4929-bc64-4edfec93ba60
Port only SL7.5d onto the qualified capture parent. Fork the fixed announcer before switching roots, preserving PID 1 priority and fatal helper supervision. Reset inherited signals without introducing a restore caller or lifecycle machinery. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: dee059e7-7968-43d8-82d0-abd68b922eed
Compose exact qualified13bb and92ac as preserved parents for issue1108 SL3.3b. No producer tree replay or manual resolution. Joint QA remains pending. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: eb3cc7e0-f51e-45ed-b911-c7b214740e05
Compose the existing CLI liveness contract with SL2.10b Opened results. Preserve held-running versus proved-exited distinction and propagate lookup failures. Update only its existing own-process test helper. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: eb3cc7e0-f51e-45ed-b911-c7b214740e05
Port only SL3.7a commits 5a5cebc and 593a17d onto the actual preserved-parent reader/CLI input join 4662351. Validate and publish whole private snapshots without replacement, keep the exclusive per-name lock outside each immutable entry, and record only the restored sandbox's own source name. Reuse existing CLI privacy/locking helpers. No capture, restore, index, shared-lock mode or blockless driver is added. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 0c8e42ad-4102-451f-96f0-0a4ae0483d1a
Use verified endpoint and log claims for unrecorded launches and boot/PID/start identities for recorded processes. Require confirmed exit before removing capability and journal; retain indeterminate evidence and its refusal cause. Keep committed-runtime recovery separate and bounded claim rechecks intact. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: eb3cc7e0-f51e-45ed-b911-c7b214740e05
Integrate only the restored activation caller on qualified capture and announcer inputs. Preserve bounded signal-aware control I/O, retain one activation across resets, and keep postactivation captures refused. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: dee059e7-7968-43d8-82d0-abd68b922eed
Port the required single-instance named-pipe disconnect helper and CLI-gated test re-exports. Repeated endpoint-owner verification must reconnect after each finished client; no production API or assertion changes. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: eb3cc7e0-f51e-45ed-b911-c7b214740e05
Bind the established private restore-ready listener in a scoped in-crate live fixture. Keep production APIs and guards unchanged; exercise real activation, MAPS/EXEC, replay, helper publication and the original deadline under explicit host admission. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: dee059e7-7968-43d8-82d0-abd68b922eed
Prepare Fresh captures through the existing VM creation path with private sparse disks, checked geometry, platform-only arguments and a caller-persisted capture context. Leave capture completion and snapshot publication to their separate operations. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 095bfb08-a5d0-4331-b2b2-dd76d2fbadd8
Keep the OpenVMM source excerpt in a test-only module so its function definition is included in item context. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 095bfb08-a5d0-4331-b2b2-dd76d2fbadd8
Regenerate both platform snapshots for the opaque capture context and the prepared-launch accessor. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 095bfb08-a5d0-4331-b2b2-dd76d2fbadd8
The fixture directory is needed only for Linux physical-block metadata. Mark the parameter accordingly on the other supported hosts. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 095bfb08-a5d0-4331-b2b2-dd76d2fbadd8
Install through the existing fixed guest-binary list and preserve the legacy-token and blockless routes. Pass the known helper PIDs and move the runtime adapter overlay to the new init path. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 10c9dff8-5c75-4c96-9739-3896adfb0c71
Validate the proved-exited capture outcome, strict OpenVMM artifacts and checked capture context. Write retryable private key and description files without moving or cleaning VM-directory entries. The Draft keeps SnapshotKey::time and its encoding/identity semantics pending the explicit user decision. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: b718df7e-13ad-474d-b3c5-b0f93a7e18e6
Preserve the current typed process proof and shared strict snapshot validation. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: c688b057-b972-4b90-9ecd-91187b92311f
Keep capture configuration imports from the selected first parent. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: c688b057-b972-4b90-9ecd-91187b92311f
Preserve bounded capture preparation from the feature input while retaining the published restored-init activation and RESET handling. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: c688b057-b972-4b90-9ecd-91187b92311f
Retain the published route input's seventh init seam for its restored announcer test hook. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: c688b057-b972-4b90-9ecd-91187b92311f
Persist and strictly decode the complete per-snapshot time contract; hash only the unchanged compatibility prefix and reject key/manifest time mismatches. Keep the single Fresh encoding in place without a version bump or backward reader. Apply owner-only artifact validation at the snapshot boundary while preserving the legacy template validator and its existing callers. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: b718df7e-13ad-474d-b3c5-b0f93a7e18e6
Use verified-exit presence and propagate report parsing errors in the inherited ignored native fixture. Do not execute or qualify native restore here. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: c688b057-b972-4b90-9ecd-91187b92311f
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: c688b057-b972-4b90-9ecd-91187b92311f
Contributor
This pull request changes existing testsIt modifies or removes 17 existing test asset(s), listed below. Review each with care: a change to a test can hide a regression that the test caught. See doc/contribute.md#changes-to-existing-tests. Test code
Test data
Test policy
Relocated unchanged: 0; added: 182. Compared the merge base |
Adopt only d4d8927 by ordinary merge. Preserve the original b70 input join, its source ancestry and native pin; no consumer implementation or production reconciliation. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 422faec3-93ec-4bb6-8900-dfbd095c9ebe
Enrique Saurez (esaurez)
force-pushed
the
esaurez/issue1102-sl214-20261110-b718df7e
branch
from
November 10, 2026 22:04
d4d8927 to
1148a74
Compare
Pedro Henrique Penna (ppenna)
force-pushed
the
esaurez/issue1102-sl214-20261110-b718df7e
branch
from
November 11, 2026 01:23
c6de1d8 to
aa319d6
Compare
Base automatically changed from
esaurez/issue1102-sl214-20261110-b718df7e
to
feature/nvx-refactor
November 11, 2026 01:39
Contributor
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Supporting input integration for #1114 (SL3.7b), not the capture consumer. This updates the existing Draft input PR by adopting the already-published SL2.14 full-time-contract checkpoint. It adds no new capture command, transaction, producer fix or input PR, and does not close #1114.
Exact source and published inputs
Current head:
d814df2e0358ce17f86c45f71a8b1b7f8048eff2; tree:0562032829106a4ac9c0bb8a11de0a9ab3156bb9.The original join remains intact at
b70d7e98de7f2ef2cb14875e00075f7149d44803, tree0abebe498db2d15472c9440dd82eb4b3ab208ddd. Its inputs and merge order are preserved:esaurez/issue1102-sl214-20261110-b718df7e2a0451d4ed1e27445bcd4615e7c0878c291edca5esaurez/issue1114-sl37a-0c8e42ad-20261110a81a6c8d874b00e57046b8fcd8657e2a2cbdd2feprivate/simple-1108-02e4-sl33b-202611108921c45162e38761f1dc5beb51042ee2e7218803esaurez/sl78a-init-routing-fe1cbbee-20261110d56d3d343977178fd15bbd526a77a97603edbbacOriginal merge commits:
06e7f9ef2b85d8d66e3670bd98d1ef4b486e9e24,94c8e4aa6905e4a757f6f5d20d8c42929e8b1688, then19119013eb12a962527a6bc426f7024a54f0b868.The new ordinary merge has exactly two parents: original
b70d7e98and the selected public #1455 checkpointd4d89270d45945c7a88486f5f238922a5c6ed095, tree371e3fc936d232cc55d79e029a2d230681cf1656. That checkpoint is a direct child of original2a0451d4. No later parent, feature, named-store, recovery or private integration head was merged.The inherited #1454 input remains
4ca3e62da07723368edec89ced8d02f2cd3fbae4, and the inherited feature input remainscf5f91467c050f1e9508403964b1b4546e2724ab. The OpenVMM gitlink is unchanged at14dc4116ec7e57567633c4b7b07892aca3a58522.The base ref remains
esaurez/issue1102-sl214-20261110-b718df7e. The compiled source uses the immutable D4D checkpoint above, not any subsequent movement of that branch. No retarget, native-stack operation, ancestor rewrite, Ready transition or merge is part of this update.Full time-contract adoption, without a new design
The answered choice B is now present through D4D, not pending implementation in this input:
TimeContractpersists and decodes inkey.bin, andSnapshotKey::timeexposes it.KeyIdentitystill hashes the unchanged compatibility prefix. Capture-specific time fields do not change that identity; declared rates and the time ABI remain compatibility inputs.Actual merge inspection found zero conflicts and zero manual source edits. All five incoming production files, plus the incoming tests, vectors and API snapshots, have exactly D4D's Git modes and blob IDs: 12 entries exactly incoming. Only
nvx-rs/README.mdautomatically combines non-overlapping documentation. All 1,008 unaffected entries exactly match original b70. The resulting tree also equals Git's independently computed ordinary merge tree.There is no
Snapshot::accepts/NIC API union or separate canonical reader/time integration here. Those independent producer changes are not needed by this bounded capture-input adoption.The original join's selected
Error/Result,Opened/Exited, bounded capture-preparation checks, restored-init activation/RESET handling, seventh init seam and ignored native-fixture API reconciliations remain unchanged. No native-fixture execution is claimed.Size and ownership of the delta
This update versus b70 imports 13 files, 269 added / 81 removed physical lines, entirely from D4D apart from the automatic README combination. New hand-written production core: 0 lines / 0 counted files; new test bodies authored by this merge: 0.
Against the selected D4D checkpoint, the existing imported input integration remains 41 files, 3,552 added / 125 removed physical lines. Those producer changes are not a new consumer implementation. The original join's post-merge hand edits remain the same two test/policy files, 11 added / 5 removed physical lines, with no production-core addition.
Current-head verification
Both platforms compiled the exact current head and tree above, with real NVX Git metadata, the real initialized pinned OpenVMM source/Cargo manifest, private mutable targets/caches and Rust 1.95.0. Linux completed at
2026-11-10T21:47:05Z; Windows at2026-11-10T22:09:28Z.scripts/nvx.py verifybefore Cargocli,testingMain Cargo commands, shown from each crate's directory; the receipts retain their explicit private target directories and complete arguments:
The final two commands are the runtime adapter's host configuration. Windows MSVC setup and each Cargo invocation ran in the same
cmd.exeprocess. InheritedCARGO_TARGET_DIRandCARGO_BUILD_JOBSwere removed; no fixed CPU/RAM/compiler-job caps were imposed. Windows compilation waited for a fresh safe physical/commit-capacity observation, not an inherited admission promise.These are current-head compilation/lint receipts, not executed test or hardware results. The older b70 software matrix and producer D4D review/matrix remain historical, pinned evidence; they are not relabeled as runs on this merge. No extra VM, native, kernel, guest-binary, MSRV or full feature matrix, nor manual Copilot review request, was added solely for this unchanged-production adoption.
Existing tests: kept, not retired
The exact update inventory,
check_test_changes.py --base b70d7e98de7f2ef2cb14875e00075f7149d44803, reports 4 existing-asset changes and 4 input-added test items:finish_writes_matching_metadata_and_only_its_three_entries_are_publishedkeys_read_back_from_their_canonical_encodingkeys_of_machines_that_no_manifest_describes_are_refusedsnapshot-key-v1.txtThe added items are D4D's full-time round-trip/identity case, required-time/known-clock refusal case, strict-opening time-mismatch case, and independent suffix-length helper. They are imported and compiled, not newly authored or executed here.
Against the selected D4D checkpoint, not a subsequently advanced base tip, the original integration still reports 8 existing-asset changes and 137 input-added items:
initramfs::expectedhelper/sbin/nvx-initoverlay.APP_ACTIVATEtest hookdecode_activate_payloadtest hookNo existing test is retired, no CI test command is removed, and capture-timeout/restored-activation cases remain intact. The ancestry-wide
origin/devinventory is retained separately and is not attributed to this bounded update.Remaining conformance and scope limits