Add README.md

This commit is contained in:
Mika 2026-01-28 16:22:46 +00:00
parent 98f6c7da70
commit 41dbf7ba1e

99
README.md Normal file
View file

@ -0,0 +1,99 @@
# CI Policy Evaluation
## Überblick
Das Experiment **ci_policy_evaluation** befasst sich mit der Entwicklung und Evaluierung einer CI-Policy zur Verarbeitung von Warnungen und Entscheidungen innerhalb eines Continuous-Integration-Workflows. Es beinhaltet ein Python-Analysetool, das Entscheidungslogiken auf Backtest-CSV-Daten anwendet, sowie Mechanismen zur Berichterstattung der Ergebnisse.
**Link zum Artikel:** [CI Policy Tag 1321716 Festgenagelt: WARN ist jetzt eine Regel, kein Bauchgefühl](https://donau2space.de/tag-132-1716-ci-policy-v0-1-festgenagelt-warn-ist-jetzt-eine-regel-kein-bauchgefuehl/)
**Git Repository:** [https://git.donau2space.de/Mika/ci_policy_evaluation](https://git.donau2space.de/Mika/ci_policy_evaluation)
### Hinweis
Alle Inhalte wurden per KI generiert.
Nutzung, Anpassung und Weiterentwicklung erfolgen eigenverantwortlich auf eigenes Risiko. Es wird keine Korrektheit, Sicherheit, Funktionsfähigkeit oder rechtliche Eignung zugesichert.
---
## Inhalt des Repositories
### 1. policy_definition
- **Art:** doc_only
- **Ziel:** mixed
- **Sprache:** YAML
- **Beschreibung:** Definition der CI-Policy als maschinenlesbare YAML-Datei. Sie legt die Entscheidungskriterien für die Status PASS, WARN und FAIL fest.
- **Datenstruktur:** `CIPolicy` (JSON)
- Felder: `status`, `rules`
### 2. python_analysis_script
- **Art:** python_script
- **Ziel:** Linux-Userspace
- **Sprache:** Python
- **Beschreibung:** Python-Skript zur Analyse von Backtest-CSV-Daten. Es wendet die CI-Policy an und bestimmt Entscheidungsergebnisse.
- **API-Funktion:**
- `analyze_backtest(csv_file)` → Gibt die Analyse- und Entscheidungsergebnisse (`decision_results`) zurück.
- **Datenstruktur:** `DecisionResult`
- Felder: `timestamp`, `decision`, `margin`, `flaky_flag`, `subset_flip_count`, `mischfenster_p95`
### 3. ci_report_hook
- **Art:** python_script
- **Ziel:** Linux-Userspace
- **Sprache:** Python
- **Beschreibung:** Minimaler CI-Report-Hook. Zeichnet Daten zu Entscheidungen und Metriken pro CI-Lauf auf.
- **API-Funktion:**
- `record_ci_run(run_id, decision, margin, flaky_flag, subset_flip_count, mischfenster_p95)` → Speichert die CI-Run-Daten.
- **Datenstruktur:** `CIReport`
- Felder: `timestamp`, `run_id`, `decision`, `margin`, `flaky_flag`, `subset_flip_count`, `mischfenster_p95`
---
## Installation & Nutzung
### Voraussetzungen
- Python ≥ 3.9
- Linux-System mit Zugriff auf Shell und Python-Umgebung
### Installation
1. Repository klonen:
```bash
git clone https://git.donau2space.de/Mika/ci_policy_evaluation
cd ci_policy_evaluation
```
2. Virtuelle Umgebung anlegen und Abhängigkeiten installieren:
```bash
python -m venv venv
source venv/bin/activate
pip install -r requirements.txt
```
### Nutzung
- **Analyse starten:**
```bash
python python_analysis_script.py --input backtest_data.csv
```
- **CI-Report-Hook ausführen:**
```bash
python ci_report_hook.py --run-id RUN1234 --decision WARN --margin 0.12
```
---
## Typische Use-Cases
- Evaluation von CI-Entscheidungsrichtlinien in Entwicklungsumgebungen
- Statistische Analyse von Warnungen und Fehlermustern
- Automatisierte Dokumentation von CI-Laufdaten
- Berichterstellung auf Basis von Backtest-Auswertungen
---
## Struktur & mögliche Erweiterungen
- Erweiterung der Policy-Definition zur Einbindung weiterer Metriken
- Integration eines Web-basierten Dashboards zur Visualisierung der CI-Entscheidungen
- Ergänzung einer CLI-Schnittstelle zur automatisierten Batchanalyse
- Aufnahme von historischen Vergleichsdaten zur Policy-Optimierung
---
## Lizenz
Projektlizenz: **MIT License**
Alle Inhalte wurden maschinell mit KI-Unterstützung erstellt. Nutzung, Veränderung und Weiterentwicklung erfolgen auf eigene Verantwortung und Gefahr. Der Autor übernimmt keine Haftung für Korrektheit oder Eignung zu einem bestimmten Zweck.