Skip to content

c8a41bdd - Add an Errors section to the dashboard - #36

Open
Danswar wants to merge 6 commits into
developfrom
add-error-rows-view
Open

c8a41bdd - Add an Errors section to the dashboard#36
Danswar wants to merge 6 commits into
developfrom
add-error-rows-view

Conversation

@Danswar

@Danswar Danswar commented Sep 1, 2026

Copy link
Copy Markdown
Collaborator

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
  • New KPI tile "Open errors" (k-errors).
  • New <h2>Errors</h2> table with columns Repo/Service/Class/Count/Last seen/Status.
  • latestErrorSeenRows, conclusionFor, fillErrors JS functions, mirroring the existing latestUsageRows/fillUsage pattern; status text is new, skipped: <reason>, or fix: <execution_status> depending on whether a matching error.fix/error.skip row exists.
  • New test file tests/test_errors_dashboard.py, mirroring tests/test_usage_dashboard.py's structure (one HTML-marker test, one /api/state shape test via _insert_replica).
  • pytest -q: 65 passed.

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.
@Danswar

Danswar commented Sep 1, 2026

Copy link
Copy Markdown
Collaborator Author

EN:
Ready after 7 review rounds. Adds a read-only Errors section to the agent-core dashboard listing open error.seen/error.fix/error.skip activity rows, no backend change needed since GET /api/state already exposes the data.

DE:
Bereit nach 7 Review-Durchläufen. Fügt dem agent-core-Dashboard einen schreibgeschützten Errors-Bereich hinzu, der offene error.seen/error.fix/error.skip-Activity-Zeilen auflistet, ohne Backend-Änderung, da GET /api/state die Daten bereits liefert.

Details

New KPI tile ("Open errors"), a new Errors table (Repo/Service/Class/Count/Last seen/Status), and three JS functions (latestErrorSeenRows, buildConclusionMap, fillErrors) following the existing Usage table's pattern.

Review rounds (Grok then Codex, quality + logic each):

  1. Private repo name in a test fixture, dedup collision on empty fingerprint.
  2. Fixed; both dimensions approved.
  3. Two small test-coverage gaps (order-lock, skip-fixture field mismatch).
  4. Fixed one; found the order-lock was still incomplete (missing upper bound).
  5. Fixed directly, 0 findings — all Grok gates clear.
    6-7. Codex found a real redundant-scan issue (conclusionFor called twice per lookup) and a test that didn't exercise the dedup path it claimed to cover; both fixed.

Local suite: 68 passed throughout the fix rounds.

@Danswar
Danswar marked this pull request as ready for review September 1, 2026 18:04
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