ansible-freshen --check hard-fails on not-yet-installed declared taps (homebrew role) #243
Labels
No labels
burndown-2026-06
burndown-2026-08
autonomy
async-consult
autonomy
epic
autonomy
headless
autonomy
live-collab
coherence-core
priority
P0
priority
P1
priority
P2
priority
P3
priority
P4
qa-fixture
role/devrel
role/eval
role/exec
role/frontend
role/gamedev
role/human
role/platform
role/qa
role/sysadmin
role/tpm
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
coilyco-flight-deck/infrastructure#243
Loading…
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 ansible-freshen(defaultaction=check) hard-fails in thehomebrewrole whenever a declared tap is not yet installed on the host. The check is structurally unable to pass under that condition, so the freshness preview is unusable on any host missing a baseline tap.Reproduction
A clean
--checkrun today fails athomebrew : Ensure Homebrew formulae are present:Hit twice in one sitting: first on
coilyco-bridge/coily/coily, then onterraform-linters/tap/tflint.Root cause
roles/homebrew/tasks/main.yml: thehomebrew_taptask reportschangedin--checkmode but does not actually add the tap (correct check-mode behavior). The very next task,homebrew(formulae), then probes brew live for tap-qualified formulae (<org>/<tap>/<formula>). Because the tap was never really added, brew can't resolve the formula and the task fails fatal. Brew's "Did you mean coilysiren/coily/coily?" fallback is a red herring - it just names whatever tap happens to already be installed.Confirmed not host drift: manually tapping
coilyco-bridge/coilythen resolvingcoilyco-bridge/coily/coilysucceeds (v2.53.0,Formula/coily.rb). The org-split repoint in0678d28is correct -coilysiren/coilyandcoilyco-bridge/coilyare the same Forgejo repo (id:3) via redirect.Fix
Add
check_mode: falseto the "Ensure Homebrew taps are present" task so taps are added even under--check, making the downstream formula resolution meaningful. Tap-add is additive and idempotent, so the small loss of check-mode purity is acceptable - and is the only way the formula check can be honest. Document the tradeoff indocs/ansible.md.Side findings from the same run (not part of this bug, recording for triage)
tflintgenuinely not installed (terraform-linters/tapabsent); 9 outdated formulae noted by brew.reconcile: 2 post-split duplicate checkouts left in place needing manual relocation -coilysiren/coily(1 uncommitted) andcoilysiren/infrastructure(10 uncommitted).gitsweep: 20 repos need attention (mostly in-flight operator state - uncommittedchore/coilysiren-org-ref-updatebranches, forgejo!=origin drift, stale branches).deptree: clean (0 flight-deck->bridge edges).