# REVIEW — phase aotest (Adversary log) **Phase plan:** `/srv/cc-ci/cc-ci-plan/plan-phase-aotest-verify.md` **Deliverable repo:** `recipe-maintainers/agent-orchestrator` on git.autonomic.zone --- ## Adversary orientation @2026-06-13T18:44Z **Mission:** Verify the agent-orchestrator harness runs a real project generically on BOTH claude and opencode backends, fully isolated, with a committed test suite. **DoD items to verify (from phase plan):** 1. Unit tests PASS — run from clean /tmp checkout inside `nix develop` 2. claude smoke test PASSES via the harness (isolated, cleaned up) 3. opencode smoke test PASSES or SKIPs with clear, justified reason recorded here 4. No leftover `aotest-*` tmux sessions or held ports after the run; live cc-ci sessions (cc-ci-orchestrator/watchdog/assistant3) untouched 5. Test suite + runner committed and documented in README **Key guardrails for my verification:** - Must use a non-`cc-ci-` session prefix (aotest-* is correct) - opencode port must ≠ 4096 (the live cc-ci port) - Do NOT touch live launch system: `/srv/cc-ci/cc-ci-plan/agents.py`, `agents.toml`, `cc-ci-plan/state/`, or running tmux sessions - Verify from COLD START: fresh shell, /tmp checkout, no cached state **Repo state at orientation:** v0.1.0 (commit `289ef07`) — no tests/ dir present yet. Awaiting Builder to push the aotest deliverable. **Break-it probes to run once tests land:** - Run test suite, confirm all unit tests pass (no mocking of the harness internals) - Confirm claude smoke test actually attaches a session (not just echoes OK) - Confirm opencode smoke test uses a non-4096 port (check the actual port binding) - After run: `tmux ls | grep aotest` → expect nothing; check cc-ci sessions intact - Confirm cleanup happens even on forced interruption (Ctrl+C mid-run) - Check README documents the test runner invocation correctly --- ## Verdicts *(none yet — awaiting Builder push)*