Repository navigation
Description
Parent: #1076. Phase: 5, NVXC v2, the docs and the release. Needs: #1077, #1081, #1082, #1083, #1084, #1085, #1086, #1087, #1088; inside phase 5, groups of #1089 (see the table below). Unblocks: —.
Goal. The guides, design docs, guest-agent guidelines, CLI reference, developer and CI docs, rustdoc and migration guide describe the final one-package library and its private programs. Then the release publishes nvx alone.
Today (dev e42b1795) and after:
| Area | Today | After |
|---|---|---|
| Docs | They describe the library with its stores, exec engine and CLI. | Root landing links and a slim library guide; design docs that separate the VMM, the library and its users; the guest-agent guidelines: each init's ownership of its space and executions, the workspace contract for concurrent executions, the transport and restore order, the failure and replay rules, and nvx-init's space interface as internal reference code; one CLI reference; build, distribution and project-structure docs; the guest-image and setup READMEs; CI, contribution, repository-instruction and automation docs for one package; rustdoc and regenerated diagrams that match the final public API; and doc/migrate-from-alpha.7.md: the features, API crosswalk, caller obligations, incompatible records, keys and snapshots, fresh state on upgrade, and install pins. |
| Release | nvx alone. |
nvx alone, at the next prerelease number that crates.io hasn't used, with a changelog of the breaking changes. The guest tools install from it with --no-default-features --features guest --profile guest. |
Groups, in order. Each group issue lists its PRs, with their goals, contents, Needs and estimates.
| Group issue | Delivers | PRs | Needs |
|---|---|---|---|
| #1130 | The library's guide, its design and the guest-agent guidelines | SL6.10a, SL6.10b, SL6.10c, SL7.9 | #1102, #1103, #1105, #1113, #1117, #1118, #1120, #1123, #1125, #1126, #1127 |
| #1131 | The CLI, developer, CI and rustdoc docs, and the migration guide | SL6.10d, SL6.10e, SL6.10f, SL6.10g, SL6.10h | #1091, #1105, #1111, #1112, #1113, #1114, #1119, #1120, #1123, #1124, #1126, #1127, #1129, #1130 |
| #1132 | The breaking release is published | SL8.1 | #1091, #1112, #1119, #1120, #1123, #1126, #1127, #1129, #1130, #1131 |
Notes.
- Docs land with code. Each earlier PR kept the docs that it affected right; these groups rewrite the guides as a whole.
- The guidelines' snippets compile. General snippets are public-API doc tests or examples; space-interface snippets are a unit test of the private space, which the guidelines quote.
- The release closure. The release needs every PR whose result ships, directly or through another PR.
Tests. The repository's Markdown-link check passes. The guide's cold-boot, restore and reattach examples and the guidelines' general snippets compile as public-API doc tests or examples; a unit test compiles the private space-interface snippets; rustdoc builds with its links and examples checked; and the diagram generator regenerates the diagrams in its scope. Release CI checks the package's contents and that its API snapshot holds exactly the planned surface and one hidden main per binary, publishes nvx, installs the guest tools from the package outside the repository with --no-default-features --features guest --profile guest, and runs nvx-ingress.
Done when: every group issue is closed, and nvx alone is released.
Activity
nvxa library of mechanisms and value types #1076