Record inventory-owned platform rule #4

Merged
vnprc merged 2 commits from agent/inventory-owned-platform-memory into master 2026-06-27 14:51:25 +01:00
Contributor

Closes #3

Summary

Add explicit shared memory that VM architecture and Nix system strings belong in inventory, not in consumer code or review artifacts.

The existing VM provisioning memory already listed inventory/flake.nix as the source of truth for machine platform, type, and hardware. This PR makes the consumer rule explicit: derive architecture from inventory instead of copying literals such as x86_64-linux into profiles, checks, scripts, or plans.

Changes

  • vm-provisioning.md: add a concise rule that architecture strings belong in inventory and consumers must derive them.
  • nix.md: remove the generic x86_64-linux host-platform example and show nixpkgs.hostPlatform = lib.mkDefault platform instead.
  • nix.md: add a short Allod-specific note to thread platform from inventory for VM configs.

Validation

git diff --check
rg -n "x86_64|architecture|supportedPlatforms|hostPlatform|hardcode|platform" nix.md vm-provisioning.md allod.md

The scan confirms there is no remaining x86_64 literal in the touched memory docs, while the inventory-owned platform rule and derived host-platform example are present.

Closes #3 ## Summary Add explicit shared memory that VM architecture and Nix system strings belong in inventory, not in consumer code or review artifacts. The existing VM provisioning memory already listed `inventory/flake.nix` as the source of truth for machine platform, type, and hardware. This PR makes the consumer rule explicit: derive architecture from inventory instead of copying literals such as `x86_64-linux` into profiles, checks, scripts, or plans. ## Changes - `vm-provisioning.md`: add a concise rule that architecture strings belong in inventory and consumers must derive them. - `nix.md`: remove the generic `x86_64-linux` host-platform example and show `nixpkgs.hostPlatform = lib.mkDefault platform` instead. - `nix.md`: add a short Allod-specific note to thread `platform` from inventory for VM configs. ## Validation ```bash git diff --check ``` ```bash rg -n "x86_64|architecture|supportedPlatforms|hostPlatform|hardcode|platform" nix.md vm-provisioning.md allod.md ``` The scan confirms there is no remaining `x86_64` literal in the touched memory docs, while the inventory-owned platform rule and derived host-platform example are present.
Author
Contributor

Read-only review pass: no findings.

Checked:

  • branch is clean and pushed;
  • git diff --check origin/master...HEAD passes;
  • the diff is limited to nix.md and vm-provisioning.md;
  • the generic x86_64-linux host-platform example is removed from memory;
  • the new VM provisioning memory explicitly says architecture/Nix system strings belong in inventory and consumers must derive them instead of hardcoding them in profiles, checks, scripts, or review plans.
Read-only review pass: no findings. Checked: - branch is clean and pushed; - `git diff --check origin/master...HEAD` passes; - the diff is limited to `nix.md` and `vm-provisioning.md`; - the generic `x86_64-linux` host-platform example is removed from memory; - the new VM provisioning memory explicitly says architecture/Nix system strings belong in inventory and consumers must derive them instead of hardcoding them in profiles, checks, scripts, or review plans.
vnprc requested changes 2026-06-27 14:49:07 +01:00
Dismissed
@ -13,6 +13,8 @@ Repos: `profiles` for per-VM NixOS configs, `vm` for shared NixOS modules, `nexu
- Forge key secrets: the encrypted secrets repo, not `profiles/secrets/`
- VM SSH match blocks: the encrypted home configuration, not nexus
Nix system strings such as VM architecture belong in inventory data and `inventory.lib.supportedPlatforms`. Consumers must derive the target system from inventory or from the target NixOS configuration, for example `nixosConfigurations.<vm>.pkgs.stdenv.hostPlatform.system`; do not hardcode architecture strings in profiles, checks, scripts, or review plans.
Owner

too wordy, make it concise, stop wasting tokens

too wordy, make it concise, stop wasting tokens
Author
Contributor

Fixed in . Shortened the rule to:

Fixed in . Shortened the rule to:
Author
Contributor

Corrected reply: fixed in commit 42a9bc4.

New wording:

Architecture strings belong in inventory. Consumers must derive them; do not hardcode them in profiles, checks, scripts, or plans.
Corrected reply: fixed in commit 42a9bc4. New wording: ```text Architecture strings belong in inventory. Consumers must derive them; do not hardcode them in profiles, checks, scripts, or plans. ```
Author
Contributor

Acknowledged review request: shorten the new VM provisioning architecture/source-of-truth memory sentence. I’ll make the wording concise and push an update.

Acknowledged review request: shorten the new VM provisioning architecture/source-of-truth memory sentence. I’ll make the wording concise and push an update.
Author
Contributor

Post-review update check: no findings.

Commit 42a9bc4 shortens the VM provisioning rule. Validation after the update:

git diff --check origin/master...HEAD
rg -n "x86_64|architecture|supportedPlatforms|hostPlatform|hardcode|platform" nix.md vm-provisioning.md allod.md

The branch is clean and pushed.

Post-review update check: no findings. Commit `42a9bc4` shortens the VM provisioning rule. Validation after the update: ```bash git diff --check origin/master...HEAD rg -n "x86_64|architecture|supportedPlatforms|hostPlatform|hardcode|platform" nix.md vm-provisioning.md allod.md ``` The branch is clean and pushed.
vnprc approved these changes 2026-06-27 14:51:17 +01:00
vnprc merged commit 42a9bc466b into master 2026-06-27 14:51:25 +01:00
vnprc deleted branch agent/inventory-owned-platform-memory 2026-06-27 14:51:25 +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/memory!4
No description provided.