Validation: Generic api_get tool (#23)
Verdict: PASS
What Was Validated
westside-ai-assistant PR #24 — replace 7 read tools with generic api_get tool (issue #23)
Deployment
- Image built manually:
harbor.tail5b443a.ts.net/westside-ai-assistant/api:5211f23 - Pushed to Harbor, pod restarted via
kubectl rollout restart - CI pipeline (Woodpecker) broken — manual deploy required (tracked: pal-e-platform #259)
Checks
| Check | Result |
|---|---|
| Pod healthy | PASS — clean startup, 1/1 ready |
| api_get tool deployed | PASS — Claude correctly chose api_get("/admin/dashboard") |
| Keycloak token acquisition | PASS — 200 OK, 300s TTL (after env var fix) |
| basketball-api data returned | PASS — 200 OK, returned 57 registered / 49 active / 7 teams |
| GroupMe response posted | PASS — 202 Accepted |
| Write tools unchanged | PASS — QA confirmed all 7 write tools + confirmation flow untouched |
Issues Discovered During Validation
- Keycloak issuer mismatch (#26) — FIXED. Nemo's KEYCLOAK_REALM_URL pointed to internal URL, producing tokens basketball-api rejected. Changed to external URL. Closed.
- Woodpecker CI broken (pal-e-platform #259) — systemic, not PR-specific. Backlogged.
- SSRF defensive check (#25) — QA nit, backlogged.
Note
The env var fix (KEYCLOAK_REALM_URL) was applied directly to the deployment via kubectl. This needs to be persisted in the kustomize overlay or ArgoCD will revert it on next sync.