Review: Add Tailscale funnel ingress + rename westside-ror overlay to westside-basketball (r2)

review-1631-2026-06-27-r2 Review

review needs-refinement

Verdict: NEEDS_REFINEMENT

Re-review after refinement. The previous [BODY] recommendation (add README.md coverage) has been addressed. However, file target verification reveals factual inaccuracies in the issue body that would mislead an implementing agent.

Template Completeness

  • [x] Type — Bug
  • [x] Lineage — Sub-ticket of #220, discovered during sprint 5 validation
  • [x] Repo — ldraney/pal-e-deployments
  • [x] What Broke — describes stale references and missing funnel ingress
  • [x] Repro Steps — 3 concrete steps with grep command
  • [x] Expected Behavior — 6 bullet points covering rename + funnel + dev + westsidekingsandqueens + README
  • [x] Environment — prod, westside-basketball namespace, lists related files
  • [x] Acceptance Criteria — 9 checkboxes
  • [x] Related — parent issue, predecessor, review notes, project page

Traceability

  • [x] story:WS-S1 label — "As superadmin, I want to deploy platform changes via IaC so that infrastructure is reproducible and auditable"
  • [x] story note verified — found in project-westside-basketball user-stories section (Superadmin list, first entry)
  • [x] arch:iac label — infrastructure-as-code component
  • [ ] arch note MISSING — [SCOPE] Create architecture note arch-iac for the IaC component (carried forward from r1, cross-cutting concern, deferrable)
  • [x] Forgejo issue — ldraney/pal-e-deployments#221, open

File Targets

  • [x] overlays/westside-ror/ directory — verified: exists with prod/, dev/, README.md subdirectories. Directory itself needs renaming to westside-basketball/.
  • [x] overlays/westside-ror/prod/kustomization.yaml — verified: ALREADY references westside-basketball, NOT westside-ror. Zero stale references. Issue body incorrectly claims "10+ stale references in kustomization.yaml (6 env var patches)."
  • [x] overlays/westside-ror/prod/deployment-patch.yaml — verified: ALREADY correct. Zero stale westside-ror references. No hostPath line. Issue body incorrectly claims stale "resource names, labels, selectors, hostPath."
  • [ ] overlays/westside-ror/dev/deployment.yaml — ISSUE: 5 stale references (name, namespace, selector, label, hostPath /home/ldraney/westside-ror). Correctly identified in issue.
  • [ ] overlays/westside-ror/dev/service.yaml — ISSUE: 4 stale references (name, namespace, label, selector). Correctly identified in issue.
  • [ ] overlays/westside-ror/dev/ingress.yaml — ISSUE: 4 stale references (name, namespace, backend service, TLS host). Correctly identified in issue.
  • [x] overlays/westside-ror/dev/kustomization.yaml — verified: 0 stale references (just resource list). No action needed.
  • [ ] overlays/westside-ror/README.md — ISSUE: 6 stale references (title, URL, namespace, source path, volume mount, apply command). Correctly identified in issue (new in this revision).
  • [ ] overlays/westsidekingsandqueens/prod/kustomization.yaml — ISSUE: No stale westside-ror comment exists. The issue claims "line 6 referencing 'westside-ror namespace'" but line 6 is - ingress.yaml. No line in this file contains "westside-ror". AC6 and the Expected Behavior bullet referencing this file are incorrect.
Actual stale reference count: 19 across 4 files (dev/deployment.yaml: 5, dev/service.yaml: 4, dev/ingress.yaml: 4, README.md: 6). The prod overlay already uses westside-basketball. The westsidekingsandqueens overlay has no westside-ror references.

Repo Placement

OK. Issue filed on pal-e-deployments, all affected files are in pal-e-deployments. Single-repo change.

Dependencies

  • Parent issue #220 (board item 1630) — decomposed, in backlog. This is sub-ticket 1 of 4.
  • Sibling sub-tickets in backlog: #1632 (NetworkPolicy update, 1pt), #1633 (drop stale DB role, 2pt), #1634 (CI fix, 1pt)
  • Predecessor #219 (namespace hotfix) — already merged
  • No blocking dependencies — this ticket can proceed independently of siblings

Acceptance Criteria

9 ACs listed. Assessment:
  • AC1 (rename directory): valid, verifiable via ls overlays/westside-basketball
  • AC2 (resource names/labels/selectors): misleading — prod already correct, only dev needs updating. Should specify "dev overlay" scope.
  • AC3 (deployment-patch hostPath): incorrect — prod deployment-patch.yaml has no westside-ror hostPath. The stale hostPath is in dev/deployment.yaml.
  • AC4 (env var patches in kustomization.yaml): incorrect — prod kustomization.yaml already references westside-basketball. Zero stale env var patches.
  • AC5 (Tailscale funnel ingress in prod): valid — prod has no ingress resource currently, dev has one that can serve as a template.
  • AC6 (westsidekingsandqueens comment): incorrect — no such comment exists in the file.
  • AC7 (README.md update): valid, verifiable via grep.
  • AC8 (ArgoCD sync): valid post-merge criterion.
  • AC9 (no stale references): valid, verifiable via grep -r westside-ror overlays/westside-basketball/
ACs 2, 3, 4, and 6 contain factual errors that would confuse an implementing agent. The agent would waste time looking for stale references that don't exist in prod, and might incorrectly modify the westsidekingsandqueens overlay.

Blast Radius

  • Renaming the directory (git mv overlays/westside-ror overlays/westside-basketball) will require updating any ArgoCD Application manifest that references the old path. Verify ArgoCD config is not in scope (it may be in pal-e-services).
  • No other overlays reference westside-ror — blast radius is contained.
  • The dev overlay ingress has the Tailscale funnel pattern — can serve as template for the prod ingress resource (AC5).

Decomposition Assessment

Corrected scope: ~4 file edits (dev/deployment.yaml, dev/service.yaml, dev/ingress.yaml, README.md) + 1 directory rename + 1 new file (prod ingress). Estimated agent work: ~3 minutes. No decomposition needed.

Recommendation

  • [BODY] Remove or correct "What Broke" claim about "10+ stale references in kustomization.yaml (6 env var patches) and deployment-patch.yaml" — these prod files are already correct. The stale references are only in the dev overlay and README.md.
  • [BODY] Remove or correct the claim about westsidekingsandqueens overlay having a stale "westside-ror namespace" comment — no such comment exists in the file.
  • [BODY] Correct AC2 to specify "dev overlay" scope: resource names/labels/selectors in dev/deployment.yaml, dev/service.yaml, dev/ingress.yaml.
  • [BODY] Correct AC3: the stale hostPath is in dev/deployment.yaml line 47, not in deployment-patch.yaml.
  • [BODY] Remove AC4 (env var patches already correct) or rephrase to target dev overlay.
  • [BODY] Remove AC6 (westsidekingsandqueens comment does not exist).
  • [BODY] Correct Repro Step 1 grep target scope to overlays/westside-ror/dev/ and overlays/westside-ror/README.md (prod returns zero hits).
  • [SCOPE] Create architecture note arch-iac for the IaC component (carried forward, deferrable).