feat(ansible): port up-to-date.py reconcile + deptree roles #219

Closed
opened 2026-06-04 10:08:09 +00:00 by coilysiren · 0 comments
Owner

Continue the Ansible port of agentic-os-kai/scripts/up-to-date.py. The homebrew, agent-compose, repos (clone), and git (sweep) roles already landed; this adds the last two steps:

  • reconcile (step 7) - library/repo_reconcile.py + roles/reconcile/. Makes the local ~/projects/<org>/ tree match the remotes: move each drifted checkout to its origin org, or remove it when a clean fully-pushed canonical copy already exists. Conservative - any local state or the agentic-os-kai harness anchor FAIL-flags and leaves it untouched. Runs before the git sweep. Check-mode reports the plan.
  • deptree (step 8) - library/repo_deptree.py + roles/deptree/. Walks dependsOn edges of catalog-graph.json, maps each end to its bucket from repo-split-decisions.yaml, fails on any flight-deck -> bridge edge. Read-only.

Wired into playbooks/freshen.yml (order: homebrew, agent-compose, repos, reconcile, git, deptree), each tagged. Docs in docs/ansible.md, ansible/README.md, docs/FEATURES.md.

Continue the Ansible port of `agentic-os-kai/scripts/up-to-date.py`. The homebrew, agent-compose, repos (clone), and git (sweep) roles already landed; this adds the last two steps: - **reconcile (step 7)** - `library/repo_reconcile.py` + `roles/reconcile/`. Makes the local `~/projects/<org>/` tree match the remotes: move each drifted checkout to its origin org, or remove it when a clean fully-pushed canonical copy already exists. Conservative - any local state or the `agentic-os-kai` harness anchor FAIL-flags and leaves it untouched. Runs before the git sweep. Check-mode reports the plan. - **deptree (step 8)** - `library/repo_deptree.py` + `roles/deptree/`. Walks `dependsOn` edges of `catalog-graph.json`, maps each end to its bucket from `repo-split-decisions.yaml`, fails on any flight-deck -> bridge edge. Read-only. Wired into `playbooks/freshen.yml` (order: homebrew, agent-compose, repos, reconcile, git, deptree), each tagged. Docs in `docs/ansible.md`, `ansible/README.md`, `docs/FEATURES.md`.
Sign in to join this conversation.
No description provided.