Validator
Der AIMO Validator stellt sicher, dass Evidence Packs und zugehörige Artefakte den AIMO Standard-Schemas und -Anforderungen entsprechen.
Siehe auch: Human Oversight Protocol — Verantwortungsgrenze für maschinelle vs. menschliche Überprüfung.
Validator in der Praxis
Für einen 30-Sekunden-Schnellstart (Installation, Ausführung, Ausgabe interpretieren) siehe Validator-Hub.
Validator MVP-Anforderungen
Der minimale viable Validator MUSS die folgenden Prüfungen durchführen:
1. Erforderliche-Feld-Validierung
Prüfen, dass alle Pflichtfelder vorhanden sind:
| Artefakt | Erforderliche Felder |
|---|---|
| Evidence Pack Manifest | pack_id, pack_version, taxonomy_version, created_date, last_updated, codes, evidence_files |
| Codes-Objekt | FS, UC, DT, CH, IM, RS, EV (OB optional) |
| Evidence-Datei-Eintrag | file_id (EP-01..EP-07), filename, title (ev_type / ev_codes optional) |
2. Dimensions-Code-Validierung
Prüfen, dass jede erforderliche Dimension mindestens einen Code hat:
| Dimension | Anforderung |
|---|---|
| FS (Funktionaler Scope) | Genau 1 Code |
| UC (Anwendungsfall-Klasse) | Mindestens 1 Code |
| DT (Datentyp) | Mindestens 1 Code |
| CH (Kanal) | Mindestens 1 Code |
| IM (Integrationsmodus) | Genau 1 Code |
| RS (Risikooberfläche) | Mindestens 1 Code |
| OB (Ergebnis / Nutzen) | Optional (0 oder mehr) |
| LG (Log-/Ereignistyp) | Mindestens 1 Code |
3. Dictionary-Existenzprüfung
Validieren, dass alle Codes im Taxonomie-Dictionary existieren:
- Taxonomie-Dictionary für die angegebene
taxonomy_versionladen - Verifizieren, dass jeder Code im Manifest im Dictionary existiert
- Ungültige Codes mit ihrer Dimension und ihrem Wert melden
4. Code-Format-Validierung
Prüfen, dass alle Codes dem erwarteten Format entsprechen:
^(FS|UC|DT|CH|IM|RS|OB|LG)-\d{3}$
5. Schema-Validierung
Gegen JSON Schemas validieren:
| Schema | Zweck |
|---|---|
evidence_pack_manifest.schema.json |
Evidence Pack-Manifeste |
taxonomy_pack.schema.json |
Taxonomie-Pack-Definitionen |
changelog.schema.json |
Changelog-Einträge |
Validierungsregeln
Regel: Erforderliche Dimensionen
rule_id: required_dimensions
description: Alle erforderlichen Dimensionen müssen mindestens einen Code haben
severity: error
check: |
- FS: genau 1
- UC: mindestens 1
- DT: mindestens 1
- CH: mindestens 1
- IM: genau 1
- RS: mindestens 1
- LG: mindestens 1
Regel: Gültige Codes
rule_id: valid_codes
description: Alle Codes müssen im Taxonomie-Dictionary existieren
severity: error
check: |
Für jeden Code in manifest.codes:
- Code existiert im Dictionary für angegebene taxonomy_version
- Code-Status ist 'active' (Warnung wenn 'deprecated')
Regel: Code-Format
rule_id: code_format
description: Alle Codes müssen dem Standard-Format entsprechen
severity: error
pattern: "^(FS|UC|DT|CH|IM|RS|OB|LG)-\\d{3}$"
Regel: Versions-Format
rule_id: version_format
description: Versionen müssen gültiges SemVer sein
severity: error
pattern: "^\\d+\\.\\d+\\.\\d+$"
fields:
- pack_version
- taxonomy_version
Fehlerausgabe-Format
Validierungsfehler werden im folgenden Format gemeldet:
<pfad>: <schweregrad>: <nachricht>
Beispiele:
codes.FS: error: Erforderliche Dimension 'FS' hat keine Codes
codes.UC[0]: error: Code 'UC-999' existiert nicht im Dictionary v0.1.0
pack_version: error: Ungültiges Versionsformat 'v1.0' (erwartet SemVer)
codes.RS[1]: warning: Code 'RS-002' ist veraltet in v0.2.0
Was der Validator NICHT prüft
Der Validator konzentriert sich auf strukturelle Konformität, nicht Inhaltsqualität:
| Aspekt | Grund |
|---|---|
| Inhaltsgenauigkeit | Validator prüft Struktur, nicht Bedeutung |
| Evidence-Vollständigkeit | Templates sind Anleitungen, keine erzwungenen Formate |
| Querverweisauflösung | Dateiexistenz wird nicht verifiziert |
| Zeitstempel-Gültigkeit | ISO-8601 wird nicht strikt validiert |
| ID-Eindeutigkeit | Derzeit nicht durchgesetzt |
| Integritäts-Hashes | Anwenderverantwortung |
Referenzimplementierung
Eine Referenzimplementierung wird in Python bereitgestellt:
validator/src/validate.py
Verwendung
python validator/src/validate.py <manifest.json>
Beispielausgabe
Validating: evidence_pack_manifest.json
Taxonomy version: 0.1.0
Checking required dimensions...
FS: OK (1 code)
UC: OK (3 codes)
DT: OK (1 code)
CH: OK (1 code)
IM: OK (1 code)
RS: OK (3 codes)
OB: OK (2 codes)
LG: OK (7 codes)
Checking code validity...
All codes valid.
Validation: PASSED
Versionierungsrichtlinie
Validator-Regeln folgen SemVer:
- MAJOR: Breaking-Regeländerungen (neue erforderliche Prüfungen, die bestehende gültige Packs fehlschlagen lassen)
- MINOR: Neue optionale Prüfungen, Warnungen oder informative Nachrichten
- PATCH: Bug-Fixes, die Validierungsergebnisse nicht ändern
Schema-Referenzen
| Schema | Speicherort |
|---|---|
| Evidence Pack Manifest | source_pack/04_evidence_pack/schemas/evidence_pack_manifest.schema.json |
| Taxonomy Pack | source_pack/03_taxonomy/schemas/taxonomy_pack.schema.json |
| Changelog | source_pack/03_taxonomy/schemas/changelog.schema.json |
Referenzen
- Taxonomie - Dimensionsdefinitionen
- Codes - Code-Format
- Dictionary - Code-Dictionary
- Validator-Regeln - Vollständige Regeldokumentation