Skip to content

CE-08: Policy-Gate-Output-Validator einbauen (generische Begründungen erkennen, report-only) #571

Description

@mick-gsk

Kontext

Das Policy Gate verlangt eine konkrete, aufgabenbezogene Zulassungsbegründung. Generische Defaults wie:

  • Zulassungskriterium erfüllt: JA → Handlungsfähigkeit
  • Zulassungskriterium erfüllt: JA → Unsicherheit

ohne Bezug zur tatsächlichen Aufgabe sind laut drift-policy.instructions.md ungültig. Aktuell gibt es keinen Check, der solche generischen Ausgaben erkennt.

Ziel

scripts/validate_policy_gate_output.py analysiert Policy-Gate-Ausgaben (z.B. aus Agent-Outputs, Commit-Messages, Work-Artifacts) und meldet, wenn Zulassungsbegründungen zu generisch sind. Report-only in Phase 2.

Scope

Script (scripts/validate_policy_gate_output.py):

Input: Text (stdin oder Datei) mit Policy Gate Block
Erkennt Gate-Blöcke via Regex: ### Drift Policy Gate
Prüfregeln:

  1. Zulassungskriterium erfüllt: JA → <begründung> — Begründung muss ≥ 10 Zeichen sein
  2. Begründung darf nicht rein aus Liste generischer Keywords bestehen (Liste: Handlungsfähigkeit, Unsicherheit, Signal, Trend, Glaubwürdigkeit, Einführbarkeit) ohne zusätzlichen Aufgabenbezug
  3. Begründung: [ein Satz] — Satz muss ≥ 20 Zeichen sein und kein Platzhalter ([ein Satz]) mehr
  4. Aufgabe: [Kurzbeschreibung] — darf kein Platzhalter mehr sein

Output:

  • VALID: Gate konform oder WARN: <problem> in Gate aus <quelle>
  • Exit-Code 0 immer (report-only in Phase 2)

Test (tests/test_policy_gate_validation.py):

  • Mindestens 3 Positiv- und 3 Negativ-Szenarien

Akzeptanzkriterien

  • Script erkennt generische Zulassungsbegründungen korrekt
  • Tests grün mit ≥ 6 Szenarien
  • Exit-Code 0 immer, nur Report-Output
  • Integration als optionaler Check dokumentiert

Abhängigkeiten

Empfohlen nach CE-05 (damit applyTo-Struktur klar ist).

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions