# Blocking Decisions All five must resolve before Phase 1 starts. Source: ADR-0001 review notes. ## 1. Which GitOps repo owns the portfolio? Two roots exist: - `homelab-root` → `git@github.com:Riotpiaole/riotpiao.homelab.com.git`, path `k8s/argocd/apps` (31 child Applications, this is the live one) - This repo's `infra/argocd-apps.yaml` → `forgejo.riotpiao.homelab.com` (NXDOMAIN, `portfolio`/`auth-infra` Applications don't exist in cluster) **Decision needed:** GitHub or Forgejo. Blocks Phase 0.1–0.3. ## 2. Apex 403 cause `riotpiao.com` resolves via Cloudflare (172.67.196.33 / 104.21.60.115) but returns HTTP 403 at the edge, no origin headers. **Decision needed:** tunnel route missing, WAF rule, or no origin configured at all. Check Cloudflare tunnel Public Hostnames list + WAF event log (event log names the blocking rule). Blocks Phase 0.5. ## 3. Is homarr still wanted? Deployed and healthy, but shipped under the abandoned Homarr+Terraform plan. **Decision needed:** keep, or decommission via GitOps (remove Application, let Argo prune). ## 4. Does chat (Surface D) stay in v1? 8-slot GPU ceiling (`--max-num-seqs=4` × 2 replicas) means chat queues under real traffic — a visible "please wait" is a worse first impression than no chat. **Decision needed:** ship B+E+C first and treat D as separate follow-up, or commit to D in v1 with the queue UX as-is. ## 5. Where does atlas live? This repo (`riotpiao`) or the homelab repo. Follows from decision 1 — whichever repo is authoritative for the portfolio's GitOps should also own atlas's manifests. --- Once answered, update this file with the decisions taken (date + rationale) before starting [01-phase0-unblock.md](01-phase0-unblock.md). ## Hard requirement: Playwright Every phase shipping a UI surface (Phase 2, 3, 4, 5) requires a passing Playwright e2e spec before merge — not optional, gated in CI alongside `pnpm test`. Setup lands in Phase 0 task 0.6a.