Created
Jun 25, 21:51
Started
Jun 25, 21:51
Completed
Jun 25, 22:58
DevOps handoff
Type
Feature
Shape
ui+db
Worktree Slug
release-mascot-and-timer
Repositories
mcritchie-studio
Release Train
—
Branch
feat/release-mascot-and-timer
Acceptance Criteria
Expected Test Plan
Checks Run
Agent Context
Mirror the per-task/per-session Pokemon mascot onto Release records on the /deployments board (Next Release + Last Release cards). Owner decisions: (1) mascot = the CONDUCTOR's SESSION mascot (the agent that ran bin/release), not a dedicated draw; (2) timing = Next/active release shows elapsed since it began (created_at), Last/shipped release shows total time it took (created_at -> shipped_at) alongside the existing 'Shipped X ago'. Implementation map: SessionMascot.for(session_id) is the centralized race-safe lookup/draw. Release.current_or_open! -> Release.open! is the create seam reached via Release::Conductor.adopt!. bin/release runs conductor snippets on PROD via 'heroku run rails runner' (Base64 payload in conductor_payload/batch_adopt_ruby) so local CLAUDE_CODE_SESSION_ID does NOT cross the boundary — bin/release must READ it locally and PASS it into the payload, then adopt!(task, session_id:) -> open!(session_id:) -> a before_create sync_session_mascot stamps metadata.devops.mascot + mascot_session from SessionMascot.for(sid), with handoff-swap (reassign if blank or session differs), mirroring Task#sync_session_mascot (task.rb ~755-780). Add Release devops/devops_field accessor; mascot/mascot_session are the only persisted scalars (color/emoji derived on render). Render in app/views/tasks/_release_summary.html.erb (shared by _current_release + _last_release) using the Pokemon sprite_url + name like task cards (MascotAgent pattern in stage_agents_helper.rb, or a small inline avatar). Timing helpers near application_helper.rb release_state_label (lines ~77-85). Test gotchas: Nokogiri can't read Alpine @click — assert rendered HTML/data-test attrs; partials use strict locals (rel:/release:); worktree test DB env. Graceful fallback: no mascot -> render card as today.
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.
No task feedback has been recorded yet.
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.