Dashboard: Median-Default, Ära-Entzerrung, Label-Reihenfolge, Versions-Delta (closes #36) - #139
Merged
Merged
Conversation
#36) Ergaenzt die Uebersicht-Insight-Zeile (ins-overview) um den fehlenden vierten Punkt aus Issue #36: "vs. <Vorversion>: X % (n=Y)" mit N-Guard (keine Besser/Schlechter-Wertung bei n<20 in einer der Versionen). Nutzt ausschliesslich bereits vorhandene, per TDD getestete Server-Daten (version_delta() + kpi_trend["deltas"]/["n"] aus generative/eval_dashboard.py bzw. eval_dashboard_server.py, #36 P4 / PR #59) -- keine neue Python-Logik, reines JS-Wiring. Die anderen drei #36-Punkte waren bereits durch fruehere PRs erledigt und werden hier nur frisch verifiziert (echte Daten, Server auf Port 8060): - ch4-Median-Default + Per-PDF-Linien bei aktivem PDF-Filter (PR #38) - Scaling-Trade-off-Chart dimmt alte Versions-Aeren (mark_scaling_recency, PR #59 P2) - Kalibrierungs-Tabelle nach LLM-Fehlerquote sortiert + "Als Naechstes labeln"-Badge (PR #59) Suite: 1350 passed, 2 skipped, 4 deselected (unveraendert). ruff format --check sauber (kein .py geaendert).
This was referenced Jul 6, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Setzt die vier priorisierten Punkte aus #36 um. Wichtiger Befund vorab: Drei der vier Punkte waren bereits durch frühere PRs (#38, #59) im Live-Render-Pfad erledigt — Issue #36 blieb aber offen, weil Punkt 4 (Übersicht-Insight) fehlte. Dieser PR ergänzt Punkt 4 und verifiziert alle vier frisch mit echten Daten (eigener Server auf Port 8060, read-only).
Variant-H-Layout + Pastell-Palette unverändert (kein Redesign);
quality_history.jsonl/runs//DB nur gelesen, nie geschrieben.1. ch4 entspaghettieren — bereits erledigt (PR #38), frisch verifiziert
internal/dashboard/eval_dashboard.htmlZeilen 1434–1478: bei >3 PDFs (SPAGHETTI_LIMIT) zeigt ch4 standardmäßig eine Median-Linie über alle PDFs; sobald der PDF-Filter aktiv ist, schrumpftd.long.datasetsauf 1 Eintrag und die Per-PDF-Einzellinie erscheint.a_ch4_median_default.png(Default, 26 PDFs → "Median über 26 PDFs — Einzel-Linien per PDF-Filter"),b_ch4_pdf_filter.png(Filter auf Porst-2014-Auszug-S1-40 → Einzel-Linie über 19 Versionspunkte).2. Trade-off-Scaling entzerren — bereits erledigt (PR #59 P2), frisch verifiziert
Gewählte Variante (dokumentiert wie gefordert): ältere Punkte dimmen statt hartem Versions-Cutoff —
mark_scaling_recency()(generative/eval_dashboard.py) markiert alle bis auf die jüngsten 10 Versionen alsrecent=False; ch3-JS reduziert für diese Punkte Deckkraft und Radius. Begründung (aus PR #59 übernommen): kommt ohne neuen UI-Filter aus, verwirft alte Versionen nicht komplett aus der Darstellung (bleiben als Kontext sichtbar, nur zurückgenommen).a_ch4_median_default.pnglinks sichtbar (Panel "Skaliert die Pipeline mit der PDF-Länge?", Hinweistext "Ältere Versionen gedimmt").3. Kalibrierungs-Tabelle mit Arbeits-Reihenfolge — bereits erledigt (PR #59), frisch verifiziert
Server sortiert
calibration.rowsnach LLM-Fehlerquote absteigend (ungelabelt zuerst); Client markiert die ersten 3 ungelabelten Zeilen mit "Als Nächstes labeln" (renderCalibration(), Zeilen 1683–1694).c_calib_table.png— reale Daten (356 evaluierte Notes, 0 gelabelt), Top-Zeilen bei 100 % Fehlerquote, erste 3 Zeilen mit Badge.4. Übersicht-Insight um Version-über-Version-Delta — NEU in diesem PR
Vorher:
ins-overviewzeigte nur den Stand der neuesten Version ("Pipeline v0.3.142: Fehlerquote 9,0 %, Belegrate 79,2 % über 10 evaluierte Notes.").Nachher: ergänzt um
vs. <Vorversion>: Y % (n=B), inkl. N-Guard: ist eine der beiden Versionen n<20, erscheint statt einer Besser/Schlechter-Wertung nur(n<20 — nicht belastbar). Nutzt ausschließlich bereits vorhandene, per TDD getestete Serverdaten (version_delta()+kpi_trend["deltas"]/["n"],generative/eval_dashboard.py/eval_dashboard_server.py) — keine neue Python-Logik, reines JS-Wiring inrenderInsights().Real erzeugter Satz (Screenshot
d_overview_delta.png):(Realer Datensatz liefert zufällig einen n<20-Fall auf beiden Seiten — N-Guard greift sichtbar.)
Qualität
python -m pytest generative→ 1350 passed, 2 skipped, 4 deselected (Baseline unverändert, keine Python-Logik geändert).uvx ruff format --check .: 214 files already formatted.python C:/tmp/dash36/start_server.py(Port 8060, echte Daten, read-only) + Playwright-Screenshots. Server danach per PID beendet. Der Server auf Port 8051 (Tills Tab) war während der gesamten Session unangetastet (hatte zum Zeitpunkt der Prüfung ohnehin keinen Listener — unabhängig von dieser Arbeit).closes #36