mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2026-11-06 19:01:54 +00:00
build/install-lint-<hash>.stamp lives on the host-bind-mounted build/ tree, but the lint tools live inside the docker container. When the infinito image is rebuilt, the tools are gone but the stamp persists -- so the next install-lint short-circuits and downstream lint targets fail with exit 127 (command not found). _stamp_is_fresh() now additionally checks shutil.which() for every tool the all-mode install produces. A missing tool invalidates the stamp, forcing the per-tool ensure() chain to run (each ensure is idempotent so this stays cheap when state is clean). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>