Motivation
The current self-hosted review-engine deployment is under sustained resource pressure: CPU contention affects embedding latency (Ollama competing with the rest of the pipeline for cores) and, more broadly, overall throughput during bursts of review activity. A new dedicated host — GPU-equipped, more RAM, dedicated (non-virtualized) CPU cores instead of a shared vCPU pool — has been provisioned to replace it.
This is a full-stack migration, not just relocating the AI/embedding workload: the CPU and RAM pressure affects every subsystem (queue throughput, Postgres, the headless-browser visual-capture pipeline), not only Ollama, so consolidating onto dedicated hardware benefits all of them.
Hard constraints for every sub-issue below:
- The current host stays live and authoritative for real traffic until the new host is independently validated. No sub-issue may depend on an early/partial cutover.
- No secret, credential, or private per-repo config material is ever pasted into an issue, PR, or commit — every secret/config transfer happens through an out-of-band secure channel, never through git history.
- GPU-accelerated Ollama inference for the RAG embedding path (
src/review/rag.ts) is the concrete, measurable win driving the GPU requirement; anything beyond that (a heavier local model) is an explicit stretch goal below, not a blocking requirement.
Sub-issues
Expected outcome
The self-hosted review engine runs on the new dedicated host with GPU-accelerated RAG embeddings, zero unplanned downtime during cutover, a documented rollback path at every step, and the old host decommissioned only after an explicit sign-off — not on a timer.
Effort
Epic — 9 required sub-issues (independently shippable/executable) + 1 stretch follow-up.
Motivation
The current self-hosted review-engine deployment is under sustained resource pressure: CPU contention affects embedding latency (Ollama competing with the rest of the pipeline for cores) and, more broadly, overall throughput during bursts of review activity. A new dedicated host — GPU-equipped, more RAM, dedicated (non-virtualized) CPU cores instead of a shared vCPU pool — has been provisioned to replace it.
This is a full-stack migration, not just relocating the AI/embedding workload: the CPU and RAM pressure affects every subsystem (queue throughput, Postgres, the headless-browser visual-capture pipeline), not only Ollama, so consolidating onto dedicated hardware benefits all of them.
Hard constraints for every sub-issue below:
src/review/rag.ts) is the concrete, measurable win driving the GPU requirement; anything beyond that (a heavier local model) is an explicit stretch goal below, not a blocking requirement.Sub-issues
Expected outcome
The self-hosted review engine runs on the new dedicated host with GPU-accelerated RAG embeddings, zero unplanned downtime during cutover, a documented rollback path at every step, and the old host decommissioned only after an explicit sign-off — not on a timer.
Effort
Epic — 9 required sub-issues (independently shippable/executable) + 1 stretch follow-up.