# Plan stub — repo consolidation + recipe-maintainer submodule **Status:** COMPLETE (2026-05-31). Both cleanups executed. See commit history for details. --- ## 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-ci` on 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// 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. ## Operator action required — Pi clone remote update The Gitea rename (`cc-ci-autonomous-orchestrator` → `cc-ci-orchestrator`) breaks the `origin` remote on any existing clone. **On the Pi** (and any other machine with a clone), run: ``` cd /srv/cc-ci # or wherever the workspace is cloned git remote set-url origin https://git.autonomic.zone/recipe-maintainers/cc-ci-orchestrator.git # (include bot credentials in the URL if needed, as before) ``` The VM clone's remote was updated automatically as part of this task.