Scoring-Kalibrierung: Feedback-Loop aus MR-Ergebnissen #15

Closed
opened 2026-03-30 19:24:45 +00:00 by David · 1 comment
Collaborator

Beschreibung

Nach dem Scoring werden Tickets klassifiziert (autopilot/klärfall/abgelehnt). Aktuell gibt es keinen Mechanismus, der prüft ob die Klassifikation korrekt war. Es fehlt ein Feedback-Loop, der MR-Ergebnisse zurück ins Scoring fließen lässt.

Hintergrund

Ohne Kalibrierung bleiben die Schwellwerte (70/30) statisch. Das führt dazu:

  • Autopilot-Tickets mit schlechten MRs (closed, >3 Kommentare) werden nicht erkannt
  • Klärfälle die nach minimalem Enrichment sofort durchgingen, hätten Autopilot sein können
  • Die Scoring-Gewichte (0.42/0.33/0.25) werden nie optimiert

Die PROJEKT-SPEC.md beschreibt dies in Phase 4.2 als geplantes Feature.

Akzeptanzkriterien

  • Service ScoringCalibrationService analysiert periodisch MR-Outcomes
  • Autopilot-Tickets mit mr_outcome=closed oder mr_comments_count > 3 werden als "zu optimistisch" geloggt
  • Klärfälle mit minimalem Enrichment und mr_outcome=approved werden als "zu pessimistisch" geloggt
  • Dashboard zeigt Kalibrierungs-Report: Wie viele falsch-positive/negative gab es?
  • Schwellwert-Empfehlungen werden berechnet und im Settings-Bereich angezeigt
  • Scheduled Job läuft wöchentlich und erstellt Kalibrierungs-Bericht
  • Tests mit gemockten MR-Outcome-Daten

Technische Hinweise

  • Betroffene Dateien:
    • Neu: backend/services/scoring_calibration.py
    • Neu: backend/api/calibration.py
    • Ändern: backend/main.py (Scheduled Job)
    • Ändern: backend/api/pipeline.py (Stats erweitern)
    • Ändern: frontend/src/pages/Settings.tsx (Empfehlungen anzeigen)
  • Voraussetzung: Issue #15 (MR-Erfolgs-Tracking) muss zuerst implementiert sein
  • Ansatz: Periodischer Job der Ticket-Tabelle nach Mustern durchsucht
  • Migration nötig: nein (nutzt bestehende Felder)

Aufwand: L

## Beschreibung Nach dem Scoring werden Tickets klassifiziert (autopilot/klärfall/abgelehnt). Aktuell gibt es keinen Mechanismus, der prüft ob die Klassifikation korrekt war. Es fehlt ein Feedback-Loop, der MR-Ergebnisse zurück ins Scoring fließen lässt. ## Hintergrund Ohne Kalibrierung bleiben die Schwellwerte (70/30) statisch. Das führt dazu: - Autopilot-Tickets mit schlechten MRs (closed, >3 Kommentare) werden nicht erkannt - Klärfälle die nach minimalem Enrichment sofort durchgingen, hätten Autopilot sein können - Die Scoring-Gewichte (0.42/0.33/0.25) werden nie optimiert Die PROJEKT-SPEC.md beschreibt dies in Phase 4.2 als geplantes Feature. ## Akzeptanzkriterien - [ ] Service `ScoringCalibrationService` analysiert periodisch MR-Outcomes - [ ] Autopilot-Tickets mit `mr_outcome=closed` oder `mr_comments_count > 3` werden als "zu optimistisch" geloggt - [ ] Klärfälle mit minimalem Enrichment und `mr_outcome=approved` werden als "zu pessimistisch" geloggt - [ ] Dashboard zeigt Kalibrierungs-Report: Wie viele falsch-positive/negative gab es? - [ ] Schwellwert-Empfehlungen werden berechnet und im Settings-Bereich angezeigt - [ ] Scheduled Job läuft wöchentlich und erstellt Kalibrierungs-Bericht - [ ] Tests mit gemockten MR-Outcome-Daten ## Technische Hinweise - Betroffene Dateien: - Neu: `backend/services/scoring_calibration.py` - Neu: `backend/api/calibration.py` - Ändern: `backend/main.py` (Scheduled Job) - Ändern: `backend/api/pipeline.py` (Stats erweitern) - Ändern: `frontend/src/pages/Settings.tsx` (Empfehlungen anzeigen) - Voraussetzung: Issue #15 (MR-Erfolgs-Tracking) muss zuerst implementiert sein - Ansatz: Periodischer Job der `Ticket`-Tabelle nach Mustern durchsucht - Migration nötig: nein (nutzt bestehende Felder) ## Aufwand: L
Author
Collaborator

Superseded by #90 (MR-Outcome-Tracking & Scoring-Kalibrierung). Scoring-Kalibrierung ist dort vollständig abgedeckt.

Superseded by #90 (MR-Outcome-Tracking & Scoring-Kalibrierung). Scoring-Kalibrierung ist dort vollständig abgedeckt.
David closed this issue 2026-03-30 20:38:59 +00:00
Sign in to join this conversation.
No description provided.