flowchart LR
dev["Developer PR"] --> ci["CI: lint/test/build/security"]
ci --> opspr["Open PR to Ops Repo (dev bump)"]
opspr --> opsreview["Ops Review"]
opsreview --> opsmerge["Merge to Ops Repo"]
opsmerge --> deploy["Deployment Adapter"]
deploy --> envdev["Dev Environment"]
envdev --> smoke["Smoke Checks"]
smoke --> promote1["Auto promote to staging"]
promote1 --> envstg["Staging Environment"]
envstg --> gate["Prod Approval Gate"]
gate --> promote2["Promote to prod"]
promote2 --> envprod["Production Environment"]
subgraph "Deployment Targets"
k8s["Kubernetes"]
vercel["Vercel"]
railway["Railway"]
droplet["Droplet (SSH/Ansible)"]
end
deploy --> k8s
deploy --> vercel
deploy --> railway
deploy --> droplet