Files
cc-ci/machine-docs/BACKLOG-poe2e.md
2026-06-13 19:42:59 +00:00

2.3 KiB

BACKLOG — phase poe2e

Build backlog

(Builder-owned)

  • 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.
  • 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.
  • 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.
  • 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.
  • 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).
  • 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.
  • 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.
  • 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.
  • 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)