Files
patrickandClaude Sonnet 5 359a90dff5
Archive-Schnittstellen-Vertragstests / contract-tests (pull_request) Successful in 3m17s
Archive-Pflichttest-Gate / pflichttest-gate (pull_request) Failing after 37s
ANA-02: Auswertungs-Dashboard fuer Kennzahlen (Backend-API + Next.js-Frontend)
internal/kennzahlenapi: liest ausschliesslich ueber ANA-01 (internal/
kennzahlen) bereits aggregierte, gespeicherte Kennzahlen - keine eigene
Aggregationslogik. Hinter RBAC-06 (retentionapi.RequireRBAC wiederverwendet),
Tenant-Kontext als Pflicht-Query-Parameter (gleiche Konvention wie Mail
INT-01/mailapi) - der Handler liefert strukturell nie Daten eines anderen
Mandanten. kennzahlen.SnapshotsInRange ergaenzt ANA-01 um kombinierbare
Modul-/Zeitraum-Filter, dieselbe Abfrage fuer API und direkten Aufruf.

web/kennzahlen-dashboard: Next.js/React/TypeScript, gespiegelt von
web/retention-admin (RET-06) auf @nexarch/shl (SHL-01). Filter nach Modul
und Zeitraum, modulübergreifende Summenanzeige, expliziter
Zugriff-verweigert-Zustand statt leerer Tabelle.

Echter End-to-End-Smoketest gegen den Backend-Stack auf 192.168.1.131
(echter Postgres, Fake-RBAC auf separatem Port ohne den laufenden echten
policy-api-Dienst zu stoeren, next dev) - Details und eine ehrlich
benannte Pruefluecke (kein Headless-Browser fuer den Rendering-Nachweis
der Client-Komponente) in docs/ANA-02-PRUEFPROTOKOLL.md.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-17 18:43:44 +02:00
..