Dashboard — Automation surfaces¶
Dashboard automation surfaces remaining in Today plus native task attention and triage controls in the React Tasks view.
Details¶
Dashboard automation surfaces¶
v5 Threads is the canonical resolution surface for source-pipeline items that need the user's attention. Review Queue, Daily Log, and Engage tabs are retired. Today remains the planning surface, while task-specific attention and inbox triage now live in the React Tasks view.
What's left¶
Today tab¶
GET /api/automation/today?contexts=<csv> -> composes the engage helper output + the clamp-to-now plan from work_buddy.task_me.build_now_plan + top-2 recommendations from task_me.top_recommendations + active-contracts banner. Re-runnable on every refresh.
React Tasks view¶
/app/tasks exposes native attention states and an Inbox triage lens. Each of up to five candidates can become Most Important, Working on now, Snoozed, or Archived. Skip this pass rotates a candidate locally and does not mutate task state. See services/dashboard/react/tasks-view.
Internal helpers (no HTTP route)¶
_build_engage_view_payload¶
Lives in work_buddy.dashboard.service and is called only by work_buddy.task_me.load_context_for_task_me, which composes it into Today's payload. Returns every open task with the operating-tier decision, who-can-act block, and user-now satisfaction. Kept as a private collaborator because Today still needs it; the Engage tab that originally consumed it is gone.
Visual language¶
The CSS classes that drove the retired tab cards (aut-tier-badge, aut-actor-badge, wv-blocker-badge) are gone. The Tasks tab's Auto column uses its own classes. .section-subtitle survives in scripts/tabs/automation.py because Today still consumes it.
Frontend¶
scripts/tabs/today.pyownsloadTodayand the today CSS.scripts/tabs/automation.pyis now a tiny shared-utility module (_autEsc+.section-subtitle); the four loaders that previously lived there (loadReviewQueue,loadDailyLog,loadEngage,loadBlockedByContext) were deleted along with their tab panels.scripts/core/page.py'sstaticLoadersno longer registers the three retired tabs.- The
v4collapse-toggle (legacy-tabs-toggle+ thehide-legacy-tabsbody class) was removed too — every surviving tab is now visible by default.
What used to be here¶
GET /api/automation/review-queue— removed.GET /api/automation/daily-log— removed.GET /api/automation/engage— removed (the helper survives for Today).GET /api/automation/blocked-by-context— removed.scripts/tabs/automation.py'sloadReviewQueue/loadDailyLog/loadEngage/loadBlockedByContext— removed.tests/unit/test_dashboard_automation_surfaces.pyandtest_dashboard_contexts_surfaces.py— removed; the engage helper is still exercised viatest_dashboard_today.py.