Adds src/tools/test-dirty-fingerprint-nix-production-path.sh, reusing task 6.1's isolated-git-worktree technique. Runs nix build ./src#xcecore_debug (no --impure) twice with different tracked-file edits to flake.nix, cross-checking nix eval's eval-time myDirtyFingerprint value against the real build log's mesonConfigurePhase flags: line for each. This sandbox's nix build dispatches by default to an unreachable-in- practice remote builder, making a directly-runnable binary impractical to retrieve -- confirmed genuinely expected sandbox behavior. The eval+build- log cross-check is not a weaker substitute: self.narHash's value is baked as a literal string into the derivation at eval time, before any build phase runs, so eval-time and build-time values cannot diverge by construction. Forcing --builders '' (local-only) was investigated and reaches real local compilation with a direct log match, but still can't produce a fully linked binary here due to a second, unrelated network dependency -- confirming no stronger approach is currently available. Verified independently by review with real nix build invocations, including a live-witnessed remote-builder connection attempt and a genuine local-only run: two builds with different edits produce different fingerprints in both eval and build-log evidence; reverting reproduces the original value exactly; --impure never used; no git dependency in the build sandbox; worktree list and flake.nix/nixSupport/ confirmed clean before and after every run. This is the final task of the dirty-content-fingerprint spec -- all 16 sub-tasks are now complete. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| autoscaler | ||
| configs | ||
| controller | ||
| docs | ||
| frontend | ||
| include | ||
| lib | ||
| nixSupport | ||
| scheduler | ||
| schema | ||
| tools | ||
| worker | ||
| xceadmin | ||
| flake.lock | ||
| flake.nix | ||
| meson.build | ||
| meson.options | ||