| .. | ||
| README.md | ||
Decision-Tabelle zur Klassifizierung von Unknowns und Rerun-Effekt-Analyse (Policy v1.1)
Purpose
Dokumentiert die Entscheidungstabelle für Unknown-Klassifikationen in der CI und spezifiziert die Rerun-Regeln gemäß Audit-Ergebnissen.
Problemstellung: Fehlende Systematik zur Behandlung und Klassifikation von Unknown-Runs führte zu inkonsistenter CI-Analyse und uneinheitlichen Ergebnissen.
Ziele:
- Konsistente Klassifizierung bisher unklarer CI-Ergebnisse (Unknowns)
- Definition von klaren Actions (PASS, WARN, FAIL) pro Unknown-Klasse
- Quantitative Bewertung des Rerun-Effekts zur Policy-Ableitung
Kontext & Hintergrund
audit.csv mit N=112 Run-Einträgen, enthält Protokolle und Diagnoseinformationen zu CI-Runs.
Gruppierung:
- pinned
- unpinned
Trace-Metadaten / zusätzliche Tags:
- Stratum-Information für Effektanalyse
- Labels für CI-Status und Fehlerursachen
Domänenkontext:
- Continuous Integration
- Audit-basierte Klassifikation
- CI-Automatisierung
Outlier-Definition:
- Methode: Empirische Klassifikation aus Audit-Daten
- Beschreibung: Unknown-Runs gelten als Abweichungen, wenn Diagnose- oder Contract-Struktur unvollständig oder fehlerhaft ist.
- Metrik: Run-Status versus erwartete Klassifikationsparameter
Motivation:
- Bereinigung der Kategorie 'Unknown' in der CI-Auswertung
- Vermeidung von Fehlinterpretationen bei Rerun-Analysen
- Herstellung automatisierter Reproduzierbarkeit der Entscheidungen
Methode / Spezifikation
Übersicht:
- Analyse von N=112 CI-Runs im audit.csv.
- Klassifikation aller Unknowns in vier Ursachenklassen.
- Zuordnung einer eindeutigen CI-Action pro Klasse.
- Bewertung des Rerun-Effekts auf Entscheidungsänderungen nach pinned/unpinned-Stratum.
Algorithmen / Verfahren:
- Tabellarische Klassifikation: Zuordnung von Actions und Labels basierend auf Ursache.
- Audit-basierte Aggregation des Rerun-Effekts über Helps, Shifts, Hurts.
- Policy-Ableitung: Rerun-Budget nur bei unpinned wirksam, Exklusion bei Contract- oder Artefakt-Fehlern.
Bootstrap-Übersicht
Resampling-basierte Stabilisierung geplanter Schwellenwerte (warn_rate, unknown_rate).
Zielgrößen:
- WARN-Anteil
- Unknown-Anteil je Stratum
Resampling-Setup
- pinned
- unpinned
Stichprobeneinheit: CI-Run
Resampling-Schema:
- Bootstrap mit Wiederholung zur Schätzung der Perzentil-basierten Schwellen
Konfidenzintervalle:
- Niveau: 0.95
- Typ: Perzentil-Konfidenzintervall
- Ableitung: Percentile bootstrap
Abgeleitete Effektgrößen
Risk Difference (Differenz der Raten):
- Definition: Differenz der Häufigkeiten von Helps/ Hurts zwischen Strata.
- Bootstrap: Verwendung für Vertrauensintervalle der Rerun-Effekt-Schätzung.
Risk Ratio:
- Definition: Quotient der Helps-Rate zwischen unpinned und pinned Runs.
- Bootstrap: Resampling zur Unsicherheitsabschätzung der Risikoverhältnisse.
C-State-Kontrolle
Ziel: Vermeidung von Messverzerrungen durch Systemzustände während Audit-Erhebung.
Vorgehen:
- Paarweise Analyse nach pinned/unpinned
- Standardisierung des Zeitraums pro Run
Input / Output
Input-Anforderungen
Hardware:
- Standard-CI-Infrastruktur ohne spezielle Hardwareanforderungen
Software:
- CI-System mit Log- und Trace-Export
- Audit-Tooling für CSV-Analyse
Konfiguration:
- aktive Trennung zwischen pinned und unpinned Runs
- Audit-Skript konfiguriert für Unknown-Erkennung
Erwartete Rohdaten
Felder pro Run:
- run_id
- status
- artifact_presence
- contract_status
- parse_status
- pinned_flag
Formatbeispiele:
- 11234, UNKNOWN, missing, ok, fail, unpinned
Trace-Daten:
- Format: CSV/JSON
- Hinweis: Muss pro Run Log- und Analyse-Metadaten enthalten.
Analyse-Ausgaben
Pro Gruppe / pro Governor:
- Helps-Quote
- Shifts-Quote
- Hurts-Quote pro Stratum
Vergleichsausgaben:
-
unpinned vs pinned
- Δ: Helps-Differenz in Prozentpunkten
- CI(Δ): 95%-CI via Bootstrap
- RR: Helps_unpinned / Helps_pinned
- CI(RR): 95%-CI via Bootstrap
- Tests: Signifikanztest optional
-
C-State-Korrelation: Korrelation CI-Latenz vs. Klassifikationsfehler
-
Trace-Muster: Häufige Unknown-Artefaktmuster nach Fehlerklasse
Workflow / Nutzung
Analyse-Workflow:
- Audit-Daten einlesen
- Runs nach Unknown-Klasse gruppieren
- Decision-Tabelle anwenden: Klasse -> PASS/WARN/FAIL
- Rerun-Auswertung getrennt nach pinned/unpinned durchführen
- report.csv mit aktualisierten Klassifikationen erzeugen
Trace-Template-Anforderungen
Ziel: Standardisierte Erfassung von Unknown-Ursachen zur Automatisierbarkeit der Policy-Anwendung.
Erforderliche Tags & Metadaten:
- run_id
- pinned_flag
- error_type
- contract_status
- rerun_count
trace-cmd-Setup:
- trace-cmd collect --metadata error_type,pinned_flag
Run-Design für Contributors:
- Min. 30 Runs pro Stratum zur statistischen Bewertung.
Interpretation & erwartete Ergebnisse
Kernbefunde:
- Unknowns lassen sich in vier stabile Fehlerklassen mit klaren Actions einteilen.
- Rerun bringt bei unpinned Runs signifikante Verbesserung (Helps)
- Bei pinned Runs sind Reruns ineffektiv; meist nur Metrikverschiebungen (Shifts).
Implikationen für Experimente:
- Policy v1.1 nutzt Rerun nur als Tie-Breaker bei unpinned.
- Unvollständige Artefakte und Contract-Verstöße erzeugen immer WARN bzw. FAIL ohne Rerun-Korrektur.
Planungsziel:
- Ziel: Quantitative Ableitung robuster Warn- und Unknown-Schwellenwerte.
- Vorgehen:
- Perzentil-basierte Schätzung der warn_rate und unknown_rate pro Stratum
- Bootstrap-Verifikation der Stabilität.
Limitationen & Fallstricke
Datenbezogene Limitationen:
- N=112 begrenzte Stichprobe, Risk-of-Overfitting in Schwellenableitung
Bootstrap-spezifische Limitationen:
- Stabile Konfidenzintervalle erfordern ≥1000 Resamples pro Stratum
Kausalität & Generalisierbarkeit:
- Rerun-Effekt gilt nur innerhalb auditierter Umgebung
- Keine Generalisierung auf andere CI-Systeme ohne Nachprüfung
Praktische Fallstricke:
- Fehlende oder falsch gelabelte Runs stören Unknown-Detektion
- Nicht alle Parser-Fehler sind deterministisch reproduzierbar
Nächste Schritte & Erweiterungen
Geplante Experimente:
- Erweiterung des Audit-Datensatzes auf ≥500 Runs
- Validierung der Decision-Tabelle gegen neue CI-Versionen
Analyseziele:
- Kalibrierung von warn_rate und unknown_rate via Bootstrap-Perzentile
- Sensitivitätsanalyse nach Artefakt-Typ
Regression & Modellierung:
- Einführung logit-basierten Modells zur Unknown-Vorhersage
- Simulation des Rerun-Nutzens pro Klasse
Community-Beiträge:
- Veröffentlichung der Decision-Tabelle als YAML für Policy-v1.1-Replikation
- Einbindung in CI-Beobachtungs-Tooling von Mika Code Lab