Review: Infra — deploy qwen3.5:4b to cluster Ollama + Nemo env vars

review-748-2026-04-03 Doc

review ready

Verdict: APPROVED

Template Completeness

  • [x] Type — Feature
  • [x] Lineage — Supersedes #16, references Nemo outage
  • [x] Repo — pal-e-deployments + pal-e-platform
  • [x] User Story
  • [x] Context
  • [x] File Targets (modify + check + manual steps)
  • [x] Acceptance Criteria (5 items)
  • [x] Test Expectations
  • [x] Constraints
  • [x] Checklist
  • [x] Related

Traceability

  • [x] story:read-ops label — verified in project-westside-ai-assistant user-stories section (read-ops = "Marcus can query player/team/payment data via GroupMe")
  • [x] arch:A4 label — present on board item
  • [ ] arch note MISSING — [SCOPE] No arch-A4 note found in pal-e-docs. Create architecture note arch-A4 for infra/deployment component.
  • [x] Forgejo issue — forgejo_admin/westside-ai-assistant#30, open

File Targets

  • [x] pal-e-deployments/overlays/westside-ai-assistant/prod/deployment-patch.yaml — verified: file exists, contains ANTHROPIC_MODEL env var (line 16) and ANTHROPIC_API_KEY secret ref (lines 21-25). Ticket accurately describes what needs changing (remove ANTHROPIC_MODEL, add OLLAMA_BASE_URL + OLLAMA_MODEL).
  • [x] pal-e-platform/terraform/network-policies.tf — verified: ollama NetworkPolicy exists (line 181). The westside-ai-assistant ingress rule was already added in commit 0cc398a (#246) but appears removed in working tree. On main branch the rule exists. Ticket's "verify or add" framing is correct.
  • [x] Manual step (kubectl exec ollama pull) — appropriate for a model download, not a file change.

Repo Placement

OK. Issue filed on westside-ai-assistant which is the project context. Actual file changes span pal-e-deployments and potentially pal-e-platform — both are correctly identified. Two PRs expected (one per repo), checklist reflects this.

Dependencies

  • [x] Companion ticket #29 (SDK swap) depends on this ticket completing first — correctly documented.
  • [x] Supersedes #16 (feature flag approach) — correctly documented.
  • [x] No blocking dependencies from the board — this can start immediately.

Acceptance Criteria

5 AC items, all verifiable via kubectl commands. Each criterion maps to a concrete check. The test expectations section provides exact curl command for validation. Solid.

Blast Radius

Low. Deployment patch changes are scoped to westside-ai-assistant namespace only. NetworkPolicy change (if needed) adds an ingress rule to ollama — additive, no risk to existing consumers. The model download is namespace-isolated.

Decomposition

2 file targets across 2 repos + 1 manual step. 5 AC. However, the actual code changes are minimal (env var swap in a YAML patch + verify a NetworkPolicy rule). Estimated <5 minutes. No decomposition needed.

Recommendation

No action needed. Ticket is well-scoped, all file targets verified, traceability complete except arch note (deferred scope item).
  • [SCOPE] Create architecture note arch-A4 for infra/deployment component.