a858489e

By: syd <syd@kronor.io>

Rewrite the verdict: Nix alone, and turn PLAN.md into the adoption plan

The verdict was architecture C, the Nx project graph becoming the Nix graph. It
is architecture A, Nix alone. The earlier draft dismissed A as "correct, and
coarser" on two assumptions that measurement disproved: that Nix could not find
the import edges, and that directory-granularity filesets were a cost. The
edges are in the manifests, and for the test derivation the whole project
directory is the *correct* input because a Vitest config is a program.

Retracted explicitly, because it was this document first claim: "which package
a TypeScript import resolves to" as the thing Nx knows and Nix cannot get. Nx
does not resolve it either in a pnpm workspace; it reads the manifest. The only
entry left on that list is the per-test-file split.

Added: the scaling table, and a preconditions section giving the conditions the
recommendation depends on, each with a one-command check and what to do when it
fails. That is what makes this transferable to a repository nobody here has
seen.

PLAN.md was a plan to measure scaling, which is now done. It is now the plan
the original request actually asked for: how to produce a good flake for the
real repository, in the order the pieces bite, with what not to bother with.

Also corrects a stale number caught by the audit: the headline table gave the
README row as 0 invalidated where the committed matrix says 1, and the
assertion count was 128 where a real run counts 129.

Total

4m15s

Created Started Finished

Time to Start Worker time Duration Time to finish Idle
Config 0s 1s 1s 1s 0s
Eval 1s 4m13s 4m13s 4m15s 0s
Build 3s 9s 4m08s 4m11s 0s
Suite 0s 4m24s 4m15s 4m15s 0s

Timeline

Config Eval Build
0s20s40s1m1m20s1m40s2m2m20s2m40s3m3m20s3m40s4m