Review: Rename pal-e-app to pal-e-docs-app

review-510-2026-03-27 Review

review needs-refinement

Verdict: NEEDS_REFINEMENT

Template Completeness

  • [x] Type -- Feature
  • [x] Lineage -- Standalone, discovered during worktree lifecycle session
  • [x] Repo -- forgejo_admin/pal-e-app
  • [x] User Story -- As a platform operator...
  • [x] Context -- Naming convention evolution explained
  • [x] File Targets -- Blast radius list provided (but see issues below)
  • [x] Acceptance Criteria -- 7 criteria listed
  • [x] Test Expectations -- 3 expectations
  • [x] Constraints -- Coordination + maintenance window noted
  • [x] Checklist -- Present
  • [x] Related -- project-pal-e-docs + feedback_naming_convention referenced
All template sections present. Template is complete.

Traceability

  • [x] story:superuser-maintain -- board item has this label
  • [x] arch:naming -- board item has this label
  • [x] Forgejo issue -- forgejo_admin/pal-e-app#87, open
  • [x] scope:cross-repo -- correctly flagged on board item
Traceability triangle complete.

File Targets

  • [x] Forgejo repo name -- exists at forgejo_admin/pal-e-app, confirmed via API
  • [x] Harbor image -- confirmed: harbor.tail5b443a.ts.net/pal-e-app/app referenced in k8s/deployment.yaml and pal-e-deployments overlay
  • [ ] ArgoCD app reference in pal-e-services -- ISSUE: no pal-e-app references exist in pal-e-services/terraform/. This file target is WRONG.
  • [x] Kustomize overlay in pal-e-deployments -- confirmed: overlays/pal-e-app/prod/ exists with kustomization.yaml, ingress.yaml, deployment-patch.yaml, harbor-creds.enc.yaml
  • [ ] Tailscale funnel hostname -- NOT VERIFIED: no pal-e-app funnel found in pal-e-services or pal-e-platform terraform. Needs clarification.
  • [x] Woodpecker CI repo reference -- confirmed: .woodpecker.yaml references forgejo_admin/pal-e-app, Harbor repo pal-e-app/app, overlay pal-e-app
  • [x] Local directory -- confirmed: ~/pal-e-app exists
  • [x] MEMORY.md repo locations -- confirmed: 3 references to pal-e-app in MEMORY.md
  • [x] Board items with pal-e-app issue URLs -- confirmed: 15+ board items reference forgejo_admin/pal-e-app issues
Undocumented file targets found:
  • [ ] MISSING: pal-e-platform/terraform/modules/monitoring/main.tf -- Blackbox exporter target (http://pal-e-app.pal-e-app.svc.cluster.local:3000)
  • [ ] MISSING: pal-e-platform/scripts/woodpecker-update-tag-step.yaml -- CI overlay mapping
  • [ ] MISSING: pal-e-platform/scripts/test-update-kustomize-tag.sh -- test Harbor image refs
  • [ ] MISSING: pal-e-app/package.json -- package name
  • [ ] MISSING: pal-e-app/e2e/*.spec.ts -- e2e test URLs
  • [ ] MISSING: pal-e-app/src/lib/keycloak.ts -- client config
  • [ ] MISSING: pal-e-app/playwright.config.ts -- base URL
  • [ ] MISSING: k8s namespace -- currently pal-e-app.pal-e-app.svc.cluster.local implies namespace = pal-e-app

Repo Placement

Issue filed on forgejo_admin/pal-e-app (correct as primary target). Changes span 4+ repos:
  • forgejo_admin/pal-e-app -- repo rename + internal refs
  • forgejo_admin/pal-e-deployments -- kustomize overlay rename
  • forgejo_admin/pal-e-platform -- monitoring TF + CI scripts
  • forgejo_admin/claude-custom -- MEMORY.md
Each repo should get its own Forgejo issue per convention (one ticket = one agent = one PR).

Dependencies

  • Board item #434 ("Delete stale pal-e-app overlay") marked done but overlay still exists locally -- verify if completed or local staleness.
  • Items #440 (SDK rename) and #441 (MCP rename) are done -- serve as precedent for rename pattern.
  • Item #444 (claude-custom + docs for renames) is done but MEMORY.md still shows old refs -- local may be stale.
  • Phase #37 (Repo Renames) is done -- this rename is a remaining piece.
  • 4 items in next_up reference pal-e-app issues (#69-#74) -- URLs break if Forgejo does not auto-redirect.

Acceptance Criteria

7 criteria listed. Most verifiable. Missing criteria:
  • Monitoring TF updated
  • CI scripts updated
  • Keycloak client config verified
  • k8s namespace decision documented

Blast Radius

  • Monitoring: Blackbox exporter URL breaks if service name changes
  • CI scripts: hardcoded pal-e-app overlay references in pal-e-platform
  • k8s namespace: if namespace changes, ALL internal DNS changes
  • Keycloak OIDC: possible client ID + redirect URI changes
  • Tailscale funnel: hostname + TLS cert may change
  • Board items: 15+ items store raw pal-e-app issue URLs

Decomposition

NEEDS DECOMPOSITION: 10+ file targets across 4+ repos. 7 acceptance criteria. Estimated agent time 30+ minutes. Requires maintenance window for coordinated execution.
Recommend decomposition via template-board into 5-7 tickets:
  • Forgejo repo rename (admin action)
  • pal-e-deployments overlay rename (single PR)
  • pal-e-platform monitoring + CI script updates (single PR)
  • pal-e-app internal refs -- package.json, k8s manifests, Woodpecker, e2e configs (single PR, done pre-rename or as part of rename)
  • claude-custom MEMORY.md update (single PR)
  • pal-e-docs board item URL fixup (MCP bulk update)
  • Keycloak client config update (if applicable)

Recommendation

  • [BODY] Remove "ArgoCD app reference in pal-e-services" from File Targets -- no pal-e-app references exist in pal-e-services
  • [BODY] Add missing file targets: pal-e-platform/terraform/modules/monitoring/main.tf, pal-e-platform/scripts/woodpecker-update-tag-step.yaml, pal-e-platform/scripts/test-update-kustomize-tag.sh, plus internal app files (package.json, keycloak.ts, playwright.config.ts, e2e specs)
  • [BODY] Add missing acceptance criteria: monitoring TF updated, CI scripts updated, Keycloak client verified, k8s namespace decision documented
  • [SCOPE] Clarify: does the k8s namespace change from pal-e-app to pal-e-docs-app? Massive blast radius on service DNS.
  • [SCOPE] Clarify: is pal-e-app registered as a Keycloak OIDC client? If so, client ID + redirect URIs need updating.
  • [SCOPE] Clarify: what is the Tailscale funnel hostname? Is it pal-e-app.tail5b443a.ts.net?
  • [DECOMPOSE] 10+ file targets across 4+ repos, 7 AC -- split into 5-7 tickets via template-board. One ticket per repo minimum, plus admin actions.