# REVIEW — phase porepo (Adversary) **Phase plan SSOT:** `/srv/cc-ci/cc-ci-plan/plan-phase-porepo-project-orchestrator.md` Verdicts are issued only after cold-start re-execution of the acceptance check from this clone. No DoD item is accepted on Builder's word alone. --- ## Adversary orientation + pre-check @2026-06-13T19:05Z Phase initialized. Builder has not yet started: - `recipe-maintainers/project-orchestrator` — 404 on Gitea (2026-06-13T19:05Z) - No builder clone at `/srv/cc-ci/cc-ci` ### Pre-verification checklist (break-it probes to run when Builder claims DONE): 1. **Submodule pinned to v0.1.0** — verify `git submodule status` shows the exact SHA matching `agent-orchestrator` tag `v0.1.0`, not HEAD or a newer commit. 2. **No PO/fleet metadata inside scratch project** — when Builder demonstrates the create-project flow, grep the scratch project repo for `fleet`, `project-orchestrator`, `porepo` — must be absent. 3. **Clean recursive clone** — `git clone --recurse-submodules` in /tmp; `engine/` submodule must materialise without extra steps. 4. **agents.py status cold** — from /tmp clone, inside `nix develop`, `python3 engine/agents.py status` must succeed (exit 0) without any pre-setup beyond the clone. 5. **fleet.toml sample parses** — `python3 -c "import tomllib; tomllib.load(open('fleet.toml','rb'))"` must succeed. 6. **nix develop -c python3 -c 'import tomllib'** must succeed per DoD-5. 7. **Bootstrap doc exists** — README or docs/bootstrap.md describes the hand-scaffold flow. 8. **Scratch project cleanup** — after the demo, scratch project must be deleted from Gitea and NOT appear in any live cc-ci system. --- ## Verdicts ### porepo: ALL DoD PASS @2026-06-13T19:19Z Cold-verified from anonymous `/tmp/porepo-cold` recursive clone (no creds, no cached state). Deliverable: `recipe-maintainers/project-orchestrator` HEAD `346ed31acbc0d98eeb2881a1b62998ac9544c002`. **DoD-1 — repo + submodule + main pushed: PASS** - Repo public on Gitea, main at `346ed31`. - `git submodule status` → ` 289ef07df40a8264f3a36b4e91b923d1424c4658 engine (v0.1.0)` — exact v0.1.0 tag commit. - `engine/agents.py` present in submodule. **DoD-2 — `agents.py status` from clean recursive clone (nix develop): PASS** - `nix develop -c python3 engine/agents.py status` → table with `project-orchestrator` (persistent, claude, claude-opus-4-8, heal, stopped) + watchdog service. rc=0. - devShell banner: `Python 3.11.11, tmux 3.5a, git version 2.47.2`. **DoD-3 — fleet.toml schema + sample entry parses: PASS** - `fleet.py validate` → `fleet: OK — 1 project(s), schema v1`, rc=0. - `fleet.py status` → lists `example-recipe-ci` (enabled, agent-orchestrator@v0.1.0), `total=1 enabled=1 disabled=0`. - `tomllib.load(fleet.toml)` → schema v1, project `example-recipe-ci`. Documented in `docs/fleet-registry.md`. **DoD-4 — create-project flow documented AND demonstrated: PASS** - `create-project.sh scratch-verify --dir /tmp/po-scratch --ref v0.1.0` scaffolded cleanly. - Scratch project submodule pinned at `289ef07` (v0.1.0). - `engine/agents.py status` (run via PO's nix develop) → worker agent table, rc=0. - Tracked files: `.gitignore .gitmodules agents.toml engine` only — exactly minimal. - No PO/fleet metadata: `grep -ril -e fleet -e project-orchestrator . --exclude-dir=engine --exclude-dir=.git` → empty (CLEAN). - `scratch-verify` NOT registered in `fleet.toml`. - `scratch-verify` NOT on Gitea (404) — local-only throwaway. Did not touch live cc-ci system. - Scratch project cleaned up post-demo (`rm -rf /tmp/po-scratch`). - Flow documented in `docs/manage-projects.md`. **DoD-5 — Nix works + bootstrap doc present: PASS** - `nix develop -c python3 -c 'import tomllib'` → exit 0 (no output = success). - `docs/bootstrap.md` present — describes hand-scaffold steps (init repo, add engine/ submodule, write agents.toml, run `engine/agents.py up`). - `flake.nix` devShell includes `python311`, `tmux`, `git` (with submodule support). `README.md` documents `nix develop`. **Break-it probes (independent):** - Submodule URL is `https://git.autonomic.zone/recipe-maintainers/agent-orchestrator.git` (public, no embedded creds) — anonymous `--recurse-submodules` clone works without credentials. - Scratch project has single-commit git history; no PO/fleet metadata in any tracked file (verified by grep over full tree excluding engine/). - `scratch-verify` never registered in fleet.toml and never pushed to Gitea. **No findings. No VETO.**