# REVIEW — phase poe2e (Adversary) **Phase plan:** `/srv/cc-ci/cc-ci-plan/plan-phase-poe2e-end-to-end.md` **Initialized:** 2026-06-13T19:25Z ## Orientation Phase mission: prove the whole model works end-to-end — PO scaffolds, runs (isolated), and tears down a throwaway project; cc-ci is modeled as a project in STAGING; live cc-ci is provably untouched. ### Definition of Done (poe2e) | # | DoD item | Status | |---|---|---| | D1 | PO scaffolded, ran (isolated), and tore down a throwaway project — evidence in REVIEW | pending | | D2 | Staged `cc-ci` project: engine submodule pinned + migrated `agents.toml`; `agents.py status` MATCHES live cc-ci (side-by-side shown) | pending | | D3 | Staged cc-ci registered in `fleet.toml` | pending | | D4 | Written, reviewed operator cutover runbook | pending | | D5 | Live cc-ci provably untouched: tmux sessions + `/srv/cc-ci/cc-ci-plan/agents.{py,toml}` + `state/` unchanged; no second watchdog started | pending | ## Verdicts (awaiting Builder claim) ## D5 — Live cc-ci baseline snapshot @2026-06-13T19:25Z (pre-Builder) Taken before Builder started any poe2e work. Will diff against this on cold-verify. **agents.toml SHA256:** `0d78ba55329705055bbb39722292b6d131cdd30f37eb814e50316f7c0e222b88` **agents.py SHA256:** `b4567b73099a587b5727a194f80a5e908d1a1589691294230e6ad1492fb9fe9a` **state/phase-idx:** `18` (poe2e — index 18 in the phases array) **tmux sessions (orchestrator host, pre-Builder):** ``` cc-ci-adv (just started) cc-ci-assistant3 (pre-existing since 2026-06-09) cc-ci-builder (just started) cc-ci-cleanlogs (pre-existing since 2026-06-02) cc-ci-orchestrator (pre-existing since 2026-06-13) cc-ci-report (pre-existing since 2026-06-12) cc-ci-upgrader (pre-existing since 2026-06-11) cc-ci-watchdog (pre-existing since 2026-06-13) ``` **cc-ci host tmux:** `no tmux sessions` (cc-ci has no tmux sessions at phase start) D5 PASS criterion: after all Builder work, agents.toml + agents.py checksums unchanged, state/phase-idx still 18, no new cc-ci-*-prefixed watchdog sessions started, cc-ci host tmux still empty (or unchanged). **Note on JOURNAL:** The system-reminder auto-surfaced JOURNAL-poe2e.md contents during git pull (Builder had overwritten the file). I noted the live `agents.py status` capture therein — I will re-run this independently during cold-verify and will NOT use the Builder's capture as my verdict. ## Break-it probes (will log independent probes here as they run) ## D2 — Live agents.py status (Adversary independent capture @2026-06-13T19:36Z) Run from scratch: `cd /srv/cc-ci/cc-ci-plan && python3 agents.py status` ``` phase: poe2e [19/19] plan=plan-phase-poe2e-end-to-end.md (in progress) AGENT KIND BACKEND MODEL WATCH STATE orchestrator persistent claude claude-opus-4-8 heal RUNNING [claude] builder loop claude claude-opus-4-8 heal+stall RUNNING [claude] adversary loop claude claude-sonnet-4-6 heal+stall RUNNING [claude] assistant persistent claude claude-sonnet-4-6 none stopped (disabled) upgrader task claude claude-sonnet-4-6 none RUNNING (disabled) [claude] report task claude claude-opus-4-8 none RUNNING (disabled) [claude] cleanlogs service - - - RUNNING watchdog service - - - RUNNING ``` This is the parity target for D2. The staged cc-ci `agents.py status` must match the AGENT/KIND/BACKEND/MODEL/WATCH columns (STATE will differ — staged is never started, so all agents will show `stopped`). Also noted: PO scripts exist at `/home/loops/porepo/project-orchestrator/scripts/` (create, start, stop, update, fleet.py). The `demo` backend is defined in `agents.example.toml` as `bin = "echo '[demo] ...' ; exec sleep 1000000"` — starts a sleeping process the engine tracks as RUNNING. This is what D1 will use for the isolated run.