{
"event": "PreToolUse",
"tool_name": "Read",
"tool_input": {
"file_path": "\/var\/www\/dev.campus.systemische-tools.de\/docs\/codequality\/ist-soll-analyse.md",
"offset": 168,
"limit": 50
}
}
{
"tool_response": {
"type": "text",
"file": {
"filePath": "\/var\/www\/dev.campus.systemische-tools.de\/docs\/codequality\/ist-soll-analyse.md",
"content": "| W14.2 | Filesystem ohne Cleanup | - | Test Isolation |\n| W14.3 | Global State Modifikation | - | Test Isolation |\n| W14.4 | Hardcoded Pfade | - | Test Isolation |\n| W14.5 | sleep() in Tests | - | Test Isolation |\n| W14.6 | Viele @depends | > 2 | Test Isolation |\n| W14.7 | Test ohne Assertions | - | Test Isolation |\n\n#### Externe Checks (Bash-Scripts)\n\n| Script | Prüft | Prinzip |\n|--------|-------|---------|\n| php-check.sh | PHPStan, CS-Fixer, Semgrep, Audit | Deterministic, Fail Fast |\n| contract-check.sh | View-Structure, Layers, Docs | Separation of Concerns |\n| di-check.sh | UseCase Dependencies | DIP |\n| interface-check.sh | Interface-Implementierung | Clean Architecture |\n\n---\n\n## 2. Prinzipien-Abdeckung\n\n### 2.1 Mapping: Richtlinien → Kontrollen\n\n| # | Prinzip | Abdeckung | Kontrolle | Status |\n|---|---------|-----------|-----------|--------|\n| 1 | **Explicit is Better than Implicit** | **90%** | H1, P3.1-P3.4, W3.1, W3.3 | ✅ Gut |\n| 2 | **Deterministic Behavior** | **70%** | P8.1-P8.9 (time, rand, global) | ✅ Gut |\n| 3 | **DRY** | **50%** | P7.x, W5.1, W5.2, Constants | ⚠️ Teilweise |\n| 4 | **Separation of Concerns** | **80%** | H2-H5, P2.x, P6.x, MVC-Checks | ✅ Gut |\n| 5 | **Clean Architecture** | **70%** | H2, P6.1, P6.2, Layer-Checks | ✅ Gut |\n| 6 | **Stable Dependencies** | **60%** | W1.4, P6.x, DI-Check | ⚠️ Teilweise |\n| 7 | **Fail Fast** | **80%** | W8.1-W8.5 (catch, @-operator) | ✅ Gut |\n| 8 | **Fail Safe** | **40%** | HTMX-C4, W8.5 (destructor) | ⚠️ Teilweise |\n| 9 | **KISS** | **70%** | P1.2, W1.x Metriken | ✅ Gut |\n| 10 | **Make Trade-offs Explicit** | **10%** | Nur via @responsibility | ❌ Lücke |\n| 11 | **SRP** | **80%** | P1.1, P1.2, W1.1-W1.5 | ✅ Gut |\n| 12 | **YAGNI** | **0%** | Nicht automatisierbar | ❌ Design-Review |\n| 13 | **Cohesion over Coupling** | **50%** | W1.3, W1.4, W6.2 | ⚠️ Teilweise |\n| 14 | **Test Isolation** | **80%** | P14.1-P14.6, W14.1-W14.7 | ✅ Gut |\n| 15 | **Least Surprise Principle** | **60%** | W15.1-W15.6 (getter, naming) | ⚠️ Teilweise |\n\n### 2.2 Zusammenfassung (nach Phase 1+2)\n\n| Kategorie | Anzahl | Anteil |\n|-----------|--------|--------|\n| ✅ Gut abgedeckt (≥70%) | 10 | 67% |\n| ⚠️ Teilweise abgedeckt (30-69%) | 2 | 13% |\n| ❌ Nicht abgedeckt (<30%) | 3 | 20% |\n\n**Verbesserung durch Phase 1+2:** +4 Prinzipien in \"Gut abgedeckt\" Kategorie\n- Phase 1: Deterministic, Fail Fast, Least Surprise",
"numLines": 50,
"startLine": 168,
"totalLines": 508
}
}
}