Record fixture-driven check memory cost #39

Merged
vnprc merged 1 commit from agent/nix-check-fixture-memory into master 2026-07-31 14:42:25 +01:00
Member

The existing note covers a composition root evaluating every machine. It does not cover the case that actually bites in a framework repo: checks that build NixOS fixtures cost the same as a machine, so the check run climbs with fixture count rather than machine count.

Measured while adding microvm volume declarations to allod/archetypes — its own nix flake check went from ~4.0 GiB to ~5.7 GiB peak on a 7 GiB box with no swap, with ~840 MiB headroom at the tightest point. Holding a dozen sabotage fixtures live at once was an OOM kill; consuming them as thunks one at a time bought back over a gigabyte.

Also records the tension worth knowing before optimizing: forcing system.build.toplevel is what runs a module's assertions, so a fixture that skips the force is cheap and vacuous. Force deliberately rather than uniformly.

Refs allod/strategy#20

Risk

R0. One paragraph in a memory topic file.

The existing note covers a composition root evaluating every machine. It does not cover the case that actually bites in a framework repo: checks that build NixOS fixtures cost the same as a machine, so the check run climbs with fixture count rather than machine count. Measured while adding microvm volume declarations to `allod/archetypes` — its own `nix flake check` went from ~4.0 GiB to ~5.7 GiB peak on a 7 GiB box with no swap, with ~840 MiB headroom at the tightest point. Holding a dozen sabotage fixtures live at once was an OOM kill; consuming them as thunks one at a time bought back over a gigabyte. Also records the tension worth knowing before optimizing: forcing `system.build.toplevel` is what runs a module's assertions, so a fixture that skips the force is cheap and vacuous. Force deliberately rather than uniformly. Refs allod/strategy#20 ## Risk R0. One paragraph in a memory topic file.
vnprc approved these changes 2026-07-31 14:42:17 +01:00
vnprc merged commit b9d587a159 into master 2026-07-31 14:42:25 +01:00
vnprc deleted branch agent/nix-check-fixture-memory 2026-07-31 14:42:25 +01:00
Sign in to join this conversation.
No description provided.