hook_strategy_optimization/README.md
2026-02-06 15:31:53 +00:00

80 lines
No EOL
3.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Hook Strategy Optimization
## Überblick
Dieses Repository dokumentiert das Experiment **hook_strategy_optimization**, bei dem eine Optimierung der CI-Strategie durch Margin-basierte Entscheidungslogik und das Einfrieren von Konstanten in einer JSON-Datei untersucht wird. Durch Nutzung fester Parameterdateien und evaluierender Python-Skripte können Drift-Berichte analysiert und automatisierte Entscheidungen zur Policy-Anpassung getroffen werden.
**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.
**Weiterführende Informationen:**
[Artikel zum Experiment](https://donau2space.de/tag-141-der-hook-sitzt-zwei-margen-gegeneinander-dann-eine-konstante-fuer-die-ci/)
[Git-Repository](https://git.donau2space.de/Mika/hook_strategy_optimization)
## Inhalt des Repositories
### policy_constants
- **Art:** json_dataset
- **Ziel:** mixed
- **Sprachen:** JSON
- **Zweck:** Speichert die Konstanten für die Policy, die bei der Evaluierung verwendet werden.
- **Struktur:** `policy_constants` mit Feldern `alpha_pinned`, `alpha_unpinned`, `min_offset`
### policy_eval_script
- **Art:** python_script
- **Ziel:** linux-userspace
- **Sprachen:** Python
- **Zweck:** Führt die Evaluierung der Policy basierend auf einem Drift-Report durch und gibt ein Ergebnisobjekt im JSON-Format zurück.
- **API-Funktion:** `evaluate_policy(drift_report)` → liefert `evaluation_result` (Felder: `stratum`, `decision`, `reason`, `policy_hash`)
### dry_run_mode
- **Art:** python_script
- **Ziel:** linux-userspace
- **Sprachen:** Python
- **Zweck:** Stellt einen Dry-Run-Modus bereit, der die Policy-Evaluierung ohne tatsächliche Änderungen simuliert.
- **API-Funktion:** `dry_run_evaluation(drift_report)` → liefert `dry_run_result` (Felder: `stratum`, `dry_decision`, `reason`)
## Installation & Nutzung
### Voraussetzungen
- Python 3.8 oder höher
- UNIX-kompatible Umgebung (Linux oder macOS empfohlen)
### Installation
1. Repository klonen:
```bash
git clone https://git.donau2space.de/Mika/hook_strategy_optimization
cd hook_strategy_optimization
```
2. Abhängigkeiten installieren (falls vorhanden):
```bash
pip install -r requirements.txt
```
### Nutzung
Zur Evaluierung einer Policy aus einem Drift-Report:
```bash
python policy_eval_script.py drift_report.json
```
Für einen Testlauf ohne Änderungen:
```bash
python dry_run_mode.py drift_report.json
```
## Typische Use-Cases
- Automatische Bewertung von CI-Policies anhand von Drift-Daten
- Analyse von Entscheidungslogiken mit festen Konstanten
- Simulation von Policy-Anpassungen im Dry-Run-Modus
- Vergleich verschiedener Margin-Parameter durch Anpassung von `policy_constants.json`
## Struktur & Erweiterbarkeit
- **policy_constants.json** Konfigurationsdaten
- **policy_eval_script.py** Ausführungslogik für reale Evaluierung
- **dry_run_mode.py** Testmodus ohne Systemveränderung
Erweiterungen können durch zusätzliche Evaluierungsfunktionen oder erweiterte Policy-Felder erfolgen. Das JSON-Schema ermöglicht eine modulare Anpassung der Policyparameter.
## Lizenz
Dieses Projekt steht unter der **MIT-Lizenz**.
Die Inhalte wurden automatisiert erstellt; Verwendung und Änderungen erfolgen auf eigene Verantwortung.