Agents Builders

Center timeline card layout

Shipped
center-timeline-card-layout

Created

Jun 26, 20:18

Started

Jun 26, 21:22

Completed

Jun 26, 23:21

DevOps handoff

Type

Chore

Shape

ui-only

Worktree Slug

center-timeline-card-layout

Repositories

mcritchie-studio

Release Train

Branch

feat/center-timeline-card-layout

QA URL

Production URL

ui,timeline

Acceptance Criteria

  • Stage transition badges are center justified
  • Crew shows avatar over name centered
  • Review pair shows two avatars side by side
  • Two agents split into equal 50% columns
  • In-progress pill removed from timeline cards
  • Live duration ticks minutes seconds hours minutes
  • In-progress card background pulses to show live
  • In-progress card hides arrow and next stage
  • In-progress card shows active stage verb form

Expected Test Plan

  • component

Checks Run

  • [unit] bin/rails test test/models/task_test.rb -n /active_stage_label/ (gerund map covers every stage; humanized fallback)
  • [component] bin/rails test test/views/consolidated_timeline_test.rb test/integration/task_timeline_test.rb test/controllers/tasks_controller_test.rb test/helpers/stage_agents_helper_test.rb (centered badges; avatar-over-name; 50/50 pair; pill->pulse; live M:SS/H:MM ticker; in-progress hides arrow+next; active verb 'Assembling')
  • [full-suite@15d4120f8641380d6d31f65318849111bf2a5d54] bin/rails test green
  • [rubocop@15d4120f8641380d6d31f65318849111bf2a5d54] bin/rubocop clean

Agent Context

Follow-up UI polish to the /tasks/:id consolidated Stage Timeline cards (app/views/tasks/_consolidated_timeline.html.erb), requested live by the operator after PR #247 (badge fix) merged. Three changes: (1) center-justify the from->to stage transition badge row (add justify-center; drop ml-auto on the in-progress/reconstructed chip so it rides the centered group); (2) each crew member becomes an avatar-OVER-name centered column (flex-col items-center text-center); (3) the senior review pair renders as two avatar-over-name columns side by side, centered as a group. Pure presentation, no logic. Component test in test/controllers/tasks_controller_test.rb pins data-test=timeline-transition.justify-center, timeline-crew-member.flex-col, and 2 columns for the reviewed pair. Branch off release (which now contains the merged #247 helper fix + its tests).

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
    B Butterfree
    Butterfree
    Model
    Duration
    Tokens
    Cost
    Completed Jun 26, 20:18 · about 14 hours ago
    api
  2. Designed Building
    B Butterfree
    Butterfree
    Model
    claude-opus-4-8
    Duration
    under a minute
    Tokens
    1,211,012
    Cost
    ~$0.84
    Started Jun 26, 20:18
    Completed Jun 26, 20:19 · about 14 hours ago
    cli
  3. Building Submitted
    B Butterfree
    Butterfree
    Model
    claude-opus-4-8
    Duration
    6 minutes
    Tokens
    6,400,251
    Cost
    ~$3.95
    Started Jun 26, 20:19
    Completed Jun 26, 20:25 · about 13 hours ago
    cli
  4. Submitted Building
    B Butterfree
    Butterfree
    Model
    claude-opus-4-8
    Duration
    12 minutes
    Tokens
    2,665,820
    Cost
    ~$1.86
    Started Jun 26, 20:25
    Completed Jun 26, 20:37 · about 13 hours ago
    cli
  5. Building Submitted
    B Butterfree
    Butterfree
    Model
    claude-opus-4-8
    Duration
    5 minutes
    Tokens
    6,335,448
    Cost
    ~$3.62
    Started Jun 26, 20:37
    Completed Jun 26, 20:41 · about 13 hours ago
    cli
  6. Submitted Reviewed
    S Shannon
    Shannon primary
    C Carl
    Carl light
    Model
    claude-opus-4-8
    Duration
    21 minutes
    Tokens
    Cost
    Started Jun 26, 20:41
    Completed Jun 26, 21:02 · about 13 hours ago
    cli
  7. Reviewed Submitted
    B Butterfree
    Butterfree
    Model
    claude-opus-4-8
    Duration
    2 minutes
    Tokens
    14,234,649
    Cost
    ~$9.80
    Started Jun 26, 21:02
    Completed Jun 26, 21:04 · about 13 hours ago
    cli
  8. Submitted Building
    B Butterfree
    Butterfree
    Model
    claude-opus-4-8
    Duration
    6 minutes
    Tokens
    2,594,130
    Cost
    ~$1.53
    Started Jun 26, 21:04
    Completed Jun 26, 21:11 · about 13 hours ago
    cli
  9. Building Submitted
    B Butterfree
    Butterfree
    Model
    claude-opus-4-8
    Duration
    5 minutes
    Tokens
    7,746,955
    Cost
    ~$4.80
    Started Jun 26, 21:11
    Completed Jun 26, 21:16 · about 13 hours ago
    cli
  10. Submitted Building
    B Butterfree
    Butterfree
    Model
    claude-opus-4-8
    Duration
    7 minutes
    Tokens
    2,403,256
    Cost
    ~$1.38
    Started Jun 26, 21:16
    Completed Jun 26, 21:22 · about 12 hours ago
    cli
  11. Building Submitted
    B Butterfree
    Butterfree
    Model
    claude-opus-4-8
    Duration
    7 minutes
    Tokens
    23,579,590
    Cost
    ~$13.45
    Started Jun 26, 21:22
    Completed Jun 26, 21:29 · about 12 hours ago
    cli
  12. Submitted Reviewed
    S Shannon
    Shannon primary
    C Carl
    Carl light
    Model
    claude-opus-4-8
    Duration
    about 1 hour
    Tokens
    16,420,076
    Cost
    ~$17.31
    Started Jun 26, 21:29
    Completed Jun 26, 22:33 · about 11 hours ago
    cli
  13. Reviewed Assembled
    S Steffon
    Steffon
    Model
    claude-opus-4-8
    Duration
    6 minutes
    Tokens
    1,750,888
    Cost
    ~$1.50
    Started Jun 26, 22:33
    Completed Jun 26, 22:39 · about 11 hours ago
  14. Assembled Shipped
    A Avi
    Avi
    Model
    claude-opus-4-8
    Duration
    43 minutes
    Tokens
    17,188,005
    Cost
    ~$12.97
    Started Jun 26, 22:39
    Completed Jun 26, 23:21 · about 11 hours ago

Conversation

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

Comment alex about 13 hours ago

Senior review → APPROVED (2/2). Reviewers: Shannon (UI) + Carl (test), both high confidence. All 65 tests green (341 assertions). Acceptance: all 4 met — transition row justify-center (ml-auto dropped from both in-progress + reconstructed chips), crew avatar-over-name (flex-col items-center text-center), review pair → grid grid-cols-2 two equal columns, single actor → justify-center flex. Component test pins STATIC ERB classes (not Alpine-managed — Nokogiri gotcha N/A) and exercises both pair (reviewed block) and single (assembled block) branches via deploy-crew seed. No findings.

Handoff about 13 hours ago

Re-submitted after review: 3 more operator-requested tweaks landed on PR #248 AFTER it was moved to reviewed — removed the 'in progress' pill, duration now ticks live as M:SS / H:MM, and the in-progress card backdrop pulses. New commit 9580cf0. Full suite + rubocop green at d9f5fbb5. Please re-review before merge.

Handoff about 12 hours ago

Ready for QA review — operator-approved the look. PR #248 (head d409e0e) bundles the full /tasks/:id timeline-card redesign: (1) centered stage badges, (2) crew avatar-over-name, (3) review pair in 50/50 columns, (4) in-progress pill -> pulsing green backdrop, (5) live duration ticker M:SS / H:MM, (6) in-progress cards show only the current stage in its active-verb form ('Assembling'). New reusable Task::STAGE_ACTIVE_LABELS + Task.active_stage_label. Full suite + rubocop green at 15d4120f; [unit]+[component] tiers recorded. Local preview: http://localhost:3004/tasks/preview-live-qa-card

Comment alex about 11 hours ago

Senior re-review -> APPROVED (2/2). Reviewers: Shannon (UI heavy) + Carl (model/tests light), both high confidence. Re-review after the pulse/ticking-duration commits: all 230 tests green; all 9 acceptance criteria met (incl. pill removed, live ticker, pulsing bg, hides arrow/next, active-stage verb form). Live ticker verified as a correct Alpine x-data factory; Nokogiri-static assertions respected. Non-blocking follow-ups: (1) this PR orphaned the components/elapsed_label_script include at _consolidated_timeline.html.erb:58 -> now injects an unused window.elapsedLabel global; drop line 58 (keep it on _board.html.erb:43); (2) stale header doc lines 19-21 contradict the new code; update in same pass; (3) nits: motion-safe:animate-pulse, and a percent sign inside an ERB comment body. -> reviewed.

Sealed-bid sizing

Edit →

Alex (PM)

Avi (PO)

SMALL

Dev

SMALL

Actual

XL