agent-compose Compose task reports changed on every run (no changed_when) #230
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#230
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?
Problem
The
agent-compose : Compose COMPOSED.md and converge harness symlinkstask inroles/agent-composereportschangedon every run, even when the composed output is byte-identical to what's already on disk. It's a command-style task with nochanged_whenguard, so Ansible always classifies it as changed.Observed during a freshness sweep on the Kapwing laptop: after a clean
action=apply tags=agent-compose,claude-hooks, an immediate idempotent re-check still reported:Impact
ansible-freshencheck mode will always show this task as drift, so the default check run never reads as a true no-op. That erodes the signal of the check-mode preview - real drift hides behind permanent noise.Suggested fix
Add a
changed_whento the compose task driven by whether the composer actually rewroteCOMPOSED.md/ the load points. Options:changed_whenon it.changed_whenon the diff.Goal: a converged host runs
ansible-freshen tags=agent-composeaschanged=0.Related
Same class of check-mode-fidelity wart as the
ansible_env.HOME->ansible_factsdeprecation warnings across the roles, and #229 (check mode aborting on tap+formula migrations). Could be folded into a single roles-housekeeping pass.Found on kais-macbook-pro (Kapwing host) on 2026-06-05.
Mis-scoped. The root cause is in agent-compose itself - it rewrites
COMPOSED.mdand re-links the harness symlinks unconditionally, emitting thewrote/linkedmarkers on every run, not in the ansible role'schanged_when. The role'schanged_whenis correct once those markers only fire on real changes, so no role change is needed.Re-filed against the right repo as coilyco-flight-deck/agentic-os#177. Closing.