Review: Restore Ollama Helm release to ops module (embedding pipeline broken)
Verdict: NEEDS_REFINEMENT
The issue body is thorough and well-structured. Five fixable issues prevent READY status: repo placement mismatch, missing architecture note, type label mismatch on board, incomplete file targets (outputs.tf), and board title mismatch with Forgejo issue title.
Template Completeness
- [x] Type — Feature
- [x] Lineage — standalone, references removal commit 7872dac
- [x] Repo — ldraney/pal-e-platform (terraform/modules/ops/main.tf)
- [x] User Story — platform operator, Ollama restored, embedding worker functional
- [x] Context — thorough history of deploy, removal, and current state
- [x] File Targets — 3 modify targets + 3 don't-touch targets
- [x] Feature Flag — none (correct for infra work)
- [x] Acceptance Criteria — 7 items
- [x] Test Expectations — 4 items with run command
- [x] Constraints — 6 items, specific and actionable
- [x] Checklist — present
- [x] Related — references project, commits, related issue
Traceability
- [x] story:superuser-query label — "I can query the knowledge base by meaning (semantic search)"
- [x] story note verified — found in project-pal-e-docs user-stories section, row 1
- [x] arch:infra label — infrastructure component
- [ ] arch note MISSING — [SCOPE] No
arch-infranote exists in pal-e-docs. Create architecture note documenting the infra layer (ops module, NVIDIA plugin, Ollama, embedding worker metrics). - [x] Forgejo issue — ldraney/pal-e-services#114, open
- [ ] Repo mismatch — [SCOPE] Issue filed on
pal-e-servicesbut all work targetspal-e-platform. Should be filed on pal-e-platform or documented why it lives on pal-e-services.
File Targets
- [x]
terraform/modules/ops/main.tf— verified: file exists (213 lines). Ollama namespace + helm_release were surgically removed between nvidia_device_plugin (line 6-26) and embedding_worker_metrics (line 28-53). Git history at 7872dac~1 confirms the exact config to restore (namespace + helm_release, ~70 lines). - [x]
terraform/modules/ops/variables.tf— verified: file exists. No Ollama variables existed before removal (confirmed via git show 7872dac~1). No changes needed here. - [ ]
terraform/modules/ops/outputs.tf— ISSUE: [BODY] File exists but is EMPTY. The pre-removal version hadoutput "ollama_namespace"that should be restored. Issue body says to check "if outputs existed" but doesn't explicitly list this as a target. The output existed and should be mentioned as a definite restore target.
Don't-touch targets verified:
- [x]
terraform/main.tf— confirmed:module "ops"call at line 123, moved{} blocks exist for non-Ollama resources. No Ollama references remain. Correct to leave untouched. - [x] NVIDIA / embedding-worker-metrics resources — confirmed in current main.tf, should not be modified.
Repo Placement
MISMATCH. The Forgejo issue is filed on
ldraney/pal-e-services but the issue body says the work is in ldraney/pal-e-platform (terraform/modules/ops/main.tf). The agent will need to clone pal-e-platform, not pal-e-services. This could cause confusion during agent spawn. Either move the issue to pal-e-platform or add a prominent note explaining the cross-repo placement.Dependencies
- #1434 (Scale embedding worker to 0) — alternative stopgap. Becomes unnecessary if #1432 succeeds. Not a blocker.
- #1433 (pg_stat_statements + Grafana) — independent, no dependency.
- NVIDIA device plugin — already deployed and managed by ops module. Issue correctly notes
depends_onrelationship. Not a blocker. - Embedding worker — downstream consumer. Already deployed but failing due to missing Ollama. Will self-heal once Ollama is reachable. Confirmed:
pal_e_docs/config.pyhardcodesollama.ollama.svc.cluster.local:11434.
Acceptance Criteria
7 AC items, all verifiable:
- [x] AC 1-2: namespace + helm_release restored — verifiable via
tofu planoutput - [x] AC 3: add-only plan — verifiable via
tofu plan - [x] AC 4: tofu apply succeeds — verifiable (requires cluster access)
- [x] AC 5: pods running — verifiable via kubectl
- [x] AC 6: embedding worker connectivity — verifiable via logs
- [x] AC 7: embedding backfill — verifiable but vague. No specific command given. Agent may need guidance on how to trigger backfill (the embedding_worker.py has a
run_backfillfunction invoked via CLI arg).
AC 7 could be clearer: specify
python -m pal_e_docs.embedding_worker --backfill or equivalent command.Blast Radius
- pal-e-docs embedding worker — direct consumer. Config hardcodes the Ollama service URL. Will start working immediately once Ollama is reachable. No code changes needed in pal-e-docs.
- pal-e-docs semantic search — degraded to keyword-only while embeddings are missing. Will gradually improve as backfill processes blocks.
- No other services reference Ollama. The westside-ai-assistant that originally used it was decommissioned. Grep across pal-e-deployments found zero Ollama references.
- GPU contention — Ollama will claim the GPU. If other GPU workloads are added later, contention may occur. Issue acknowledges this in the Decision section.
Decomposition Assessment
No decomposition needed.
- 2-3 file targets in 1 repo — under threshold
- 7 AC but work is essentially a single git-restore operation — under 5 minutes
- Single agent pass is appropriate
Recommendations
[SCOPE]Repo placement: Issue is on pal-e-services but work targets pal-e-platform. Either move the issue to pal-e-platform or add a note explaining cross-repo placement. Agent spawn must clone pal-e-platform.[SCOPE]Create architecture notearch-infradocumenting the ops module components (NVIDIA plugin, Ollama, embedding worker metrics, TF state backup).[BODY]outputs.tf: Add explicit mention thatoutputs.tfneeds theollama_namespaceoutput restored (confirmed it existed at 7872dac~1). Currently the issue says "if outputs existed" — they did.[BODY]AC 7 (backfill): Specify the exact backfill command. The embedding worker supports--backfillmode perembedding_worker.py.[LABEL]Board item type mismatch: Board label istype:bugbut issue### Typeis Feature. Update board label totype:feature.[LABEL]Board title mismatch: Board says "Redeploy Ollama" but Forgejo title is "Restore Ollama Helm release to ops module". Align titles.