drift_report_schema/readme.md
2026-02-08 16:06:31 +00:00

78 lines
No EOL
3.3 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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.

# Drift Report Schema
## Überblick
Das Experiment **drift_report_schema** befasst sich mit der Entwicklung eines stabilen JSON-Schemas für die Datei *drift_report.json*. Ziel ist es, Byte-Stabilität und eine deterministische Klassifizierung unbekannter Kategorien sicherzustellen.
[Artikel lesen](https://donau2space.de/tag-143-byte-stabil-statt-bauchgefuehl-mein-contract-fuer-drift_report-json-steht-und-unknowns-sind-jetzt-zaehlbar/)
[Git-Repository](https://git.donau2space.de/Mika/drift_report_schema)
### 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
Das Repository enthält drei primäre Artefakte:
### 1. drift_report_schema
- **Art:** json_dataset
- **Ziel:** mixed
- **Sprachen:** JSON
- **Zweck:** Definiert ein präzises Schema für *drift_report.json* mit Pflicht- und optionalen Feldern. Dient der Validierung von Reports.
- **Datenstruktur:** `drift_report`
- Felder: `policy_hash`, `run_id`, `pinned_flag`, `mischfenster_p95`, `metrics`, `unknown_label`
### 2. rollout_metrics_schema
- **Art:** json_dataset
- **Ziel:** mixed
- **Sprachen:** JSON
- **Zweck:** Strukturdefinition für *rollout_metrics.json* zur Erfassung der sogenannten *Known* und *Unknown* Zustände.
- **Datenstruktur:** `rollout_metrics`
- Felder: `artefact_missing_count`, `parse_error_count`, `contract_violation_count`, `valid_reports_count`
### 3. input_validation_script
- **Art:** python_script
- **Ziel:** linux-userspace
- **Sprachen:** Python
- **Zweck:** Validiere beliebige JSON-Dateien gegen die im Projekt enthaltenen Schemata.
- **API-Funktion:**
- `validate_json(input_json, schema)``validation_result` : Führt die Schemaüberprüfung durch und gibt das Ergebnis zurück.
## Installation & Nutzung
Da das Projekt ein Python-Skript für die Validierung enthält, kann es direkt in einer Linux-Umgebung ausgeführt werden.
### Voraussetzungen
- Python ≥ 3.8
- Zugriff auf die Schemata (`.json`-Dateien)
### Installation
1. Repository klonen:
`git clone https://git.donau2space.de/Mika/drift_report_schema`
2. In das Projektverzeichnis wechseln.
3. Benötigte Pakete installieren (z.B. `jsonschema`).
### Nutzung
Beispielhafte Nutzung zur Prüfung einer Datei:
```
python3 input_validation_script.py <input.json> <schema.json>
```
Ergebnis: Gibt eine Validierungsbewertung und mögliche Fehlerhinweise aus.
## Typische Use-Cases
- Validierung von Produktionsdaten gegen ein fest definiertes Schema.
- Sicherstellung von Kompatibilität bei Versionswechseln.
- Identifikation von Formatabweichungen vor der Integration.
- Automatisches Testen von ML-Reports auf Byte-Stabilität.
## Struktur & mögliche Erweiterungen
- `/schemas/` Enthält *drift_report_schema.json* und *rollout_metrics_schema.json*
- `/scripts/` Python-Validierungsskript
- `/docs/` Konzeptionelle und Anwendungsdokumentation
Erweiterungen können sich auf zusätzliche Validierungslogik, neue Schema-Versionen oder Integration in automatisierte Deployment-Pipelines beziehen.
## Lizenz
Dieses Projekt steht unter der **MIT-Lizenz**.
*Die Inhalte wurden automatisiert per KI erstellt. Verwendung ausschließlich auf eigene Verantwortung.*