Validate Nexus data checkouts from raw inventory #12
No reviewers
Labels
No labels
bug
duplicate
enhancement
help wanted
invalid
question
wontfix
bug
duplicate
enhancement
help wanted
invalid
question
wontfix
No milestone
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
allod/inventory!12
Loading…
Reference in a new issue
No description provided.
Delete branch "agent/pi-provider-workspace"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Nexus now declares the profiles checkout alongside its existing inventory, secrets, and host-tooling checkouts. Guest workspace data and the committed VM specification stay unchanged. The registry check now reads every raw machine, so hypervisor alias and duplicate-path mistakes fail before deployment. Sabotage fixtures prove each required Nexus alias, unknown aliases, and duplicate paths are rejected. If this is wrong, revert this PR or keep deployments pinned to the preceding inventory revision.
Refs allod/strategy#34
Details
allod/profilesto the synthetic Nexus hypervisor's repository list.machines, retaining only JSON-safe type, repo, and self-rebuild fields.allod/profiles,allod/secrets, andallod/inventoryon every hypervisor and self-rebuilding guest.Risk
R2. A bad required-alias rule could block an inventory check or fail to provision a host checkout, but this changes no running machine until a deployment pins it and is recoverable by reverting the pin.
Validation
nix flake check -Lnix build .#checks.x86_64-linux.repository-registry -Lnix build .#checks.x86_64-linux.vm-specs-json .#checks.x86_64-linux.runtime-fact-mutations -Lnix eval --json .#machines.nexus.reposgit diff --checkThe repository witness removes each required Nexus alias independently and pins the expected diagnostic. It separately introduces an unknown host alias and two aliases resolving to one checkout path. The unchanged VM-spec check proves the hypervisor-only repository addition did not alter the guest projection.
Read-only review of commit
81caf5c(gpt-5.5, high effort) found three actionable issues:runtime = "microvm"succeeds. Removingmicrovmfrom the enum could remain green. Add a valid synthetic microvm guest fixture that reaches the realmkVmSpecsJsonpath..nexus.repos[0]assumes that entry is not one of the required aliases. Append the unknown alias so the witness isolates only the intended failure under harmless reordering.vmSpecsJson, but this change deliberately makes it affectrepository-registry; update the comment.The reviewer could not run Nix in its read-only sandbox because Nix attempted to open its fetcher cache database. The implementation validation reported in the PR was run separately in the normal worktree and succeeded.
Review findings are addressed in follow-up commit
1a1ca7a:microvm, passes the realmkVmSpecsJsonpath, and preserves that value in the generated JSON;Post-fix
nix flake check -Lrebuilt all three checks successfully, including the new positive microvm witness and every repository sabotage case.git diff --checkalso passes.