Phase 1 core view: workspace-level error overview
/workspace/:id/error-dashboardWorkspaceErrorDashboardPageComponenterrorDashboard (separate from existing errorLog)
Text filter searches across error_code, error_msg, and statement_name. Container and Statement are dropdowns. Status filter added to your sketch — matches existing error log workflow.
Clickable — acts as a container type filter toggle. +N = 24h gain (red when > 0). Bottom number = total count. Highlighted card = active filter. Click again to deselect.
| past 24h | error | stack | last seen | first seen | trend |
|---|---|---|---|---|---|
|
|
input error you can't write SQL go home |
get /foo | 2m ago | 3d ago | new |
|
|
auth error token expired |
⚙ prune | 5m ago | 14d ago | escalating |
|
|
permission error access denied to resource |
... | 1h ago | 30d ago | shrinking |
Columns: 24h sparkline (from hourly_counts) · error code + message · stack context (statement or endpoint) · last seen (relative) · first seen (relative) · trend badge
Trend colors: new (first seen < 4h) · ongoing (steady) · escalating (a > 1.2) · shrinking (a < 0.8)
Sorting: P1 default = last_seen desc. P2 = smart sort by trend severity once backend regression coeff lands.
Pagination: 50 per page, matching existing patterns.
Click row → navigates to Error Detail page.
GET /workspace/:id/error_signatures — paginated list with filters (existing endpoint, add container type filter)GET /workspace/:id/error_signatures/stats — counts per container type (extend existing endpoint)hourly_counts — linear regression on 24 hourly data pointshourly_counts dataerrorDashboard feature state — separate from per-object errorLog to avoid conflicts