80 lines
No EOL
3.4 KiB
Markdown
80 lines
No EOL
3.4 KiB
Markdown
# 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. |