Review: Fix CI: update-kustomize-tag runs on build failure due to status filter
Verdict: NEEDS_REFINEMENT
Template Completeness
- [x] Type -- Bug
- [x] Lineage -- Sub-ticket of pal-e-deployments #220, discovered during sprint 5 validation
- [x] Repo -- ldraney/westside-basketball
- [x] What Broke -- clear description of status filter overriding depends_on semantics
- [x] Repro Steps -- 3 steps, reproducible
- [x] Expected Behavior -- clear
- [x] Environment -- Woodpecker CI, file paths identified
- [x] Acceptance Criteria -- 4 criteria, testable
- [x] Related -- parent issue, predecessor, review note, 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, WS-S1)
- [ ] arch note MISSING -- [SCOPE] No architecture note found for
arch-iac. Search for "arch-iac" returned zero results. Create architecture notearch-iacfor the IaC component. - [x] Forgejo issue -- ldraney/westside-basketball#77, state: open
File Targets
- [x]
.woodpecker.yaml-- verified: file exists at repo root (not.woodpecker/ci.yamlas issue hedges). Issue mentions both possible names; the actual file is.woodpecker.yaml. - [x] Line ~121
status: [success, failure]-- verified: exact match at line 121 - [x] Lines 116-117
depends_on: [build-and-push]-- verified: lines 116-117 containdepends_on:and- build-and-push - [x] Line ~110
OVERLAY: "westside-ror"-- verified: exact match at line 110 - [ ] OVERLAY target value -- ISSUE: Issue says change OVERLAY to
westside-basketball, but no overlay directorywestside-basketballexists in pal-e-deployments. The existing overlays arewestside-ror(Rails app) andwestsidekingsandqueens(frontend). The valuewestside-rorcorrectly maps tooverlays/westside-ror/prod/kustomization.yamlwhich exists. The pal-e-platform template mapping comment confirmswestside-app -> OVERLAY=westsidekingsandqueensand does not list awestside-basketballoverlay.
Repo Placement
Correct. The fix is in
.woodpecker.yaml which lives in ldraney/westside-basketball and the Forgejo issue is filed there. However, the template source at pal-e-platform/scripts/woodpecker-update-tag-step.yaml also has the same status: [success, failure] pattern and should be fixed separately to prevent future onboarding of the bug.Dependencies
- No blocking items in
in_progress. The three in-progress items (Phase 14, Phase 11, Phase 15) are unrelated plan-level phases. - Parent issue:
pal-e-deployments #220-- this is a decomposition child. - Predecessor:
westside-basketball #69(CI test failures) -- already merged. - No board items block or are blocked by this ticket.
Acceptance Criteria
- AC1: "status changed to [success] or removed" -- agent-verifiable, one-line sed change
- AC2: "OVERLAY updated from westside-ror to westside-basketball" -- INVALID. No
westside-basketballoverlay exists. This AC must be corrected or removed. If the intent is to rename the overlay directory, that is a separate pal-e-deployments change not scoped here. - AC3: "CI pipeline tested: does NOT run on failure" -- verifiable in Woodpecker but requires triggering a real build failure. May need manual verification or a targeted test commit.
- AC4: "CI pipeline tested: DOES run on success" -- verifiable, normal push to main.
Blast Radius
HIGH. The same
status: [success, failure] pattern exists in:paldocs/.woodpecker.yaml:121-- identical bugpal-e-platform/scripts/woodpecker-update-tag-step.yaml:45-- the canonical template that all new repos copy from- Multiple worktree copies of the template (stale, not actionable)
Fixing only westside-basketball leaves the bug alive in paldocs and baked into the template for future repos. The template fix should be a separate ticket on pal-e-platform.
Decomposition Assessment
No decomposition needed. 1 file target, 1 repo, the valid fix is a one-line change (remove or change the status filter). Estimated agent work: under 2 minutes. Well within the 5-minute rule.
Recommendation
[BODY]Remove AC2 entirely ("OVERLAY updated from westside-ror to westside-basketball"). The overlaywestside-roris the correct value -- nowestside-basketballoverlay exists in pal-e-deployments. Alternatively, if a rename is intended, it must be a separate ticket scoped to pal-e-deployments.[BODY]Remove the sentence in "What Broke" that says "the OVERLAY env var still references westside-ror and needs to change to westside-basketball" -- this is factually incorrect per current infrastructure.[BODY]Clarify the file path: the file is.woodpecker.yaml(not.woodpecker/ci.yaml). Remove the hedging "(or .woodpecker.yaml)" and state the definitive path.[SCOPE]Create architecture notearch-iacfor the IaC component. Thearch:iaclabel is used but no backing note exists in pal-e-docs.