# gitea-review-bot — ROADMAP Phases beyond the first milestone (threaded single-flow review + merge/reject/deploy; see AGENTS.md `## Current state`). ## Phase 2 — Subagent panel, proven - The lead `claude -p` reliably spawns the enabled subagents (reviewer / adjudicator / security-auditor) and presents each opinion + its own recommendation. **Exit:** a real PR review shows up to 3 distinct, labeled opinions + the lead's call; flaky headless subagent spawning falsifies it → fall back to bot-orchestrated separate `claude -p` runs (the rejected alternative). - In-chat `agents +/-` toggles change which subagents run on the next review, per room (persisted). ## Phase 3 — Multi-repo at scale - Onboard ≥3 repos to their own rooms; confirm independent polling, no cross-talk. **Exit:** three repos reviewed from three rooms in one run with no interleaving. - Per-repo deploy (`[repo.].deploy_on_merge`) exercised on a non-static repo (not a Pages site). ## Phase 4 — Spark Control tile - Status badge + Update/Restart/Stop-Start/Logs, mirroring matrix-bridge's D10 (captured in the cross-project inbox as a spark-control item). ## Deferred / non-goals - Not a Claude-session bot (that's matrix-bridge); not Maubot (revisit at ~6+ bots or web-UI mgmt); no GitHub/non-Gitea; no Gitea account/permission management; E2EE deferred (private LAN transport). - A shared "bot kit" library (extract the common matrix-nio + SSH plumbing across the three bots) once duplication bites — the lighter step before ever considering Maubot. - Poll → webhook upgrade if 60s latency ever matters.