Review: Woodpecker pipeline missing timestamps for DORA metrics (r2)

review-1296-2026-07-26-r2 Review

review approved

Verdict: APPROVED

Board item #1296 — Forgejo issue ldraney/landscaping-assistant#57. Type: Feature. Points: 2. Re-review after body updates.
Previous review: review-1296-2026-07-26 (NEEDS_REFINEMENT). All [BODY] recommendations have been addressed.

Template Completeness

  • [x] Type — Feature
  • [x] Lineage — Standalone, related to #43 (observability parent)
  • [x] Repo — ldraney/landscaping-assistant
  • [x] User Story — present (developer wants timestamps for DORA metrics)
  • [x] Context — present (null timestamps in Woodpecker API response)
  • [x] File Targets — present, verified (see below)
  • [x] Feature Flag — present ("None — infrastructure/CI change, no user-visible behavior")
  • [x] Acceptance Criteria — 3 items, all testable
  • [x] Test Expectations — 2 items
  • [x] Constraints — present
  • [x] Checklist — present
  • [x] Related — present (includes docs/dora/pipeline-timing.md reference)

Traceability

  • [x] story:observability label — no formal user-stories entry, acceptable for infrastructure/DevOps work
  • [x] story:dora label — no formal user-stories entry, acceptable for infrastructure/DevOps work
  • [x] arch:ci-pipeline label — arch-ci-pipeline note exists in pal-e-docs (covers shared Woodpecker pipeline pattern)
  • [x] Forgejo issue — ldraney/landscaping-assistant#57, state: open

File Targets

  • [x] .woodpecker.yaml — verified: file exists (89 lines), defines clone/bundle-install/lint/test/build-and-push steps. Correct extension (previous review caught .yml typo, now fixed).
  • [x] forgejo_admin/pal-e-platform (cross-repo) — verified: issue now explicitly names the repo and notes it is Terraform-managed. arch-ci-pipeline note confirms Woodpecker server config lives in pal-e-platform.
  • [x] docs/dora/pipeline-timing.md — verified: 213-line DORA metrics doc exists with pipeline timing, mermaid diagrams, and DORA ratings. Correctly referenced in Related section.

Repo Placement

OK. Issue filed on landscaping-assistant, which is the repo whose DORA metrics are being measured. Issue now explicitly acknowledges cross-repo scope: "Woodpecker server config lives in forgejo_admin/pal-e-platform (Terraform-managed) — may require cross-repo investigation." This is clear and accurate.

Dependencies

No blocking dependencies. #1294 (Verify DORA metrics flowing in Grafana) is done. Parent #43 (observability chain) is open but non-blocking. No items in in_progress or next_up are related to DORA/observability/pipeline timestamps.

Acceptance Criteria

3 AC items, all testable via Woodpecker MCP tools (list_pipelines, get_pipeline_status). AC #3 was tightened from previous review — now reads "DORA deployment frequency calculable from push-to-main pipeline history (query list_pipelines, confirm non-null timestamps)." Binary pass/fail verifiable. Test expectations correctly reference the same MCP tools.

Blast Radius

If the fix involves a Woodpecker server upgrade or config change in pal-e-platform, it affects ALL repos using Woodpecker CI (basketball-api, pal-e-docs, westside-contracts, etc. per arch-ci-pipeline). The issue's Constraints section acknowledges this ("May require Woodpecker server upgrade or config change"). Validation should include spot-checking timestamps on at least one other repo's pipelines.

Decomposition Assessment

2 file targets (1 local, 1 cross-repo reference), 3 acceptance criteria, 2 story points. Fits in a single agent pass. No decomposition needed.

Recommendation

No action needed.