c8a41bdd - Add an Errors section to the dashboard - #36
Conversation
Surface open error.seen/error.fix/error.skip activity rows on the website so the team can see what the error-fix skill has already caught, without a second store. No backend change: /api/state already returns the full activity table.
Replace a real private repo name with a placeholder in the new test fixture, stop distinct no-fingerprint error rows from colliding in the dashboard's dedup, and extend the existing dashboard order/reset contract tests to cover the new table.
Use "reason" instead of the unused "execution_status" field, and lock the Errors section's position between Usage and Sessions the same way the existing tables already do.
Pin it before Sessions, not just after Usage, matching this test's existing style for the other tables.
Build a single id->conclusion map up front and reuse it for both the table render and the open-error count, instead of rescanning the activity list for every row. Also add a newest-first test that compares two error rows of the same type, the case the dashboard's own dedup actually depends on.
The two error.seen fixtures had different fingerprints, so the test proved API ordering but not the dedup precondition it was meant to cover.
|
EN: DE: DetailsNew KPI tile ("Open errors"), a new Errors table (Repo/Service/Class/Count/Last seen/Status), and three JS functions ( Review rounds (Grok then Codex, quality + logic each):
Local suite: 68 passed throughout the fix rounds. |
EN:
Adds an "Errors" section to the dashboard, listing open error.seen/error.fix/error.skip activity rows (repo, service, class, count, last seen, status) so the team can see what the error-fix skill has already caught. No backend or protocol change: GET /api/state already returns the full activity table, so this is a frontend-only addition following the existing Usage-table pattern.
DE:
Fügt dem Dashboard einen Bereich "Errors" hinzu, der offene error.seen/error.fix/error.skip-Activity-Zeilen auflistet (Repo, Service, Klasse, Anzahl, zuletzt gesehen, Status), damit das Team sieht, was der error-fix-Skill bereits erfasst hat. Keine Backend- oder Protokolländerung: GET /api/state liefert die activity-Tabelle bereits vollständig, es handelt sich also um eine reine Frontend-Ergänzung nach dem bestehenden Usage-Tabellen-Muster.
Details
k-errors).<h2>Errors</h2>table with columns Repo/Service/Class/Count/Last seen/Status.latestErrorSeenRows,conclusionFor,fillErrorsJS functions, mirroring the existinglatestUsageRows/fillUsagepattern; status text isnew,skipped: <reason>, orfix: <execution_status>depending on whether a matchingerror.fix/error.skiprow exists.tests/test_errors_dashboard.py, mirroringtests/test_usage_dashboard.py's structure (one HTML-marker test, one/api/stateshape test via_insert_replica).pytest -q: 65 passed.