Add rollout_criteria/README.md

This commit is contained in:
Mika 2026-02-19 13:16:05 +00:00
commit 709f797aa1

158
rollout_criteria/README.md Normal file
View file

@ -0,0 +1,158 @@
# Rollout-Kriterien für GateV1 im CISystem
## Purpose
Festlegung der Rollout-Kriterien und Entscheidungslogik für den GateV1Step im Continuous Integration (CI).
**Problemstellung:** Fehlende standardisierte Entscheidungskriterien bei der Integration von GateV1 in automatisierte CIPipelines.
**Ziele:**
- Operationelle Einführung von GateV1 als CIStep
- Definition von Bewertungs- und Eskalationslogik (PASS, WARN, REVIEW)
- Dokumentation der stabilen Rollout-Phasen und Schwellenwerte
## Kontext & Hintergrund
Die GateV1Komponente wertet Metriken aus den Policy-Berechnungen aus und erzeugt daraus ein `gate_result.json`.
**Gruppierung:**
- pro CIRun
- pro PolicySet
**Trace-Metadaten / zusätzliche Tags:**
- policy_hash zur Nachverfolgbarkeit der Policy-Konfiguration
**Domänenkontext:**
- CIWorkflows
- kontinuierliche Qualitätssicherung
- automatisierte PolicyValidierung
**Outlier-Definition:**
- Methode: Schwellenwertbasiert
- Beschreibung: Runs mit UnknownRate > 1% werden als Ausreißer und REVIEWFälle markiert.
- Metrik: UnknownRate
**Motivation:**
- Transparente, nachvollziehbare Entscheidungen in CIPipelines
- Konsistentes Evaluationsverhalten über mehrere Runs hinweg
- Reduktion des logbasierten manuellen Prüfaufwands
## Methode / Spezifikation
**Übersicht:**
- Der GateV1Step erhält `policy_constants.json` und den daraus berechneten `policy_hash`.
- Er erzeugt ein `gate_result.json` mit Outcome, Hash, CountMetriken und TopReasons.
- Er ergänzt den CILauf um einen kompakten PRKommentar mit diesen Daten.
**Algorithmen / Verfahren:**
- Ermitteln der Unknown, WARN und Sichtbarkeitsraten aus PolicyErgebnissen.
- Zuweisung eines Outcomes (PASS, WARN, REVIEW) anhand fester Schwellen.
- Speichern der Resultate in `gate_result.json`.
- Posten eines standardisierten CIKommentars mit Hash, Outcome und Begründung.
## Input / Output
### Input-Anforderungen
**Hardware:**
**Software:**
- CIUmgebung mit JSONSupport
- Zugriff auf PolicyAuswertungsartefakte
**Konfiguration:**
- Bereitstellung von `policy_constants.json`
- Berechnung eines stabilen `policy_hash`
### Erwartete Rohdaten
**Felder pro Run:**
- policy_hash
- outcome
- unknown_rate
- visibility
- top_reasons
**Formatbeispiele:**
- {"policy_hash": "abcd1234", "outcome": "PASS", "unknown_rate": 0.009, "visibility": 0.995, "top_reasons": ["Sichtbarkeit ≥99%", "Unknown ≤1%"]}
**Trace-Daten:**
- Format: JSON
- Hinweis: Keine Zusatzfelder oder Telemetrie; minimalistische Struktur für diffbasierte Vergleiche.
### Analyse-Ausgaben
**Pro Gruppe / pro Governor:**
- UnknownRate
- VisibilityWert
- WarnRate
- Trace-Muster: Stabilität des `policy_hash` über wiederholte Runs prüfen.
## Workflow / Nutzung
**Analyse-Workflow:**
- Ausführen des GateV1Steps in der CIPipeline.
- Erzeugen des `gate_result.json`.
- Kommentieren des PRs mit kompaktem Ergebnisblock.
- Bewerten der Resultate über mehrere Runs.
### Trace-Template-Anforderungen
**Ziel:** Stabilität und Nachvollziehbarkeit der CIErgebnisse.
**Erforderliche Tags & Metadaten:**
- policy_hash
- outcome
- CountsMetriken (Unknown, Visibility, etc.)
**trace-cmd-Setup:**
- Keine zusätzlichen Tracepunkte im commentonlyModus.
**Run-Design für Contributors:**
- Mindestens zwei RunKategorien (Baseline, Degradiert).
- Kein ParameterTuning während der Validierung.
## Interpretation & erwartete Ergebnisse
**Kernbefunde:**
- PASS bei stabiler UnknownRate ≤1% und Sichtbarkeit ≥99%.
- REVIEW bei erhöhter UnknownRate.
- Bytestabile Resultate zwischen Runs sind Indikator funktionaler Stabilität.
**Implikationen für Experimente:**
- GateV1 kann reproduzierbare und erklärbare CIEntscheidungen liefern.
- Die UnknownKategorie dient als Trigger für manuelle Prüfung.
**Planungsziel:**
- Ziel: Schrittweiser Rollout des GateMechanismus mit sicherer Eskalationslogik.
- Vorgehen:
- Phase1: commentonly
- Phase2: WARNGate bei definierten Kriterien
- Option3: blockend mit harten Bedingungen
## Limitationen & Fallstricke
**Datenbezogene Limitationen:**
- Abhängigkeit von Genauigkeit der PolicyMetriken.
- Keine Datenvalidierung außerhalb der definierten Counts.
**Kausalität & Generalisierbarkeit:**
- Bewertungen gelten nur für getestete PolicyKonfigurationen.
**Praktische Fallstricke:**
- Falsche UnknownKlassifizierung kann zu unnötigen REVIEWs führen.
- HashÄnderungen ohne sichtbare PolicyDifferenz erschweren Vergleichbarkeit.
## Nächste Schritte & Erweiterungen
**Geplante Experimente:**
- Einführung des WARNGates nach stabilen 40 Runs.
**Analyseziele:**
- Quantifizierung der UnknownRateVerteilung über längere Zeiträume.
**Regression & Modellierung:**
- Beobachtung der OutcomeVerteilung über PolicyVersionen hinweg.
**Community-Beiträge:**
- Best Practices für commentonly Gates in CIUmgebungen dokumentieren.