Skip to content

feat(dashboard): Exclude subtasks from BoardBand subheader and Done Today card#105

Merged
mhersson merged 1 commit into
mainfrom
feat/exclude-subtasks-from-boardband-and-done-today
May 18, 2026
Merged

feat(dashboard): Exclude subtasks from BoardBand subheader and Done Today card#105
mhersson merged 1 commit into
mainfrom
feat/exclude-subtasks-from-boardband-and-done-today

Conversation

@mhersson
Copy link
Copy Markdown
Owner

Summary

  • Extends commit 28f74f2 (PR feat(dashboard): Exclude subtasks from board MetricsRibbon and All Projects KPI counters #104) "delivery-unit counters" pattern to the two
    remaining headline surfaces
  • BoardBand subheader (N open · N in review · N shipped today · N shipped this week · ±N%) is now strict parent-only — subtasks excluded entirely, no +N sub suffix
  • Project Dashboard "Done Today" tile shows the parent count as headline plus a muted +N sub suffix when subtasks completed today, matching MetricsRibbon
  • SubCount helper exported from MetricsRibbon and reused in SummaryCards so the +N sub glyph + .metric-tile__sub styling stays in one place
  • web/CLAUDE.md documents the extended pattern and honestly flags the asymmetries that remain (Open Tasks / In Progress still use all-cards counts; SummaryCards' Open Tasks excludes stalled while BoardBand's open includes it; Active Agents is unfiltered everywhere)

Test plan

  • npm test passes (642 tests, +5 new)
  • npm run lint clean
  • npx tsc --noEmit clean
  • Visual on Board page: subheader shows parent-only counts, no +N sub suffix
  • Visual on Project Dashboard: "Done Today" tile shows parent count with +N sub when subtasks completed today
  • Long values in SummaryCards (e.g. high Total Cost) still ellipsize correctly after the flex-truncate fix

…oday card

- BoardBand subheader counts delivery units only (parents); subtasks excluded
  from "N open · N in review · N shipped today · N shipped this week"
- Project Dashboard "Done Today" tile shows parent count with muted "+N sub"
  suffix, mirroring MetricsRibbon
- Export SubCount helper from MetricsRibbon for cross-surface reuse;
  SummaryCards imports it rather than duplicating the JSX
- Drop truncate from the flex parent in StatTile and put it on the value span
  with min-w-0 so long values still ellipsize
- Document the extended pattern in web/CLAUDE.md, including known asymmetries
  (Open Tasks/In Progress still use all-cards, stalled handling differs
  between SummaryCards and BoardBand)
- Tests cover parent-only headline math, "+N sub" rendering, the ?? vs ||
  zero-parents edge case, and the cards-fallback subtask filter
@mhersson mhersson merged commit 5494845 into main May 18, 2026
7 checks passed
@mhersson mhersson deleted the feat/exclude-subtasks-from-boardband-and-done-today branch May 18, 2026 16:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant