Agents Builders

Release Progress Tracker

Archived
release-progress-tracker

Created

Jun 26, 08:01

Started

Jun 26, 13:39

Completed

Jun 26, 16:50

DevOps handoff

Type

Feature

Shape

ui-only

Worktree Slug

release-progress-tracker

Repositories

mcritchie-studio

Release Train

Branch

feat/release-progress-tracker

QA URL

Production URL

release-flow ui-regression

Acceptance Criteria

  • Next Release shows five deployment tracker stages
  • Tracker advances from live release train updates
  • Assembled releases visibly stop before confirmation
  • Existing kickoff chip remains available

Expected Test Plan

  • [unit] progress helper maps release states
  • [component] release summary renders tracker stages

Checks Run

  • [unit] bin/agent-worktree test mcritchie-studio release-progress-tracker -- test/helpers/application_helper_test.rb
  • [component] bin/agent-worktree test mcritchie-studio release-progress-tracker -- test/helpers/application_helper_test.rb
  • [component] bin/agent-worktree test mcritchie-studio release-progress-tracker -- test/controllers/tasks_controller_test.rb test/services/deployments_broadcaster_test.rb
  • [component] Playwright dark/mobile visual check at 920px and 390px confirms tracker stage states and label fit
  • [component] Playwright light-mode rework pass confirms active label class and aria-current token
  • [full-suite@bbe7edcaa484ab87d4956b9a335ccb30b8bc2236] bin/rails test green
  • [rubocop@bbe7edcaa484ab87d4956b9a335ccb30b8bc2236] bin/rubocop clean

Agent Context

Revamp the /deployments Next Release card with a pizza-tracker style progress bar at the bottom. Stage labels requested by Mr. McRitchie: Merging, Testing, Assembling, Confirming, Deploying. Use docs/agents/system/devops-cycle-design.md section 1.4 and the Build and Deploy QA Release workflow as the source for how release train updates map to progress. Prefer deriving progress from the existing Release record and release broadcasts rather than adding persistence unless implementation proves otherwise.

Stage Timeline

Who handled each stage, the time it took (measured), and the model / tokens / cost reported (best-effort) — plus who's on it right now. means the agent didn't report that metric.

Sizing Avi · PO SMALL Dev SMALL Actual XL ≠ forecast
  1. Created Designed
    M Magikarp
    Magikarp
    Model
    Duration
    Tokens
    Cost
    Completed Jun 26, 08:01 · 1 day ago
    api
  2. Designed Building
    M Magikarp
    Magikarp
    Model
    Duration
    under a minute
    Tokens
    Cost
    Started Jun 26, 08:01
    Completed Jun 26, 08:01 · 1 day ago
    cli
  3. Building Submitted
    M Magikarp
    Magikarp
    Model
    Duration
    17 minutes
    Tokens
    Cost
    Started Jun 26, 08:01
    Completed Jun 26, 08:19 · 1 day ago
    cli
  4. Submitted Blocked
    Model
    Duration
    28 minutes
    Tokens
    Cost
    Started Jun 26, 08:19
    Completed Jun 26, 08:47 · 1 day ago
    api
  5. Blocked Building
    M Magikarp
    Magikarp
    Model
    Duration
    about 5 hours
    Tokens
    Cost
    Started Jun 26, 08:47
    Completed Jun 26, 13:39 · about 20 hours ago
    cli
  6. Building Submitted
    M Magikarp
    Magikarp
    Model
    Duration
    6 minutes
    Tokens
    Cost
    Started Jun 26, 13:39
    Completed Jun 26, 13:45 · about 20 hours ago
    cli
  7. Submitted Reviewed
    S Shannon
    Shannon primary
    C Carl
    Carl light
    Model
    claude-opus-4-8
    Duration
    36 minutes
    Tokens
    19,339,535
    Cost
    ~$19.27
    Started Jun 26, 13:45
    Completed Jun 26, 14:21 · about 19 hours ago
    cli
  8. Reviewed Assembled
    S Steffon
    Steffon
    Model
    claude-opus-4-8
    Duration
    1 minute
    Tokens
    1,600,305
    Cost
    ~$1.45
    Started Jun 26, 14:21
    Completed Jun 26, 14:23 · about 19 hours ago
  9. Assembled Shipped
    A Avi
    Avi
    Model
    claude-opus-4-8
    Duration
    about 2 hours
    Tokens
    7,764,777
    Cost
    ~$9.52
    Started Jun 26, 14:23
    Completed Jun 26, 16:50 · about 17 hours ago
  10. Shipped Archived
    Model
    Duration
    about 2 hours
    Tokens
    Cost
    Started Jun 26, 16:50
    Completed Jun 26, 18:43 · about 15 hours ago

Conversation

QA review feedback, agent handoffs, and follow-up notes for this task.

QA Feedback 1 day ago

Heavy (Shannon, deep UI pass): BLOCK on 2 UI-quality defects + 1 correctness edge (architecture is sound — additive, gated to variant==:current, nil-safe, broadcast-live, no /deployments board regression). (1) LIGHT-MODE PARITY: the active stage label uses fixed text-amber-200 on bg-surface (release_tracker_label_classes) → ~1.3:1 contrast, so the MOST important (active) label is effectively invisible in light mode; complete/pending labels correctly use semantic text-heading/text-muted and the dots theme fine — only the active label breaks the light/dark token contract. FIX: theme-aware amber e.g. text-amber-700 dark:text-amber-200, and add a light-mode pass (recorded checks were 920px/390px only). (2) A11Y: in app/views/tasks/_release_summary.html.erb, <%= 'aria-current="step"' if step active %> is HTML-escaped by ERB → renders aria-current=&quot;step&quot; (literal-quoted) instead of the token. FIX: non-escaping idiom (tag helper, or aria: { current: (:step if active) }). (3) MINOR correctness: release_tracker_done_count uses state=='assembled' || assembled_at.present?; assembled_at is sticky (never cleared by reopen!), so a release reopened by a late merge over-advances to done_count 3 while actually back in assembling. The || branch adds no case state=='assembled' doesn't already cover — drop it. (4) PO-confirm (non-blocking): stages 4-5 (Deploying active / all-complete) are unreachable on the live Next Release card — ship! sets confirmed_at + state=shipped atomically (3→5) and a shipped release moves to Last Release where the tracker isn't rendered, so the live card tops out at 'Confirming' active; confirm intended. Light (Carl): APPROVE — backend/helper correctness sound, fully nil-safe, both tiers green. PR is still a draft; CI green at head. Re-stamp checks after rework.

Handoff about 20 hours ago

Addressed QA blocker: light-mode active tracker contrast now uses text-amber-700 dark:text-amber-200; aria-current renders as literal step; reopened releases no longer over-advance from sticky assembled_at. Re-ran focused helper/component tests, deployment card tests, Playwright light-mode pass, full-suite-check, and dor-check. PR #238 pushed at 5fdfad2 and marked ready for review.

Sealed-bid sizing

Edit →

Alex (PM)

Avi (PO)

SMALL

Dev

SMALL

Actual

XL