ansible-freshen fails on Linux: pipx module not in ansible venv + mac-only inventory runs on non-mac hosts #260
Labels
No labels
burndown-2026-06
coherence-core
consult
headless
interactive
P0
P1
P2
P3
P4
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
coilyco-flight-deck/infrastructure#260
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
coily exec ansible-freshen(read-only--check --diff) fails on a Linux host. Two distinct root causes surfaced during the run.Repro
Host: Linux (
uname -s=Linux, no/opt/homebrew).Finding 1 —
pipxtask fails even in check mode (the hard blocker)Root cause: the inventory pins
ansible_python_interpreter: "{{ ansible_playbook_python }}"(ansible/inventory/hosts.yml), so thecommunity.general.pipxmodule shells out to the uv ansible venv's python viapython -m pipx. That venv has nopipxmodule (confirmed: no.venv/bin/pipx). Thehomebrewrole comment (roles/homebrew/tasks/main.yml:50-51) says pipx is "backed by the brewpipxformula" — i.e. it expects the brew-installedpipxCLI, not a venv module.Fix options:
executable:on thecommunity.general.pipxtask, orpipxto the ansible uv venv deps (pyproject.toml) sopython -m pipxresolves.Finding 2 — Linux host runs the macOS-only path; verb overclaims host-branching
ansible/playbooks/freshen.ymltargetshosts: mac, andansible/inventory/hosts.ymlputslocalhostin themacgroup with no OS branching. On this Linux box thehomebrewrole evaluated macOS casks (blender, docker-desktop, intellij-idea-ce, warp@preview, etc.) and referenced/opt/homebrew/bin/pip3. In--checkthese reportchangedspeculatively; anapplyrun would fail sincebrew install --caskis macOS-only.The
ansible-freshenverb description in.coily/coily.yamladvertises it as "Host-branched mac/linux/windows", but the inventory + playbook implement mac only (matchesAGENTS.md: "today: macOS Homebrew via themacinventory group"). Either implement linux/windows groups + branched role vars, or correct the verb description to reflect mac-only reality.Side note
The repo was 7 commits behind
origin/mainat run time;git pull --ff-onlycleared it (coily refuses repo verbs on a stale tree). Not a bug, just noting the precondition.