WIP: Remove the superseded dashboard counter strip #288

Closed
toasterson wants to merge 0 commits from claude/wi-019f1779-remove-the-superseded-dashboard-counter into main
Owner

Anima work item 019f1779-2943-75a3-b785-efaf2c303f5d.

What to build

Remove the three top stat cards from the dashboard — Pending Decisions, Active Sessions, Total Projects — now that the Attention Inbox and Runner Fleet supersede them. After this, the dashboard is exactly: Inbox (hero) → Runner Fleet → Active Work Slices.

End-to-end: open the dashboard → no counter strip → the Inbox is the top section.

Pushed context

  • Per ADR 0015: the inbox supersedes Pending Decisions (now routable rows, not a number), the Runner Fleet panel supersedes Active Sessions (busy/free slots show which runners are on what), and Total Projects was an inert vanity stat (projects are reached from the sidebar). Ordered AFTER the decision-pending trigger so decisions are in the inbox before the Pending-Decisions counter is removed (no coverage gap).
  • anima-pwa/src/pages/Dashboard/Dashboard.tsx — delete the counter <section> (the three Cards, ~lines 63-80) and the summary wiring.
  • anima-pwa/src/lib/grpcApi.ts — remove getDashboardSummary if nothing else uses it; also remove its mock (anima-pwa/src/lib/mockApi.ts) and the getDashboardSummary re-export usage. Grep for other callers first; getFleet/getDashboard stay (Fleet + inbox need them).
  • Update anima-pwa/src/pages/Dashboard/Dashboard.test.tsx — drop the "three stat cards / fixture counts" assertions; keep/adjust the Fleet + Active Work Slices + Inbox assertions.
  • Do NOT touch the backend Dashboard.pending_decisions field unless it becomes unused everywhere — it may still serve other consumers; just stop rendering the cards. (Verify with a grep before removing the field.)

Acceptance criteria

  • The three stat cards are gone; dashboard = Inbox + Fleet + Active Work Slices.
  • getDashboardSummary and its mock are removed if unused (grep confirms no other callers); otherwise left intact with a note.
  • Dashboard tests updated (no stale counter assertions); npm run verify green.

Blocked by

  • WI "Attention Inbox: human-decision-pending trigger" (019f1778-03a5-7ed2-abd9-637655bb4ccf).
Anima work item `019f1779-2943-75a3-b785-efaf2c303f5d`. ## What to build Remove the three top stat cards from the dashboard — **Pending Decisions**, **Active Sessions**, **Total Projects** — now that the Attention Inbox and Runner Fleet supersede them. After this, the dashboard is exactly: **Inbox (hero) → Runner Fleet → Active Work Slices**. End-to-end: open the dashboard → no counter strip → the Inbox is the top section. ## Pushed context - Per ADR 0015: the inbox supersedes **Pending Decisions** (now routable rows, not a number), the Runner Fleet panel supersedes **Active Sessions** (busy/free slots show which runners are on what), and **Total Projects** was an inert vanity stat (projects are reached from the sidebar). Ordered AFTER the decision-pending trigger so decisions are in the inbox before the Pending-Decisions counter is removed (no coverage gap). - `anima-pwa/src/pages/Dashboard/Dashboard.tsx` — delete the counter `<section>` (the three `Card`s, ~lines 63-80) and the `summary` wiring. - `anima-pwa/src/lib/grpcApi.ts` — remove `getDashboardSummary` if nothing else uses it; also remove its mock (`anima-pwa/src/lib/mockApi.ts`) and the `getDashboardSummary` re-export usage. Grep for other callers first; `getFleet`/`getDashboard` stay (Fleet + inbox need them). - Update `anima-pwa/src/pages/Dashboard/Dashboard.test.tsx` — drop the "three stat cards / fixture counts" assertions; keep/adjust the Fleet + Active Work Slices + Inbox assertions. - Do NOT touch the backend `Dashboard.pending_decisions` field unless it becomes unused everywhere — it may still serve other consumers; just stop rendering the cards. (Verify with a grep before removing the field.) ## Acceptance criteria - [ ] The three stat cards are gone; dashboard = Inbox + Fleet + Active Work Slices. - [ ] `getDashboardSummary` and its mock are removed if unused (grep confirms no other callers); otherwise left intact with a note. - [ ] Dashboard tests updated (no stale counter assertions); `npm run verify` green. ## Blocked by - WI "Attention Inbox: human-decision-pending trigger" (019f1778-03a5-7ed2-abd9-637655bb4ccf).
toasterson force-pushed claude/wi-019f1779-remove-the-superseded-dashboard-counter from 43cdb2e4e9 to e9c223a917 2026-07-05 01:16:47 +00:00 Compare
toasterson force-pushed claude/wi-019f1779-remove-the-superseded-dashboard-counter from e9c223a917 to 8df4e163b9 2026-07-06 04:51:35 +00:00 Compare
toasterson force-pushed claude/wi-019f1779-remove-the-superseded-dashboard-counter from 8df4e163b9 to f9ddf757a4 2026-07-06 06:25:15 +00:00 Compare
Author
Owner

Merged at ae5d72d. The counter strip is removed by #287's inbox section replacing it; your test-cleanup landed alongside. Closing.

Merged at `ae5d72d`. The counter strip is removed by #287's inbox section replacing it; your test-cleanup landed alongside. Closing.
toasterson closed this pull request 2026-07-09 17:54:46 +00:00

Pull request closed

Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
toasterson/Anima!288
No description provided.