Repository navigation
SL2.4a2: encode VM view and render cold-boot kernel arguments - #1312
Merged
Pedro Henrique Penna (ppenna) merged 2 commits intoNov 8, 2026
Merged
Pedro Henrique Penna (ppenna) merged 2 commits into
Pedro Henrique Penna (ppenna) merged 2 commits into
Conversation
Contributor
There was a problem hiding this comment.
🟢 Approval recommended
No active review issues are reported for the view codec and cold-boot command-line renderer.
No open issues 🎉
What changed in this PR
Adds the view codec and cold-boot kernel-command-line renderer for the #1076 library refactor, combining the parent changes for root settings and boot configuration. Runtime and restore wiring remain out of scope.
Changes:
- Adds a strict paired hostname/machine-ID codec using canonical lowercase hexadecimal for hostname bytes.
- Adds checked
VmConfig::kernel_command_linerendering for root settings, view and export mappings, preserving caller text unchanged. - Adds focused codec and rendering tests, documentation, and public-API snapshot updates.
| File | Description |
|---|---|
nvx-rs/src/protocol/view/tests.rs |
Tests round trips and rejection of malformed, partial and duplicate tokens. |
nvx-rs/src/protocol/view.rs |
Implements strict view-token rendering and parsing. |
nvx-rs/src/protocol/mod.rs |
Exposes and documents the view module. |
nvx-rs/src/host/config/tests.rs |
Tests rendering, caller-text preservation and configuration errors. |
nvx-rs/src/host/config/mod.rs |
Adds the checked cold-boot command-line renderer. |
nvx-rs/README.md |
Documents the codec, renderer and validation boundaries. |
nvx-rs/public-api/windows.txt |
Records the new public APIs for Windows. |
nvx-rs/public-api/linux.txt |
Records the new public APIs for Linux. |
Review effort: Balanced
Enrique Saurez (esaurez)
marked this pull request as ready for review
November 6, 2026 11:47
Enrique Saurez (esaurez)
marked this pull request as draft
November 6, 2026 18:13
Enrique Saurez (esaurez)
force-pushed
the
esaurez/slim-2.1.2-sl2.4a2-inputs-20261106
branch
from
November 7, 2026 04:07
259f669 to
d45a9b5
Compare
Enrique Saurez (esaurez)
force-pushed
the
esaurez/slim-2.1.2-sl2.4a2-20261106
branch
from
November 7, 2026 04:07
83e60bc to
68373ce
Compare
This was referenced Nov 7, 2026
Enrique Saurez (esaurez)
force-pushed
the
esaurez/slim-2.1.2-sl2.4a2-inputs-20261106
branch
from
November 7, 2026 23:21
d45a9b5 to
58deb19
Compare
Enrique Saurez (esaurez)
force-pushed
the
esaurez/slim-2.1.2-sl2.4a2-20261106
branch
from
November 7, 2026 23:21
68373ce to
7d4b7e8
Compare
Compose root settings, a byte-preserving view, the export's mapping count and the unchanged caller command line in one pure cold-boot renderer. Parse the new view tokens strictly without changing legacy consumers. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: cd33da2e-cc48-4368-b22a-867477fe24d4
Document the byte-preserving view codec and pure kernel command-line renderer alongside the other module contracts. Clarify that caller text is appended unchanged rather than checked for token collisions. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: cd33da2e-cc48-4368-b22a-867477fe24d4
Enrique Saurez (esaurez)
force-pushed
the
esaurez/slim-2.1.2-sl2.4a2-20261106
branch
from
November 8, 2026 04:58
7d4b7e8 to
43716c0
Compare
Contributor
This pull request changes no existing testRelocated unchanged: 0; added: 13. Compared the merge base |
Enrique Saurez (esaurez)
changed the base branch from
esaurez/slim-2.1.2-sl2.4a2-inputs-20261106
to
feature/nvx-refactor
November 8, 2026 04:59
Enrique Saurez (esaurez)
marked this pull request as ready for review
November 8, 2026 05:28
Pedro Henrique Penna (ppenna)
merged commit Nov 8, 2026
09a6f04
into
feature/nvx-refactor
108 of 109 checks passed
Pedro Henrique Penna (ppenna)
deleted the
esaurez/slim-2.1.2-sl2.4a2-20261106
branch
November 8, 2026 06:52
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.
Part of #1076. Implements SL2.4a2 from #1098, retaining merged #1278, #1270 and #1310 and the snapshot metadata from merged #1345.
Stack and scope
This Draft targets
feature/nvx-refactordirectly, on pinned landed baseline489ce50efc93fe253d145557482c6c93e384391b(treefe2bfe7da5fe24007c4e6333fb47ae98b961c66c), which includes merged #1345 and the earlier activation, capture configuration and caller-driven restore context. Only the original two renderer/documentation logical commits are replayed. No input-union history or already-merged producer changes are included in the owned range. The original source and input ref remain preserved.Own head:
43716c030c4f4084e9cc06950442a6563eef0f7f, tree6ca0229e3f009b342529f632e59ad497e8400bb2. Its two linear commits are23472f0273f65cdb088495cf45d55b052cdc8c07and43716c030c4f4084e9cc06950442a6563eef0f7f. Entire own delta: 141 CORE lines, three counted production files, eight total paths, no special budget exclusions or lint-hook changes.VmConfig::kernel_command_linerendering for root/settings, view and export mappings, preserving the caller suffix and existing crate Error/Result/ErrorKind contract.No activation/restore wiring, new caller collision/quoting policy, OpenVMM argv rewrite, root assembly, or SL7.5b runtime implementation.
Validation of the current landed input
The four renderer/view production and test files are byte-identical to the preserved
7d4b7e86and4148aa06sources. All other owned code/test hunks and assertions remain unchanged. The renderer range-diff equals the previous logical commit; the documentation entry differs only in context, preserving the merged snapshot row and all snapshot, capture and restore sections. The complete effective tree is different, so earlier whole-tree qualification is not relabeled as current execution.4148aa06execution identity, not claimed as rerun: protocol-only/testing-only checks, runtime-adapter protocol/guest configurations, native vector/profile comparisons, and unchanged Python, shell, typing, kernel and PowerShell checks. The repository's complete 149-file guest input digest remains3ee18662bef8702bdbcf7ef1e527a4305e5e461089a86f347e7583af99aa87c3; all ten retained guest executables were rehashed against their build manifest. No guest rebuild or runtime pass is inferred from that reuse.ETXTBSY). The complete command subsequently passed with normal parallelism and without a source, assertion, timeout or thread-count change. The failure and focused diagnosis remain preserved alongside the complete recovery.14dc4116ec7e57567633c4b7b07892aca3a58522. Independent exact-head read-only Opus 5.5/max/long review is clear. It is static review, not runtime or CI evidence.Preserved earlier input and qualification
The following section records the earlier source
7d4b7e86on input base58deb193; it is preserved history, not new execution at43716c03on489ce50e.The original two logical commits are replayed on the fixed landed inputs. Both range-diff entries truthfully show context differences, not equality: all landed tests/helpers/assertions and capture/restore documentation are preserved; three existing test Boot literals explicitly use
capture: Noneto retain their no-capture behavior. The owned production semantics are unchanged. Current owned patch SHA256:b80370d0e5b5e6d7b3261f52bc2ecc4de6c8aef4d096000b0946e41aa39d0152.9663a1bc8394ed8451d0bc20966fee652952e8b44467ac1cd7e54cc76a9ade0c: Windows static-CRT SHA256ff4e048d13e911ad37fc9a5807fd026fc56407bfd1754ff364496778f309c9bd; Linux static-musl SHA256a49e068ecf4beff06e46de8cb213d71bbb6e7d35888ee43925cd0dd0ef4327d1. Real executable help and target/provenance checks passed.14dc4116ec7e57567633c4b7b07892aca3a58522. Independent exact-head read-only Opus 5.5/max/long review is clear. It is static review, not runtime or CI evidence.Historical original-head local evidence
The following evidence belongs to original head
83e60bc5, not to fresh execution at7d4b7e86.4f40ff13b51dd9b042cf8d07cc13fbd625efa39525e922c2efe16b5f62498980; Linux static musl65eaec8ebae1fb9a1768f25d2f9a105f591773315696338ca1ae15affc68ed03. Both bind source digest6f2478160f698802e09abc23fa4ec4dfb9b252a7cd1a9cf7eece804ce974d679.4fd32623be669477621348fa03e96a7fffddf7d1b89921211fd30399108d35a1, manifestb1e928483232ef243154d8290f308a0a33765387188c30d55396e6d9f1600090. Frozen qualification baseline256ebe3dd9c23f20da94503b55d678d1193e392d, OpenVMM9cec2b89245f41f2126f9a787c5e43a0d84b7154and kernel692ac2a9f351aa5a31dcf1810782d82c1a83a0f1fd0b3edcf4fad9c0d94cfe81; no new kernel or VMM producer.Historical evidence packet SHA256:
7095ac0b607094465278e57e5432f7b822997bf57ee71885250866580a8ff544; its 19 indexed artifacts are hash-bound. Earlier interrupted, unadmitted, noncanonical-CLI and failed attempts remain historical failures, not current passes.Boundaries
Local qualification binds the stated source and pinned feature baseline, not CI or a future merge. This update changes only the existing PR1312 head, its necessary feature base and this provenance disclosure, preserving Draft, title, labels, original refs and all earlier evidence. No parent PR source, integration branch, Ready state or merge is changed.
The historical native results cover the stated existing public/cold-boot paths. They are not a 156/11 full-group matrix or a claim that the new pure renderer is already wired into every legacy caller. Fresh exact-head repository feedback is still required before any later Ready decision.