You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Per review: this PR is now purely additive — endpoint + shared types + data
layer + docs + tests. No UI migration, no flag. The dashboard consumes the
new endpoint in a separate follow-up PR.
Added (this PR):
- shared/types.ts: ProjectTaskOverview, ProjectTaskPreview types + exports.
- data: listProjectTaskOverviews(previewLimit) — per-project status counts,
metric totals (total*), retry/flag counts, small title previews bounded
in SQL via row_number().
- api: GET /projects/overview route + repository re-export.
- docs: ### Project Task Overview section documents the actual wire shape
(totalToken*, blockedTasks, completedTasks/...) — fixes the docs/contract
mismatch from the #138 review (must-fix#1).
Not in this PR (deliberately):
- Dashboard UI migration (App.tsx, ProjectsOverview -> /overview): separate
follow-up PR, per review (keep this PR purely additive).
Why no flag: the endpoint is purely additive — it adds a new route without
changing or replacing any existing contract. Nothing user-facing switches
behavior in this PR.
Verification: tsc clean (shared/data/api/web); data 214, api 405, web 666
tests green; build green.
0 commit comments