Put fleet-diff on both PATHs and advance the pins that resolve it #68
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/archetypes!68
Loading…
Reference in a new issue
No description provided.
Delete branch "agent/ship-fleet-diff"
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?
Puts
fleet-diffon the dev-box PATH, and advances the two pins that make it and the host-side install resolve. This is the integration change for both.Two boxes change and two do not.
allod-devandnexusget a new system derivation;installerandprivacy-1are byte-identical to master, measured rather than assumed. What changes on a dev box is one new command on the PATH — nothing existing is reconfigured, no service moves, no secret is touched. What proves it: the composed script builds, which is where shellcheck runs, and the built command runs and reports the reviewed usage. If it is wrong, the symptom is a dev box that fails to evaluate or afleet-diffthat is not on the PATH after a rebuild; the fix is reverting this one commit range, since nothing else depends on it yet.What is in here
Three things, in the order they have to happen:
modules/dev-home-shared.nixgains afleet-diffentry alongsideflake-statusandflake-update-cascade, andworkspaceToolgains auseWorkspaceLibargument (see below).master, so what was tested is what merges.flake.lockadvancesallod-tools9d029a7 → 3e13fd8andnexuscd157da → 4edff07. Exactly those two revisions move; nothing else in the lock changes.The lock advance is what unblocks allod/nexus#38 as well.
allod/nexusdoes not pinallod-tools— it receives it throughhome-manager.extraSpecialArgsfrom this repo — so this single advance is what makes the host-side install resolve too.The issue's sketch does not build
Issue #67 says to wire this through
workspaceToolas-is. That fails.workspaceToolunconditionally prependslib/workspace.sh, andfleet-diffis the first tool that calls none of its helpers, so shellcheck reportsSC2329on each never-invoked function andwriteShellApplicationfails the build. Every existing tool calls at least one helper, which is why this has not surfaced before.useWorkspaceLib ? truegates the prepend, andfleet-diffsets itfalse. That is deliberately narrower than addingSC2329to the sharedexcludeShellChecks, which would have weakened the check for all five tools. The coupling to watch: iffleet-diffever starts calling aworkspace_*helper the flag has to flip back, and that fails loudly at build time rather than silently.allod/nexus#38 makes the byte-identical change to its near-identical
nix/home.nix, so the two compositions stay diffable.Risk
R2 for the wiring, R3 for the lock advance, which is the part that moves real machines.
The wiring adds one package and changes no existing one. The four pre-existing
workspaceToolpackages were built before and after the helper change and their derivation paths are byte-identical, so the default path through the helper is provably unchanged — and those four hashes match the ones allod/nexus#38 reports independently.The lock advance moves
allod-devandnexus. Some of that is the new command; the rest is the noise this repo already has, where any commit toallod-toolsmoves every dev machine's derivation becausemodules/agent-hooks.nix:11interpolates the input root. That is not introduced here and is tracked separately.privacy-1being byte-identical is the useful negative result: it holds no dev tooling, so a tools advance genuinely does not reach it.Validation
Everything below was run on this branch at
06a26d9, with--no-write-lock-filethroughout.toplevel.drvPathfor each, against the same four frommaster:allod-devwwcq3mjn… → c2l00pvr…,nexus27x0wfmg… → pjc1hgx9…,installer2yj5038j…unchanged,privacy-1zzzaralw…unchanged.fleet-diffis inhome.packagesforallod-devand, through the advancednexuspin, for thenexushost./nix/store/dc6mh2s8…-fleet-diff— which is where shellcheck actually runs.bin/fleet-diff --helpexits 0 and prints the reviewed short-form usage (--override <input>=<rev>), withjq-1.8.1andgit-2.51.2on its wrapper PATH. Confirmed it is the reviewed content and not a stale pin: the old point measurement appears nowhere in the built script.flake.lock.nix-instantiate --parse modules/dev-home-shared.nixpasses.Sabotage, so the new flag is shown to be load-bearing rather than decorative: with
useWorkspaceLib = falseremoved so the default applies, the build fails with exactly fourSC2329findings.Not run: no VM was built or booted, and no full
nix flake check— evaluating every check attribute in one process is OOM-killed on this machine, so checks were evaluated one at a time and only the ones this change can reach were covered. A rebuild is the human step after this merges.Closes allod/archetypes#67
Closes allod/nexus#37
Put fleet-diff on the dev-box PATHto Put fleet-diff on both PATHs and advance the pins that resolve it