Created Started Finished
By: syd <syd@kronor.io>
Fix the seven gaps found by following PLAN.md on a fresh workspace The plan had never been tested by anyone following it. Rebuilt from it alone against a generated ten-project workspace with the Nix side stripped out: ten per-package test derivations, all green. So the plan works, but it left seven things unsaid, four of which stop a follower outright. Blocking: - fetchDeps is a fixed-output derivation and needs a hash nobody can know in advance. The plan never mentioned it. Set lib.fakeHash, build, copy the got: value. - Project discovery was assumed. The plan said "reduce each manifest" as though the list already existed; Nix cannot read pnpm-workspace.yaml, so the globs get restated and readDir walked. - pnpm.configHook is what runs the install. Guessing that is not reasonable. - Nothing described the working tree each derivation builds inside, only what the output must contain. That is the piece with no obvious shape, and the one that took longest to work out originally. Non-blocking but wrong-footing: no note that tsc and vitest come from node_modules/.bin; no note that the test derivation links dev dependencies where the build does not; no note that the precondition resolution check needs an install to have run first, without which nothing resolves and the control cannot pass; and a stale 2 s where the measured upload cost is 1.8 s. Phase 0 also gains `pnpm install --frozen-lockfile` as a check, because a fresh workspace has no lockfile and everything downstream is derived from it.