mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2026-11-08 19:56:53 +00:00
A row marked for the instructions replay gets `web-app-docs` appended to its apps, and the planner hands every primary app the round's index. The host therefore took the subject's index, which for a passenger is an arbitrary shape. Measured in run 36558500327: the same appended role deployed dashboard, matomo, prometheus and css in 141 tasks on a round-0 row and in none at all on a round-1 row, purely because of whose round it was riding. The README's Production block describes the bare role, so the host now takes its smallest variant in every round. The index comes from `smallest_variant` rather than a literal, so it follows `meta/variants.yml` instead of drifting from it. The row names the host in an environment variable. `--apps app#variant` would have read better at the call site but needs a new matrix column in both `axes.py` and `cli/meta/ci/plan.py`, while the deploy CLI already reads `disable` from the environment and the four shell layers between the workflow and the CLI pass it through untouched. A pinned app no longer counts toward the round total: a passenger should not lengthen the subject's sweep. That removes an unreachable round rather than coverage, because `deployed_rounds` plans one app at a time and a role with one variant therefore only ever yields `variant: 0` rows, which the workflow pins on every deploy. The host is left alone when it is also the subject. `web-app-docs` carries the replay on its own rows too, where the apps list reads `web-app-docs, web-app-docs` and the round index is the entire point of the sweep. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>