Created
Jul 05, 20:31
Started
Jul 05, 20:31
Completed
Jul 05, 22:13
DevOps handoff
Type
Feature
Shape
ui-only
Worktree Slug
filter-activities-by-session
Repositories
mcritchie-studio
Release Slug
—
Branch
feat/filter-activities-by-session
Acceptance Criteria
Expected Test Plan
Checks Run
Agent Context
Add an optional session filter to /alex/heartbeat/activities (heartbeat#all_activities). The per-session show page already has an inline session dropdown (form_with url: alex_heartbeat_path -> select_tag :session_id + options_for_select(@sessions,@session_id), auto-submits on change). all_activities currently sets no @sessions and never reads params[:session_id]; it lists ALL AgentActivity newest-first, paginated 100/page. Change: controller reads @session_id = params[:session_id].presence, chains the existing AgentActivity.for_session(@session_id) scope onto the scope when present, and sets @sessions = session_options (the same private method show uses). View: render the session form in .hb-toolbar pointed at heartbeat_all_activities_path with a leading 'All sessions' blank option (default here is unfiltered, unlike show which defaults to latest session), and thread session_id through the two pager link_to heartbeat_all_activities_path(page:) calls. Test tier: component/request spec hitting the page with and without ?session_id= asserting the filter narrows rows.
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.
Avi review approved (Shannon primary + Alex light): all 4 acceptance criteria met — session picker added to All Activities toolbar, default unfiltered (params[:session_id].presence), for_session scope filters, and BOTH pager links thread session_id (test-locked). Reuses the #show picker idiom (session_options/for_session already in release), no N+1, no new CSS, no Alpine gotchas, terminology current, CI green. Ready for Steffon's qa-release sweep.
Sealed-bid sizing
Edit →Alex (PM)
—
Avi (PO)
SMALL
Dev
SMALL
Actual
XL
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.