Agents Builders

Eager session mascot

Archived
eager-session-mascot

Created

Jun 24, 19:37

Started

Jun 24, 19:37

Completed

Jun 24, 22:57

DevOps handoff

Type

Feature

Shape

backend

Worktree Slug

eager-session-mascot

Repositories

mcritchie-studio

Release Train

Branch

feat/eager-session-mascot

Local URL

QA URL

Production URL

tooling statusline db-migration

Acceptance Criteria

  • Session mascot drawn + stored before any task
  • SessionStart hook shows mascot within seconds
  • Task adopts the session's pre-assigned mascot
  • Mascot stays unique and stable per session

Expected Test Plan

  • [unit] SessionMascot.for draws+stores; Task adopts it
  • [integration] POST sessions/:id/mascot + bin/task session-mascot writes marker

Checks Run

  • [unit] SessionMascot.for draws/stores/idempotent/reuses-peer; task adopts it
  • [integration] POST sessions/:id/mascot returns mascot+color+emoji; bin/task session-mascot writes/merges marker (137 runs 0 fail)

Agent Context

Make the status-bar Pokémon appear in SECONDS, not minutes — today the mascot is coupled to task creation (Task#sync_session_mascot on create/build-transition), so it only shows once the agent runs bin/task (~6 min into orienting in the reported case). Operator chose the SessionStart-hook approach. Build: (1) SessionMascot model + migration (session_mascots: session_id unique → mascot_slug) with SessionMascot.for(session_id) = reuse a live peer task's session mascot else Pokemon.draw(exclude active+taken), find_or_create stable; (2) endpoint POST /api/v1/sessions/:session_id/mascot → SessionMascot.for → returns {mascot, mascot_color (signature_color), mascot_emoji (type_emoji)}; (3) bin/task session-mascot subcommand (reads CLAUDE_CODE_SESSION_ID, POSTs, writes the session marker /.agents/sessions/<id>.json with mascot+color+emoji, best-effort/never blocks); (4) Task#session_mascot_slug adopts SessionMascot.for(sid) so the board task uses the SAME mascot → worktree bind-task (reads task.mascot via board) stays consistent; (5) settings.json SessionStart hook → bin/task session-mascot (machine-local; activates fully once the endpoint deploys to prod). NOTE depends on mascot-color-sticky (#166, type_emoji + signature_color) — build on top / rebase after it merges. DEPLOY: endpoint must ship to prod mcritchie.studio for the hook to work in real sessions.

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.

  1. Created Designed
    L Lickitung
    Lickitung
    Model
    Duration
    Tokens
    Cost
    Completed Jun 24, 19:37 · 3 days ago
    api
  2. Designed Building
    L Lickitung
    Lickitung
    Model
    claude-opus-4-8
    Duration
    under a minute
    Tokens
    Cost
    Started Jun 24, 19:37
    Completed Jun 24, 19:37 · 3 days ago
    cli
  3. Building Submitted
    L Lickitung
    Lickitung
    Model
    claude-opus-4-8
    Duration
    11 minutes
    Tokens
    58,258,647
    Cost
    ~$32.54
    Started Jun 24, 19:37
    Completed Jun 24, 19:48 · 3 days ago
    cli
  4. Submitted Reviewed
    C Carl
    Carl primary
    J Jasper
    Jasper light
    Model
    claude-opus-4-8
    Duration
    about 2 hours
    Tokens
    Cost
    Started Jun 24, 19:48
    Completed Jun 24, 22:14 · 2 days ago
    cli
  5. Reviewed Shipped
    3
    317190da-2cf6-42fc-9204-eb1706b0e78c
    Model
    claude-opus-4-8
    Duration
    43 minutes
    Tokens
    80,205,944
    Cost
    ~$52.12
    Started Jun 24, 22:14
    Completed Jun 24, 22:57 · 2 days ago
    cli
  6. Shipped Archived
    8
    81fad33e-98b5-4075-8ed6-d0efe6cb5804
    Model
    claude-opus-4-8
    Duration
    about 22 hours
    Tokens
    Cost
    Started Jun 24, 22:57
    Completed Jun 25, 21:16 · 1 day ago
    cli

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