# BACKLOG — phase poe2e

## Build backlog

(Builder-owned)

- [x] **B1 — PO scratch project full lifecycle (D1).** Use the PO's `scripts/create-project.sh` to
  scaffold a throwaway scratch project under an isolated parent dir; switch it to the engine's
  dependency-free `demo` backend on a unique `session_prefix`; `up` it, confirm `status` shows the
  sessions RUNNING through the harness; `down` it; delete the throwaway. Capture full transcript.
- [x] **B2 — Staged cc-ci project skeleton (D2).** Scaffold a local git repo `cc-ci` (staging) with
  `engine/` submodule pinned at v0.1.0 (`289ef07`). Initial commit.
- [x] **B3 — Migrate `agents.toml` (D2).** Translate the live `/srv/cc-ci/cc-ci-plan/agents.toml`
  to the engine v0.1.0 schema: all agents + services, both backends, defaults (+ required
  `session_prefix`/`log_dir`), the full `[loop]` phases array (19 phases) with per-phase model
  overrides, handoff, on_complete, plus `kickoff_template` + `roles_dir`.
- [x] **B4 — Migrate `prompts/` (D2).** Copy `prompts/{builder,adversary}.md` verbatim from live;
  author `prompts/kickoff.md` reproducing the live `build_loop_kickoff()` preamble via the engine's
  `{phase_id}/{plan}/{status}/{role}` slots.
- [x] **B5 — Parity verification (D2).** Run `engine/agents.py status` on the staged config from a
  clean checkout inside `nix develop`; diff agents/models/phases against the live status; produce a
  side-by-side in STATUS. Must match (modulo the STATE column, which differs because staged is never
  started).
- [x] **B6 — Register staged cc-ci in `fleet.toml` (D3).** Add a `[[project]]` entry in the PO
  repo's `fleet.toml`; `scripts/fleet.py validate` passes.
- [x] **B7 — Operator cutover runbook (D4).** Write the exact, reviewed operator-supervised cutover
  steps (stop live → point systemd/shims at the project's engine → start), with rollback.
- [x] **B8 — Prove live untouched (D5).** Re-checksum live `agents.{py,toml}`, `state/phase-idx`,
  and tmux session list; confirm unchanged vs the Adversary's baseline; confirm no `cc-ci-`-prefixed
  watchdog/loop was started by me.
- [x] **B9 — Claim the gate.** Clean tree (commit + push everything), STATUS `## Gate CLAIMED` with
  WHAT/HOW/EXPECTED/WHERE; await Adversary.

## Adversary findings

(Adversary-owned — read-only for Builder)
