mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2026-11-08 11:46:35 +00:00
row_architectures intersected the run's pool with the declarations of every role in the complexity closure. That closure follows every conditional provider flag through the base graph, so tor -> web-svc-mirror -> prometheus -> openwebui -> litellm -> lmstudio put the amd64-only lmstudio into the closure of 93 of 128 roles, including the minimal variants that never deploy it. A single amd64 pin would have withdrawn arm64 from nearly the whole matrix. The matrix now replaces a row's services with the include set that plan_dev_inventory_matrix, the planner the deploy step itself uses, resolves for that variant. Against CI run 35674334334 it matches every data point: lmstudio for zammad#2, moodle#2 and xwiki#2, which pulled it on arm64, and not for docs#0 or legal#0, which did not. With the pins of the next commit, 126 of 128 roles keep arm64 rows instead of 34. Without any architecture declaration the emitted matrix is byte-identical to before under a fixed discovery seed. The planner adds about 37 s per matrix build, and a role whose plan errors now stops the matrix instead of only its own deploy job. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>