Problem
The dashboard shows HTTP error counts (e.g. "Errors: 141 (141 http)") but provides no way to see what the errors actually were — no timestamps, messages, status codes, or paths.
Root Cause
ErrorMetrics only stores cumulative counters (total + by_type HashMap). No error details are persisted.
Fix
Add a bounded ring buffer (256 entries) of ErrorEntry structs storing timestamp, kind, status code, message, and path. Expose via GET /v1/errors?limit=N endpoint. Update the frontend error bar to be clickable with an expandable table showing recent error details.
See PR #11.
Problem
The dashboard shows HTTP error counts (e.g. "Errors: 141 (141 http)") but provides no way to see what the errors actually were — no timestamps, messages, status codes, or paths.
Root Cause
ErrorMetricsonly stores cumulative counters (total+by_typeHashMap). No error details are persisted.Fix
Add a bounded ring buffer (256 entries) of
ErrorEntrystructs storing timestamp, kind, status code, message, and path. Expose viaGET /v1/errors?limit=Nendpoint. Update the frontend error bar to be clickable with an expandable table showing recent error details.See PR #11.