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

37 lines
2.3 KiB
Markdown

# 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)