Skip to content

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.py owns loadToday and the today CSS.
  • scripts/tabs/automation.py is 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's staticLoaders no longer registers the three retired tabs.
  • The v4 collapse-toggle (legacy-tabs-toggle + the hide-legacy-tabs body 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's loadReviewQueue / loadDailyLog / loadEngage / loadBlockedByContext — removed.
  • tests/unit/test_dashboard_automation_surfaces.py and test_dashboard_contexts_surfaces.py — removed; the engage helper is still exercised via test_dashboard_today.py.