Review: Rollout: wire update-kustomize-tag into all 9 repos

review-464-2026-03-27 Review

review needs-refinement

Verdict: NEEDS_REFINEMENT

Template Completeness

  • [x] Type — Feature
  • [x] Lineage — discovered scope from #204
  • [x] Repo — forgejo_admin/pal-e-platform (tracking issue)
  • [x] User Story — platform operator, automated deploys
  • [x] Context — explains PR #205 background
  • [x] File Targets — .woodpecker.yaml per repo + secret setup
  • [x] Acceptance Criteria — 4 items
  • [x] Test Expectations — push-and-verify + kubectl check
  • [x] Constraints — dependency on #204, one PR per repo
  • [x] Checklist — 5 items
  • [x] Related — parent issue, board, exclusion rationale
All required sections present. Template is complete.

Traceability

  • [x] story:superuser-deploy label — matches user story (platform operator deploy automation)
  • [x] arch:ci-pipeline label — correct architecture component
  • [x] Forgejo issue — #206, open
  • [x] scope:discovered label — correctly reflects origin from #204 implementation
Traceability triangle is complete.

File Targets

  • [x] scripts/update-kustomize-tag.sh — verified exists in pal-e-platform on main (PR #205 merged)
  • [x] pal-e-app/.woodpecker.yaml — already has update-kustomize-tag step ON MAIN (PR #67 merged)
  • [x] pal-e-docs/.woodpecker.yaml — already has update-kustomize-tag step ON MAIN (PR #221 merged)
  • [x] basketball-api/.woodpecker.yaml — already has update-kustomize-tag step ON MAIN (PR #192 merged)
  • [x] westside-app/.woodpecker.yaml — already has update-kustomize-tag step ON MAIN (PR #124 merged)
  • [ ] westside-contracts/.woodpecker.yaml — ISSUE: repo not registered in Woodpecker. Cannot add step until CI onboarded.
  • [ ] mcd-tracker-api/.woodpecker.yaml — exists but missing step. Also missing forgejo_token secret.
  • [ ] mcd-tracker-app/.woodpecker.yaml — exists but missing step. Also missing forgejo_token secret.
  • [ ] minio-api/.woodpecker.yaml — ISSUE: repo not registered in Woodpecker. Cannot add step until CI onboarded.
  • [ ] pal-e-api — INVALID TARGET: does not exist as a separate repo. pal-e-docs IS the backend API. Issue lists 9 repos but unique count is 8.

Repo Placement

Tracking issue correctly filed on pal-e-platform (script lives there). Child work spans 8 repos (not 9). 4 of 8 already done on main.
Critical finding: 2 of the 4 remaining repos (westside-contracts, minio-api) are not registered in Woodpecker — they need CI onboarding first, which is a separate prerequisite not documented in the issue.

Dependencies

  • #204 / PR #205 — SATISFIED (closed/merged).
  • Board item #411 (#184) — Harbor connectivity timeout — in_progress. Potential blocker for end-to-end verification AC.
  • westside-contracts and minio-api Woodpecker onboarding — UNDOCUMENTED prerequisite.

Acceptance Criteria

  • "All 9 app repos have the step" — STALE: should be 8 repos; 4 already done.
  • "forgejo_token secret exists in all 9 repos" — STALE: 4 have it; 2 not in Woodpecker; 2 need secret created.
  • "pal-e-app broken step replaced" — ALREADY DONE.
  • "One successful end-to-end deploy verified" — TESTABLE and valid.

Blast Radius

Low per-repo blast radius (post-build step; failure does not affect build/push). All consumers share the same script from pal-e-platform main — a breaking change affects all consumers simultaneously.
mcd-tracker repos are archive-adjacent per feedback_archive_mcd_palemail.md. Wiring them adds maintenance for repos that may be deprecated.

Decomposition

Remaining scope = 4 repos max. 2 repos need Woodpecker onboarding first (separate prerequisite). 2 repos are archive-adjacent (needs decision). If all 4 proceed, each gets its own PR per convention. Sub-board recommended if all 4 are in scope. If only 2 non-archive repos, standalone child issues suffice.

Recommendation

  • [BODY] Fix repo count: 9 → 8. Remove pal-e-api from the repo list (it IS pal-e-docs).
  • [BODY] Update acceptance criteria to reflect 4/8 repos already complete. Mark pal-e-app broken step as done.
  • [BODY] Update forgejo_token audit with actual results: pal-e-app, pal-e-docs, basketball-api, westside-app have it. mcd-tracker-api and mcd-tracker-app do not. westside-contracts and minio-api not in Woodpecker.
  • [BODY] Add prerequisite: westside-contracts and minio-api require Woodpecker CI onboarding before step can be added.
  • [SCOPE] Decision needed: include mcd-tracker-api and mcd-tracker-app? Both are archive-adjacent.
  • [SCOPE] Decision needed: should westside-contracts and minio-api Woodpecker onboarding be prerequisite child issues or separate standalone issues?
  • [DECOMPOSE] 2-4 remaining repos depending on decisions. If all 4 included, recommend sub-board via template-board. If only 2 non-archive repos, standalone child issues suffice.