Created
Jun 23, 18:29
Started
Jun 23, 20:36
Completed
Jun 23, 21:51
DevOps handoff
Type
Feature
Shape
ui-only
Worktree Slug
mascot-as-build-agent
Repositories
mcritchie-studio
Release Train
—
Branch
feat/mascot-as-build-agent
Acceptance Criteria
Expected Test Plan
Checks Run
Agent Context
Operator: 'Persian should be the agent doing the build, currently C'. The card chip shows the mascot but the Deploy-crew widget (_stage_agent_avatars, fed by StageAgentsHelper#stage_agent_groups) still shows the build-lane ACTOR (claude session -> 'C' initial). Make build-lane stage entries (Task::BUILD_STAGES = designed/building/submitted) carry the task's mascot as their agent: a new MascotAgent struct (name: mascot.name, avatar: mascot.sprite_url) that quacks like an Agent. Thread an optional mascot: into stage_agent_groups; the board passes it from the preloaded pokemon_by_slug map (no N+1), the detail page resolves it. Deploy-lane (reviewed/assembled/shipped) keeps the real reviewers/Steffon/Avi. No mascot -> current actor fallback. ui-only.
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.
Conversation
QA review feedback, agent handoffs, and follow-up notes for this task.
2-senior review: shannon (HEAVY) REQUEST_CHANGES; carl (LIGHT) approve. Fix before resubmit: (1) MAJOR app/views/components/_stage_agent_avatars.html.erb:74 — crew row is 'flex items-center gap-2' with NO flex-wrap and avatars flex-shrink-0; removing the 5-face cap (now entries.first(8), whole crew) makes a full 7-face shipped card ~208px exceed the ~196px content box of a min-w-[220px] column at p-3 on mobile/narrow kanban → horizontal spill past the card border (no overflow-hidden). Fix: add flex-wrap to line 74 (lanes wrap to a 2nd row) or reinstate cap-with-+N. (2) MINOR :62-67 — stale comment block contradicts code (describes the removed 5-face cap/+N bubble); delete it (correct new comment is at 68-70). (3) NIT helpers/stage_agents_helper.rb:44 — MascotAgent = Struct.new(:name,:avatar) is positional but built with kwargs; add keyword_init: true (consistency with StageAgent). (4) NIT :21 — detail header 'Deploy crew' now labels build-lane mascot faces; optional rename to 'Stage crew'. Rebase onto origin/release before resubmitting.
Rework RE-REVIEW: carl (HEAVY) REQUEST_CHANGES; jasper (LIGHT) approve. The 4 prior findings are all RESOLVED, BUT full bin/rails test is RED (CI: 1278 runs, 1 failure) — a regression THIS PR introduced: collapsing the deploy lane into one combined duration broke TasksControllerTest#test_deployments_board_card_shows_the_deploy_crew_with_avatars_and_compact_durations (tasks_controller_test.rb:423) which still asserts the OLD per-stage pills /30m/ and /10m/; the lane now renders one combined 40m (1800+600s). The PR body's '20 runs green' only ran the two avatar files, not the full suite. FIX: update tasks_controller_test.rb:411-426 to assert the collapsed deploy duration (e.g. /40m/) instead of /30m/+/10m/; de-couple the brittle :434 assertion (it asserts 'Deploy crew' but passes only via the task TITLE — the header is now 'Stage crew'). RUN THE FULL bin/rails test before resubmitting, not just the avatar files.
Rework round-3 RE-CONFIRM PASS: carl (HEAVY) approve — independently ran FULL suite 1278/0; verified four-compartment deploy rendering (assembled 30m + shipped 10m as separate pills) matches main's per-stage design (combined-40m would have been the regression); controller test now anchors to data-test crew-duration markers; line-434 de-coupled from task title (asserts real 'Stage crew' header). jasper (LIGHT) approve. flex-wrap overflow major resolved earlier. DEFERRED non-blocking doc nit: partial header comment (_stage_agent_avatars.html.erb:14-17,67) still describes the abandoned 3-lane flex-wrap design vs the actual grid-cols-4 — reconcile in a future touch.
Sealed-bid sizing
Edit →Alex (PM)
—
Avi (PO)
—
Dev
—
Actual
—
We emailed a one-tap sign-in link to . It expires shortly and can only be used once.
No email? Check spam, or close this and try again.