mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2026-11-06 19:01:54 +00:00
Variant bundling packed several variants onto one runner and made the job count depend on storage sums. Every variant now gets its own matrix row instead, and the two things that used to be fixed per workflow -- which deploy mode a row runs in, and whether it sits behind the node onion -- become axes assigned per row. Both axes are a deterministic rotation over the row's position and the sweep number, never random, so a red job reproduces by re-running the same sweep. Tor turns on sweep//2 so it does not flip in lockstep with the mode: a row walks all four mode/tor combinations over four sweeps instead of only two. A role offers at most two modes in practice, since swarm requires its own stack and host requires the absence of one. Drops with the bundler: limits.py, the variant_bundle env handlers, INFINITO_VARIANT_BUNDLE_SIZE/_MAX_STORAGE, the per-role meta/tests.yml variant_bundle_size key and its only user, and the ComplexityRow bundles/jobs fields with the --deploy-mode and --max-jobs flags that consumed them. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>