Implementation Gate (G4)

Ein Koch probiert sein Gericht, bevor er es serviert. Das Implementation Gate ist dieser Moment im Entwicklungsprozess - es prüft, ob der Code tatsächlich das tut, was er soll, bevor er zum Review geht.

Nach dem Bauen kommt das Prüfen

Das Implementation Gate (G4) steht nach der Implementierungsphase. Hier wird geprüft: Funktioniert der Code? Sind alle Tests grün? Ist die Dokumentation vollständig? Nur was diese Prüfungen besteht, geht weiter zum Code Review.

Vollständiges Beispiel

# Gate: G4_IMPLEMENTATION
# Position: Nach Phase 6 (Implementation), vor Phase 7 (Review)

gate:
  id: "G4_IMPLEMENTATION"
  name: "Implementation Gate"
  description: "Prüft die Qualität und Vollständigkeit der Implementierung"
  position:
    after_phase: 6  # Implementation
    before_phase: 7  # Review

  # Prädikate
  predicates:
    required:
      - id: "has_tests_passed"
        description: "Alle Tests sind grün"
        severity: "critical"

      - id: "has_documentation"
        description: "Code ist dokumentiert"
        severity: "high"

      - id: "code_compiles"
        description: "Code kompiliert ohne Fehler"
        severity: "critical"

      - id: "no_linting_errors"
        description: "Keine Linting-Fehler"
        severity: "medium"

    conditional:
      - id: "meets_coverage_threshold"
        condition: "change_class != 'trivial'"
        threshold: 80

      - id: "has_integration_tests"
        condition: "change_class IN ('normal', 'critical')"

      - id: "has_performance_tests"
        condition: "change_class == 'critical'"

  # Automatische Checks
  automated_checks:
    - name: "PHPUnit"
      command: "vendor/bin/phpunit"
      timeout_seconds: 300

    - name: "PHPStan"
      command: "vendor/bin/phpstan analyse"
      level: 8

    - name: "PHP CS Fixer"
      command: "vendor/bin/php-cs-fixer fix --dry-run"

  decision:
    pass_condition: "ALL required PASS AND ALL conditional (where applicable) PASS"

    on_pass:
      action: "transition_to_phase_7"
      create_review_request: true

    on_fail:
      action: "return_to_phase_6"
      assignee: "original_implementer"

Gate-Prüfung in der Praxis

# Gate-Prüfung G4_IMPLEMENTATION
gate_check:
  gate_id: "G4_IMPLEMENTATION"
  change_id: "CHG-2024-0048"
  change_class: "normal"
  checked_at: "2024-01-15T16:30:00Z"

  automated_results:
    - check: "PHPUnit"
      passed: true
      details:
        tests: 312
        assertions: 1247
        failures: 0
        errors: 0
        time: "14.32s"
        coverage: 87.4

    - check: "PHPStan"
      passed: true
      details:
        level: 8
        errors: 0
        files_analysed: 142

    - check: "PHP CS Fixer"
      passed: true
      details:
        files_checked: 142
        issues: 0

  predicate_results:
    - predicate_id: "has_tests_passed"
      passed: true

    - predicate_id: "has_documentation"
      passed: true
      details:
        docblock_coverage: "94%"
        readme_updated: true

    - predicate_id: "meets_coverage_threshold"
      passed: true
      details:
        required: 80
        actual: 87.4

    - predicate_id: "has_integration_tests"
      passed: true
      details:
        integration_tests: 23
        all_passed: true

  verdict: "PASS"
  review_request_created: "PR-2024-0048"
  next_phase: 7

Warum ist das wichtig?

Das Implementation Gate ist der Qualitätsfilter vor dem menschlichen Review. Es stellt sicher, dass Reviewer keine Zeit mit offensichtlich fehlerhaftem Code verschwenden. Automatische Prüfungen fangen die meisten Probleme ab.

Im Mensch + KI-Code Prozess: Das Implementation Gate (G4) ist nach Phase 6 obligatorisch. Es kombiniert automatische Checks (Tests, Linting, Static Analysis) mit Prädikaten. Bei Change Class "Trivial" sind weniger Prüfungen erforderlich.