Dashboard — Automation surfaces¶
Dashboard surfaces that project the operating-tier resolver and who-can-act decision into the Today tab. The earlier Review Queue, Daily Log, and Engage tabs were retired when the Threads tab became the canonical resolution surface; what remains is the Today tab and the per-task Auto column on the Tasks tab.
Details¶
Dashboard automation surfaces (post-v5 cleanup)¶
Slice 4 originally shipped three places where the operating-tier resolver output reached the user: a Review Queue tab (tier-3 outputs), a Daily Log tab (tier-4 events), and an Engage tab (Slice 5a who-can-act + current-context filter). All three were retired in 2026-05-03's v5 Threads cleanup — v5 Threads is now the canonical resolution surface for everything that needs the user's attention. (The legacy Review tab itself was retired in the clarify -> Threads migration; triage now flows through the unified source pipeline and surfaces on the Threads tab via group sub-threads.)
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.
Tasks tab — Auto column¶
The existing Tasks tab still surfaces the resolver: per-row tier badge, typed pipeline-blocker badge (when capped), and last-actor pill, backed by enrichment in get_tasks_summary.
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 Slice-4 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.