Created
Jun 25, 20:41
Started
Jun 25, 20:42
Completed
Jun 25, 21:28
DevOps handoff
Type
Bug
Shape
backend
Worktree Slug
pin-session-mascot-statusline
Repositories
mcritchie-studio
Release Train
—
Branch
feat/pin-session-mascot-statusline
Acceptance Criteria
Expected Test Plan
Checks Run
Agent Context
Bug: bin/task create/move calls write_feature_marker, which overwrites the per-session marker with the MOVED task's mascot. Tasks assigned via backfill_mascots! (or before the color/emoji feature) carry mascot name but EMPTY mascot_color/mascot_emoji, so bin/statusline falls to its pink 'wrench dot' fallback (out='🛠 ' + ⊙ + default tint 213). Confirmed live: rolio-hotwire-native-shell serves mascot=rhyhorn with empty color/emoji. Owner decision: PIN the session mascot. Fix part 1 (bin/task marker_mascot_attrs): the session's mascot trio is sticky — the existing on-disk marker's mascot/color/emoji wins over the moved task's, so reviewing/moving another session's task updates app/feature/stage context but never swaps in its under-stamped mascot. Persona (act-as-soul) still overrides. First-task-in-fresh-session still adopts (its response carries color/emoji; SessionMascot makes it the session handle). Fix part 2 (bin/statusline render): safety net — a mascot with no type emoji renders clean (name only, color tint or NEUTRAL non-pink default), never the pink 🛠 ⊙. Update the two statusline tests that assert the old fallback (213 default + ⊙ Snorlax) and add a sticky-mascot regression test. Out of scope (follow-up): backfill_mascots! server bug stamps only the name (board card colors) — needs deploy+backfill.
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.
Review pair APPROVED + READY-TO-UNDRAFT (both): carl (heavy) + jasper (light). All 3 acceptance bullets verified in code+tests — (a) marker_mascot_attrs resolves persona->disk->response->board so the pinned session mascot wins over a moved/stray task mascot (incl. a fully-attributed stray); (b) bin/statusline default tint 213->250 + no-emoji branch renders clean name, never the pink wrench/dot; (c) app/feature/stage still update (write_feature_marker untouched for those). Persona-override + fresh-session-adopt preserved+tested. CI green (1703 runs). Non-blocking follow-up: bin/statusline:113 tint() docstring still references the now-removed dot glyph — one-line cleanup. Un-drafted.
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.