2.8 KiB
Plan stub — repo consolidation + recipe-maintainer submodule
Status: DEFERRED — make the real plan when credits are available (operator, 2026-05-30). Two cleanups to the orchestrator's repo layout, recorded so a future session can pick them up.
Task 1 — merge the two orchestrator repos into one cc-ci-orchestrator
Today there are two repos:
recipe-maintainers/cc-ci-autonomous-orchestrator— the loop code/plans/prompts (cc-ci-plan/,launch.sh,prompts/,references/,AGENTS.md). This is the workspace at/srv/cc-ci(/home/loops/cc-cion the VM).recipe-maintainers/cc-ci-orchestrator— the VM's NixOS config (configuration.nix,README.md), created during the VM migration.
Goal: combine into a single repo named cc-ci-orchestrator (loop code/plans + the VM's NixOS
config in one place). Likely: move the NixOS config into the autonomous-orchestrator repo (e.g.
nixos/ or vm/), then rename that repo to cc-ci-orchestrator on Gitea.
Touch-ups when doing it: the workspace clone URL in launch-orchestrator.sh / kickoff docs /
cc-ci-loops.service, the VM's git remote, and plan.md/kickoff.md references to the repo name.
Keep recipe-maintainers/cc-ci (the CI product repo the loops build) separate — this is only
about the two orchestrator repos.
Task 2 — make references/recipe-maintainer a git submodule
Today references/recipe-maintainer is a symlink → /srv/recipe-maintainer/ (an absolute path).
On the Pi that target existed; on the VM it does NOT, so the symlink dangles and the parity corpus
is empty — Phase-2 parity-porting (P2) reads from references/recipe-maintainer/recipe-info/<recipe>/ tests/*.py, so recipes not already ported can't be ported until this is fixed.
Goal: replace the symlink with a proper git submodule from
https://git.autonomic.zone/notplants/recipe-maintainer:
git rm references/recipe-maintainer # remove the symlink
git submodule add https://git.autonomic.zone/notplants/recipe-maintainer references/recipe-maintainer
git commit
# on each clone / the VM: git submodule update --init --recursive
This both fixes the current VM gap (corpus present + reproducible, no absolute-path dependency) and makes the workspace self-contained on any host.
Interim (before this plan runs), if the loops need the corpus on the VM: clone recipe-maintainer
to /srv/recipe-maintainer on the VM (needs root — /srv is root-owned) so the existing symlink
resolves; OR do Task 2 directly.
When to do this
After Phase 2 settles / when credits are available. Neither is urgent for the loops currently in flight (ghost/discourse were already partly ported on the Pi), but Task 2's gap will bite the next not-yet-ported recipe.