allod-dev inventory: add framework repos and normalize legacy aliases #5

Merged
vnprc merged 2 commits from agent/add-framework-repos-allod-dev into master 2026-07-16 16:15:00 +01:00
Member

Two related tidy-ups to the allod-dev inventory, now that the framework repos are public.

What

  1. Add the newly-public framework repos — profiles, vm, nexus, and deploy — to allod-dev's checkout list so agent sessions on the dev VM have the framework source under ~/work/allod. Previously allod-dev checked out only tools, strategy, secrets, inventory, and memory.
  2. Normalize the two legacy registry aliases that predate the allod/<repo> convention: workspace-toolsallod/tools and strategyallod/strategy. Key-only rename — the remote and checkout values are unchanged, so on-disk checkout paths are identical. After this, every alias in the registry matches its remote/checkout, and (per the resolver's fallback) each would even resolve without an explicit registry entry.

Source of truth is flake.nix (the machines attrset); scripts/vm-specs.json is regenerated from it, and scripts/repositories.json is the registry. self_rebuild stays false — these are working checkouts, not a self-rebuild dependency.

Risk

Low. Inventory-only; no secrets, provisioning code, systemd, or self_rebuild change.

  • Additions: worst credible failure is a wrong remote/checkout surfacing as a clone failure on the next sync — recoverable, no host or existing-checkout impact. All four checkout paths are distinct. Note: deploy is currently an empty repo, so its checkout lands empty until content is pushed (harmless — provisioning clones an empty repo fine).
  • Rename: keys only. Provisioning reads alias keys dynamically from vm-specs.json (nexus/scripts/bootstrap-vm-from-host.sh) and resolves them through a generic resolver (resolve_repo_entry) that clones by the unchanged remote/checkout values; setup-tracked-hooks reads .checkout/.hookspath, not the key; the registry check enforces that every spec alias exists in the registry. The only literal workspace-tools in provisioning code is a self-contained test fixture that builds its own registry. Verified by cloning nexus/profiles/vm and grepping.

Validation

  • nix flake check passes (vm-specs-json and repository-registry) on both commits.
  • repository-registry reports all checks OK (alias existence, per-VM checkout uniqueness, safe remote/checkout values).
  • scripts/vm-specs.json regenerated via nix eval .#lib.vmSpecsJson --raw | jq -S ., matching the flake attrset.
  • git ls-remote confirmed all four framework repos exist on the forge.

Closes allod/inventory#4

Two related tidy-ups to the allod-dev inventory, now that the framework repos are public. ## What 1. Add the newly-public framework repos — `profiles`, `vm`, `nexus`, and `deploy` — to allod-dev's checkout list so agent sessions on the dev VM have the framework source under `~/work/allod`. Previously allod-dev checked out only tools, strategy, secrets, inventory, and memory. 2. Normalize the two legacy registry aliases that predate the `allod/<repo>` convention: `workspace-tools` → `allod/tools` and `strategy` → `allod/strategy`. Key-only rename — the `remote` and `checkout` values are unchanged, so on-disk checkout paths are identical. After this, every alias in the registry matches its remote/checkout, and (per the resolver's fallback) each would even resolve without an explicit registry entry. Source of truth is `flake.nix` (the `machines` attrset); `scripts/vm-specs.json` is regenerated from it, and `scripts/repositories.json` is the registry. `self_rebuild` stays `false` — these are working checkouts, not a self-rebuild dependency. ## Risk Low. Inventory-only; no secrets, provisioning code, systemd, or `self_rebuild` change. - Additions: worst credible failure is a wrong remote/checkout surfacing as a clone failure on the next sync — recoverable, no host or existing-checkout impact. All four checkout paths are distinct. Note: `deploy` is currently an empty repo, so its checkout lands empty until content is pushed (harmless — provisioning clones an empty repo fine). - Rename: keys only. Provisioning reads alias keys dynamically from `vm-specs.json` (`nexus/scripts/bootstrap-vm-from-host.sh`) and resolves them through a generic resolver (`resolve_repo_entry`) that clones by the unchanged `remote`/`checkout` values; `setup-tracked-hooks` reads `.checkout`/`.hookspath`, not the key; the registry check enforces that every spec alias exists in the registry. The only literal `workspace-tools` in provisioning code is a self-contained test fixture that builds its own registry. Verified by cloning nexus/profiles/vm and grepping. ## Validation - `nix flake check` passes (`vm-specs-json` and `repository-registry`) on both commits. - `repository-registry` reports all checks OK (alias existence, per-VM checkout uniqueness, safe remote/checkout values). - `scripts/vm-specs.json` regenerated via `nix eval .#lib.vmSpecsJson --raw | jq -S .`, matching the flake attrset. - `git ls-remote` confirmed all four framework repos exist on the forge. Closes allod/inventory#4
allod-agent changed title from Add profiles, vm, nexus, and deploy to allod-dev repo list to allod-dev inventory: add framework repos and normalize legacy aliases 2026-07-16 15:13:46 +01:00
vnprc approved these changes 2026-07-16 16:14:55 +01:00
vnprc merged commit 0ec2911752 into master 2026-07-16 16:15:00 +01:00
vnprc deleted branch agent/add-framework-repos-allod-dev 2026-07-16 16:15:00 +01:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
allod/inventory!5
No description provided.