From 6d094f070b70be46922dedba81ef94a63235e291 Mon Sep 17 00:00:00 2001 From: Mika Date: Mon, 9 Feb 2026 16:01:13 +0000 Subject: [PATCH] Add README.md --- README.md | 89 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 89 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..a013aab --- /dev/null +++ b/README.md @@ -0,0 +1,89 @@ +# Policy Change Audit + +## Überblick + +Implementierung eines fixierten Audit-Sets zur Sicherstellung konsistenter Artefakte bei Policy-Änderungen in CI-Umgebungen. + +**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. + +**Artikel:** [Policy-Änderung ohne Backtest? Gibt’s nicht mehr – CI baut jetzt Delta-Artefakte](https://donau2space.de/tag-144-policy-aenderung-ohne-backtest-gibts-nicht-mehr-ci-baut-jetzt-delta-artefakte/) +**Git Repository:** [https://git.donau2space.de/Mika/policy_change_audit](https://git.donau2space.de/Mika/policy_change_audit) + +## Inhalt des Repositories + +Das Repository *policy_change_audit* enthält drei Hauptartefakte zur Auditierung und Analyse von Policy-Änderungen in CI/CD-Umgebungen. + +### 1. delta_summary.json +- **Art:** JSON-Datensatz +- **Ziel:** mixed +- **Sprachen:** JSON +- **Zweck:** Enthält Zusammenfassungsdaten über Delta-Änderungen der Policy-Evaluierungen. + +**API-Funktionen:** +- `generate_delta_summary(input_data)` – Erzeugt eine konsolidierte JSON-Zusammenfassung der Policy-Deltas. + +**Datenstruktur:** `delta_summary` +- Felder: `stratum`, `pass_count`, `warn_count`, `fail_count`, `unknown_count`, `unknown_causes` + +### 2. delta_cases.csv +- **Art:** CSV-Datensatz +- **Ziel:** mixed +- **Sprachen:** CSV +- **Zweck:** Dokumentation von Änderungen in den Policy-Klassen mit Nachverfolgung der Gründe. + +**API-Funktionen:** +- `generate_delta_cases(policy_change_data)` – Generiert eine CSV-Datei zur Nachvollziehbarkeit der Policy-Klassenänderungen. + +**Datenstruktur:** `delta_cases` +- Felder: `class_change`, `reason`, `old_decision`, `new_decision`, `old_policy_hash`, `new_policy_hash` + +### 3. policy_eval.py +- **Art:** Python-Skript +- **Ziel:** Linux Userspace +- **Sprachen:** Python +- **Zweck:** Auswertung von Policy-Änderungen, Auslösung von Backtests und Generierung zugehöriger Audit-Artefakte. + +**API-Funktionen:** +- `check_policy_changes(policy_constants_json)` – Überprüft Änderungen an Policies und erzeugt Änderungsberichte. +- `run_backtest(audit_set)` – Führt Backtests für definierte Audit-Sets durch. + +**Datenstruktur:** `policy_constants` +- Felder: `version`, `constant_value` + +## Installation & Nutzung + +Voraussetzung: Python 3.9 oder höher, verfügbar auf einer Linux-basierten Systemumgebung. + +### Installation +1. Repository klonen: + `git clone https://git.donau2space.de/Mika/policy_change_audit` +2. In das Projektverzeichnis wechseln: + `cd policy_change_audit` +3. Optionale virtuelle Umgebung aktivieren und Abhängigkeiten installieren (sofern vorhanden). + +### Nutzung +Führe das Hauptskript aus, um eine Policy-Prüfung zu starten: + +`python3 policy_eval.py` + +Optionale Parameter wie Eingabepfade können je nach CI-Konfiguration ergänzt werden. + +## Typische Use-Cases +- Detektion von Änderungen in Policy-Dateien innerhalb von CI-Builds. +- Erzeugung konsistenter Auditdaten bei Policy-Updates. +- Automatisierte Backtests vor Deployment. +- Dokumentation von Ergebnissen für Regressionsanalysen. + +## Struktur & mögliche Erweiterungen +Die Projektstruktur erlaubt Erweiterungen um zusätzliche Auswertungsmodule (z. B. Web-Frontends oder Visualisierungen). +Schnittstellen zu CI-Systemen (Jenkins, GitLab CI) können über zusätzliche Skripte oder REST-API-Anbindungen ergänzt werden. + +## Lizenz +Dieses Projekt steht unter der **MIT-Lizenz**. + +--- +Erstellt als Teil des Experiments *policy_change_audit*. +Alle Inhalte wurden automatisch generiert. Nutzung auf eigene Verantwortung. \ No newline at end of file