Add delta_cases_analyzer/README.md
This commit is contained in:
parent
8fcfa6b13d
commit
38faa11bc0
1 changed files with 218 additions and 0 deletions
218
delta_cases_analyzer/README.md
Normal file
218
delta_cases_analyzer/README.md
Normal file
|
|
@ -0,0 +1,218 @@
|
|||
# Analyse von Unknown-Fällen in delta_cases.csv
|
||||
|
||||
## Purpose
|
||||
|
||||
Dokumentation zur quantitativen Analyse und Differenzierung von Unknown-Fällen in CI-Gate-Prozessen anhand von delta_cases.csv.
|
||||
|
||||
**Problemstellung:** Unknown-Fälle verfälschen Gate-Analysen, wenn Artefaktmangel und Contract-Verletzung nicht getrennt betrachtet werden.
|
||||
|
||||
**Ziele:**
|
||||
- Unknown-Fälle in CI-Artefakten kategorisieren
|
||||
- Artefaktmängel von echten inhaltlichen Regressionsursachen trennen
|
||||
- Stabilität von Gate v1 durch statistische Evidenz bewerten
|
||||
|
||||
## Kontext & Hintergrund
|
||||
|
||||
CSV-Datei delta_cases.csv mit Falltransitionsdaten pro Stratum in CI-Prozessen.
|
||||
|
||||
**Gruppierung:**
|
||||
- Stratum A
|
||||
- Stratum B
|
||||
- Stratum C
|
||||
|
||||
**Trace-Metadaten / zusätzliche Tags:**
|
||||
- new_status
|
||||
- unknown_reason
|
||||
- pipeline_output_status
|
||||
|
||||
**Domänenkontext:**
|
||||
- Continuous Integration (CI)
|
||||
- Automatisierte Gate-Entscheidungen
|
||||
- Regressionserkennung
|
||||
|
||||
**Outlier-Definition:**
|
||||
- Methode: Change-Rate-Delta
|
||||
- Beschreibung: Erkennung signifikanter Zuwächse in PASS→Unknown Übergängen pro Stratum.
|
||||
- Metrik: Unknown-Rate-Delta
|
||||
|
||||
**Motivation:**
|
||||
- Erhöhung der Entscheidungssicherheit bei CI-Gates
|
||||
- Reduktion von Fehlbeurteilungen durch Artefaktmängel
|
||||
- Schaffung reproduzierbarer Analysen mittels Python-Skripten
|
||||
|
||||
## Methode / Spezifikation
|
||||
|
||||
**Übersicht:**
|
||||
- Tägliche Erfassung des delta_cases.csv Snapshots über einen siebentägigen Beobachtungszeitraum.
|
||||
- Filtern und Aggregieren von Fällen mit Statuswechsel zu Unknown.
|
||||
- Kategorisierung der Unknown-Ursachen nach Typ (Artefaktmangel vs. Contract-Verletzung).
|
||||
|
||||
**Algorithmen / Verfahren:**
|
||||
- Iteriere über delta_cases.csv mittels csv.DictReader.
|
||||
- Zähle Unknown-Fälle nach unknown_reason über collections.Counter.
|
||||
- Ableitung einer Unknown-Whitelist für bekannte Artefaktmängel.
|
||||
|
||||
### Bootstrap-Übersicht
|
||||
|
||||
Bootstrap-Resampling ist hier nicht angewandt, vorgesehen für spätere Stabilitätsbewertungen pro Unknown-Typ.
|
||||
|
||||
**Zielgrößen:**
|
||||
- Unknown-Rate-Stabilität
|
||||
- Konfidenzintervall des Unknown-Delta pro Stratum
|
||||
|
||||
### Resampling-Setup
|
||||
|
||||
- Stratum A
|
||||
- Stratum B
|
||||
- Stratum C
|
||||
|
||||
**Stichprobeneinheit:** Testfall pro CI-Run
|
||||
|
||||
**Resampling-Schema:**
|
||||
- Fixed-Format pro Snapshot
|
||||
- 7-Tage-Sequenz für zeitliche Differenzen
|
||||
|
||||
**Konfidenzintervalle:**
|
||||
- Niveau: 0.95
|
||||
- Typ: bootstrap
|
||||
- Ableitung: Empirische Verteilung der Unknown-Anteile
|
||||
|
||||
### Abgeleitete Effektgrößen
|
||||
|
||||
**Risk Difference (Differenz der Raten):**
|
||||
- Definition: Differenz der Unknown-Raten zwischen Tagen oder Strata.
|
||||
- Bootstrap: CI aus wiederholtem Resampling derselben Gruppen
|
||||
|
||||
**Risk Ratio:**
|
||||
- Definition: Verhältnis der Wahrscheinlichkeit Unknown vs. PASS in verschiedenen Strata.
|
||||
- Bootstrap: Verteilungsbasierte CI-Schätzung mit 95%-Level
|
||||
|
||||
### C-State-Kontrolle
|
||||
|
||||
**Ziel:** Sicherstellen, dass Infrastructure-Induced Unknowns (Artefaktfehler) nicht als logische Regressionsfälle interpretiert werden.
|
||||
|
||||
**Vorgehen:**
|
||||
- Separate Whitelist für identifizierte Artefaktmängel pflegen
|
||||
- Nur Contract-Verletzungen als echte Regressionsindikatoren zählen
|
||||
|
||||
## Input / Output
|
||||
|
||||
### Input-Anforderungen
|
||||
|
||||
**Hardware:**
|
||||
- Standard CI-Umgebung mit Python 3
|
||||
|
||||
**Software:**
|
||||
- Python 3.8+
|
||||
- csv-Modul (Standardbibliothek)
|
||||
|
||||
**Konfiguration:**
|
||||
- delta_cases.csv im Root-Log-Verzeichnis pro Tag
|
||||
- unknown_whitelist.json für bekannte Artefaktmängel
|
||||
|
||||
### Erwartete Rohdaten
|
||||
|
||||
**Felder pro Run:**
|
||||
- case_id
|
||||
- old_status
|
||||
- new_status
|
||||
- unknown_reason
|
||||
- stratum
|
||||
- timestamp
|
||||
|
||||
**Formatbeispiele:**
|
||||
- 00123, PASS, Unknown, MissingOutputFile, A, 2024-02-11T09:23Z
|
||||
|
||||
**Trace-Daten:**
|
||||
- Format: CSV-Tabellenstruktur
|
||||
- Hinweis: Jede Zeile entspricht einem Testfallübergang im CI-Prozess
|
||||
|
||||
### Analyse-Ausgaben
|
||||
|
||||
**Pro Gruppe / pro Governor:**
|
||||
- Anzahl Unknown pro Stratum
|
||||
- Verteilung der unknown_reason Kategorien
|
||||
|
||||
**Vergleichsausgaben:**
|
||||
- Tag1_StratumA vs Tag2_StratumA
|
||||
- Δ: Δ Unknown = +x %
|
||||
- CI(Δ): 95%-CI aus Resampling
|
||||
- RR: RR Unknown(T2/T1)
|
||||
- CI(RR): 95%-CI RR-Schätzung
|
||||
|
||||
- C-State-Korrelation: Analyse der Unknown-Auftritte in Relation zu Pipeline-/Infrastructure-Logs
|
||||
- Trace-Muster: Zeitliche Muster der Unknown-Bildung über sieben Tage
|
||||
|
||||
## Workflow / Nutzung
|
||||
|
||||
**Analyse-Workflow:**
|
||||
- Erstelle täglichen CI-Snapshot im festen delta_cases.csv Format.
|
||||
- Führe Python-Skript zur Zählung der Unknown-Ursachen aus.
|
||||
- Protokolliere Resultate als stabile Metrik im Logbook.
|
||||
- Pflege unknown_whitelist.json manuell für sichere Artefaktmängel.
|
||||
- Vermeide Regeländerungen während der Beobachtungsperiode.
|
||||
|
||||
### Trace-Template-Anforderungen
|
||||
|
||||
**Ziel:** Reproduzierbare Unknown-Erfassung über konsistente CSV-Struktur.
|
||||
|
||||
**Erforderliche Tags & Metadaten:**
|
||||
- stratum
|
||||
- new_status
|
||||
- unknown_reason
|
||||
|
||||
**trace-cmd-Setup:**
|
||||
- delta_cases.csv täglich exportieren
|
||||
- keine automatischen Statusänderungen im Beobachtungszeitraum
|
||||
|
||||
**Run-Design für Contributors:**
|
||||
- Beobachtungsläufe über 7 Tage mit identischer Konfiguration
|
||||
- Trennung von funktionalen und Infrastrukturfehlern
|
||||
|
||||
## Interpretation & erwartete Ergebnisse
|
||||
|
||||
**Kernbefunde:**
|
||||
- Unknown-Fälle bestehen aus mindestens zwei Hauptursachen: Artefaktmangel und Contract-Verletzung.
|
||||
- PASS→Unknown Delta in Stratum A weist auf datenbedingte Instabilität hin.
|
||||
- Korrekte Trennung erhöht Präzision der Gate-Entscheidung signifikant.
|
||||
|
||||
**Implikationen für Experimente:**
|
||||
- Unknown-Gate-Fälle müssen kategorisiert werden, bevor sie als Stabilitätsindikator gelten.
|
||||
- Ergebnisse bilden Grundlage für künftige automatisierte Whitelisting-Prozesse.
|
||||
|
||||
**Planungsziel:**
|
||||
- Ziel: Stabile, datengetriebene Gate-Entscheidung ohne Fehlklassifikationen.
|
||||
- Vorgehen:
|
||||
- Langzeitbeobachtung der Unknown-Entwicklung
|
||||
- Schrittweise Einbindung von Bootstrap-Analyse zur Varianzschätzung
|
||||
|
||||
## Limitationen & Fallstricke
|
||||
|
||||
**Datenbezogene Limitationen:**
|
||||
- Fehlende oder inkonsistente unknown_reason Werte erschweren Klassifikation.
|
||||
- CSV-Strukturfehler können Zählungen verfälschen.
|
||||
|
||||
**Bootstrap-spezifische Limitationen:**
|
||||
- Noch keine Implementierung; spätere Anwendung erfordert genügend Datenpunkte pro Stratum.
|
||||
|
||||
**Kausalität & Generalisierbarkeit:**
|
||||
- Beobachtung einzelner Pipelines liefert keine generalisierbaren Aussagen über andere Projekte.
|
||||
|
||||
**Praktische Fallstricke:**
|
||||
- Zu häufige Anpassung der Whitelist unterminiert Vergleichbarkeit.
|
||||
- Vermischung technischer und fachlicher Ursachen verfälscht Trenddaten.
|
||||
|
||||
## Nächste Schritte & Erweiterungen
|
||||
|
||||
**Geplante Experimente:**
|
||||
- Tag-2 bis Tag-7 Auswertung der Unknown-Typen zur Stabilitätsprüfung.
|
||||
|
||||
**Analyseziele:**
|
||||
- Unknown-Rate-Trendanalyse über Zeit
|
||||
- Bootstrap-basierte Unsicherheitsabschätzung
|
||||
|
||||
**Regression & Modellierung:**
|
||||
- Entwicklung eines einfachen Regressionsmodells zur Unknown-Prädiktion
|
||||
|
||||
**Community-Beiträge:**
|
||||
- Best-Practices für Stable-Gate-Metriken in CI-Pipelines teilen
|
||||
Loading…
Reference in a new issue