Add README.md
This commit is contained in:
parent
98f6c7da70
commit
41dbf7ba1e
1 changed files with 99 additions and 0 deletions
99
README.md
Normal file
99
README.md
Normal 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 132–1716 – 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.
|
||||||
Loading…
Reference in a new issue