Artifact Change Set
Ein Change Set ist wie ein Paket, das alles enthält, was sich ändern soll: Code, Tests, Migrationen, Dokumentation. Es ist das zentrale Artefakt der Implementierungsphase - die konkrete Antwort auf den Request.
Mehr als nur Code
Ein Change Set ist nicht einfach ein Git-Commit. Es ist eine strukturierte Sammlung aller Änderungen, die zusammen deployed werden müssen, um den Request zu erfüllen. Es enthält auch Metadaten, die für Review und Deployment wichtig sind.
Vollständiges Beispiel
# Artifact: Change Set
# Erstellt in: Phase 6 (Implementation)
artifact:
type: "change_set"
version: "1.0"
# Identifikation
metadata:
id: "CHG-2024-0058"
request_id: "REQ-2024-0057" # Verknüpfung zum Request
created_at: "2024-01-15T14:30:00Z"
created_by: "claude-code"
status: "ready_for_review"
# Zusammenfassung
summary:
title: "Implement Google OAuth2 Login"
description: "Adds Google Sign-In button and OAuth2 flow"
change_class: "normal"
# Code-Änderungen
code_changes:
repository: "company/auth-service"
branch: "feature/google-oauth"
base_branch: "main"
commits:
- sha: "a1b2c3d4"
message: "feat: Add Google OAuth2 service"
files_changed: 3
- sha: "e5f6g7h8"
message: "feat: Add Google login button component"
files_changed: 2
- sha: "i9j0k1l2"
message: "test: Add OAuth2 flow tests"
files_changed: 2
# Statistiken
stats:
files_added: 5
files_modified: 8
files_deleted: 0
lines_added: 342
lines_removed: 12
# Betroffene Dateien nach Kategorie
files:
source:
- path: "src/Services/OAuth/GoogleOAuthService.php"
action: "added"
lines: 145
- path: "src/Controllers/AuthController.php"
action: "modified"
diff_lines: 32
tests:
- path: "tests/Unit/OAuth/GoogleOAuthServiceTest.php"
action: "added"
test_count: 12
- path: "tests/Integration/OAuthFlowTest.php"
action: "added"
test_count: 5
frontend:
- path: "resources/js/components/GoogleLoginButton.vue"
action: "added"
config:
- path: "config/services.php"
action: "modified"
diff_lines: 8
docs:
- path: "docs/api/oauth.md"
action: "added"
# Tests
tests:
unit:
total: 12
passed: 12
coverage: 94.2
integration:
total: 5
passed: 5
e2e:
total: 3
passed: 3
# Dependencies
dependencies:
added:
- name: "league/oauth2-google"
version: "^3.0"
reason: "Google OAuth2 client"
updated: []
removed: []
# Datenbank-Migrationen
migrations:
- file: "2024_01_15_143000_add_google_id_to_users.php"
action: "add_column"
table: "users"
column: "google_id"
reversible: true
# Konfigurationsänderungen
config_changes:
- file: "config/services.php"
key: "google.client_id"
type: "env_reference"
env_var: "GOOGLE_CLIENT_ID"
- file: "config/services.php"
key: "google.client_secret"
type: "env_reference"
env_var: "GOOGLE_CLIENT_SECRET"
# Deployment-Hinweise
deployment_notes:
pre_deployment:
- "Set GOOGLE_CLIENT_ID in .env"
- "Set GOOGLE_CLIENT_SECRET in .env"
- "Run migrations"
post_deployment:
- "Verify OAuth2 callback URL in Google Console"
- "Monitor auth error logs"
rollback_steps:
- "Revert to previous release"
- "Run down migration"
- "Remove env variables (optional)"
Change Set Validierung
# Automatische Validierung
change_set_validation:
change_id: "CHG-2024-0058"
validated_at: "2024-01-15T17:00:00Z"
checks:
- check: "all_tests_pass"
passed: true
details: "20/20 tests passed"
- check: "coverage_threshold"
passed: true
details: "94.2% > 80% required"
- check: "no_security_issues"
passed: true
details: "0 findings in SAST scan"
- check: "migrations_reversible"
passed: true
details: "All migrations have down() method"
- check: "docs_updated"
passed: true
details: "API documentation added"
- check: "no_hardcoded_secrets"
passed: true
details: "Credentials use env variables"
result: "VALID"
ready_for_review: true
Warum ist das wichtig?
Das Change Set macht Änderungen atomar und nachvollziehbar. Alles, was zusammengehört, ist zusammen. Reviewer sehen nicht nur Code, sondern auch Tests, Migrationen und Deployment-Hinweise. Rollbacks sind möglich, weil alles dokumentiert ist.
Im Mensch + KI-Code Prozess: Das Change Set wird in Phase 6 erstellt und am Gate G4 validiert. Es enthält alles, was für Review, Testing und Deployment nötig ist. Die KI erstellt das Change Set basierend auf dem Request und den Contracts.