critic-workflow

ID 10
UUID 50bef384-d8b7-4eb4-b5f1-556bb4934172
Version 1.0
Status active
Scope Systematischer Review-Workflow für Code-Änderungen
Erstellt 2025-12-22 22:21:53 von claude
Aktualisiert 2025-12-22 22:21:53

YAML-Inhalt

contract:
  name: critic-workflow
  version: "1.0"
  status: active
  description: |
    Definiert den systematischen Review-Prozess für Code-Änderungen.
    Stellt sicher, dass alle Contracts und Qualitätsstandards eingehalten werden.

  created: "2025-12-22"
  author: claude

  scope:
    paths:
      - "/src/**/*.php"
      - "/app/**/*.php"
      - "/opt/scripts/pipeline/**/*.py"
    excludes:
      - "/tests/**"
      - "**/venv/**"

  triggers:
    - event: pre_sync
      description: "Vor jedem Sync zu Production"
      required: true
      
    - event: post_major_change
      description: "Nach signifikanten Code-Änderungen"
      threshold_loc: 50
      
    - event: new_component
      description: "Bei neuem Controller, Service oder Repository"
      patterns:
        - "Controller/*.php"
        - "Application/*Service.php"
        - "Infrastructure/Persistence/*Repository.php"

  workflow:
    steps:
      - name: phpstan
        description: "Static Analysis mit PHPStan Level 7"
        command: "/opt/php-tools/vendor/bin/phpstan analyse"
        args: ["--level=7", "--no-progress"]
        on_fail: block
        severity: critical
        
      - name: php-cs-fixer
        description: "Code Style Check (PSR-12)"
        command: "/opt/php-tools/vendor/bin/php-cs-fixer check"
        args: ["--config=/opt/php-tools/.php-cs-fixer.php"]
        on_fail: warn
        severity: major
        auto_fix: true
        
      - name: contracts
        description: "Contract-Validierung aller aktiven Contracts"
        command: "/opt/scripts/contract-check.sh"
        on_fail: block
        severity: critical
        
      - name: semgrep
        description: "OWASP Security Scan"
        command: "/root/.local/bin/semgrep scan"
        args: ["--config=auto", "--severity=ERROR"]
        on_fail: warn
        severity: major
        
      - name: unit-tests
        description: "PHPUnit Tests"
        command: "/opt/php-tools/vendor/bin/phpunit"
        args: ["--configuration=/opt/php-tools/phpunit.xml"]
        on_fail: block
        severity: critical

  result_handling:
    critical:
      action: block
      create_task: true
      notify: true
      description: "Sync wird blockiert, Task wird erstellt"
      
    major:
      action: warn
      log: true
      description: "Warnung wird ausgegeben, Sync erlaubt"
      
    minor:
      action: log
      description: "Nur Logging, keine Aktion"

  enforcement:
    on_violation: block
    integration: "/opt/scripts/sync-dev-prod.sh"

  pass_threshold:
    critical_max: 0
    major_max: 3
    minor_max: 10

  metrics:
    track:
      - "violations_per_sync"
      - "auto_fixed_issues"
      - "blocked_syncs"
      - "time_to_fix"

Aktionen

Bearbeiten

← Zurück zur Übersicht