plan stub: repo consolidation (merge 2 orchestrator repos) + references/recipe-maintainer as a submodule — deferred until credits (operator 2026-05-30)
This commit is contained in:
50
cc-ci-plan/plan-repo-consolidation.md
Normal file
50
cc-ci-plan/plan-repo-consolidation.md
Normal file
@ -0,0 +1,50 @@
|
||||
# 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-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/<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.
|
||||
Reference in New Issue
Block a user