Protokoll #15293

ID15293
Zeitstempel2025-12-25 16:12:34.641245
Clientroot
IP145.224.72.140
Modellclaude-sonnet-4-20250514
Statuscompleted
Tokens1,097 (Input: 30, Output: 1,067)
Dauer85 ms
Request-Zeit2025-12-25 16:12:34.641245
Response-Zeit2025-12-25 16:12:34.726352

Request

{
    "event": "PreToolUse",
    "tool_name": "mcp__mcp-contracts__contracts_get",
    "tool_input": {
        "name": "code-quality-standards"
    }
}

Response

{
    "tool_response": [
        {
            "type": "text",
            "text": "{\n  \"success\": true,\n  \"contract\": {\n    \"id\": 9,\n    \"uuid\": \"e5192b8b-7dc0-4a9d-9c98-a3ba37b7f1bc\",\n    \"name\": \"code-quality-standards\",\n    \"version\": \"2.1\",\n    \"status\": \"active\",\n    \"yaml_content\": \"contract:\\n  name: code-quality-standards\\n  version: \\\"2.1\\\"\\n  status: active\\n  description: |\\n    Automatisch validierbare Code-Qualitätsstandards für das Campus-Projekt.\\n    Erstellt im Rahmen des Code-Refactoring vom 22.12.2025.\\n    Migriert auf Meta-Schema v1.0 am 22.12.2025.\\n    v2.1: DI-Prinzip hinzugefügt (25.12.2025)\\n\\n  created: \\\"2025-12-22\\\"\\n  author: claude\\n\\n  scope:\\n    paths:\\n      - \\\"\/src\/**\/*.php\\\"\\n    excludes:\\n      - \\\"\/src\/View\/**\\\"\\n\\n  rules:\\n    - id: no-god-class\\n      check_type: line_count\\n      pattern: \\\"Controller\/*.php\\\"\\n      max_lines: 500\\n      severity: major\\n      description: \\\"Controller dürfen max 500 LOC haben\\\"\\n\\n    - id: no-sql-in-controller\\n      check_type: forbidden_pattern\\n      patterns:\\n        - \\\"->query(\\\"\\n        - \\\"->prepare(\\\"\\n        - \\\"new PDO\\\"\\n        - \\\"$this->db\\\"\\n      in_files: \\\"Controller\/*.php\\\"\\n      exclude_files:\\n        - \\\"Framework\/\\\"\\n      severity: critical\\n      description: \\\"Controller dürfen keine direkten SQL-Queries enthalten\\\"\\n\\n    - id: no-html-in-controller\\n      check_type: forbidden_pattern\\n      patterns:\\n        - \\\"echo '<\\\"\\n        - 'echo \\\"<'\\n      in_files: \\\"Controller\/*.php\\\"\\n      severity: minor\\n      description: \\\"Controller dürfen kein HTML direkt ausgeben\\\"\\n\\n    - id: use-notfound-method\\n      check_type: forbidden_pattern\\n      patterns:\\n        - \\\"http_response_code(404)\\\"\\n      in_files: \\\"Controller\/*.php\\\"\\n      severity: major\\n      description: \\\"Controller müssen notFound() statt http_response_code(404) nutzen\\\"\\n\\n    - id: use-view-method\\n      check_type: required_pattern\\n      patterns:\\n        - \\\"$this->view(\\\"\\n      in_files: \\\"Controller\/*.php\\\"\\n      severity: info\\n      description: \\\"Controller sollten $this->view() für Rendering nutzen\\\"\\n\\n    - id: typed-properties\\n      check_type: forbidden_pattern\\n      patterns:\\n        - \\\"private $\\\"\\n        - \\\"protected $\\\"\\n        - \\\"public $\\\"\\n      in_files: \\\"**\/*.php\\\"\\n      exclude_files:\\n        - \\\"View\/\\\"\\n      severity: minor\\n      description: \\\"Klassen-Properties sollten PHP 8+ Typen haben\\\"\\n\\n    - id: no-static-facades\\n      check_type: forbidden_pattern\\n      patterns:\\n        - \\\"ModelConfig::\\\"\\n        - \\\"::getInstance()\\\"\\n      in_files: \\\"Controller\/*.php\\\"\\n      severity: critical\\n      description: \\\"Controller müssen DI nutzen, keine Static Facades oder Singletons\\\"\\n\\n    - id: di-constructor-injection\\n      check_type: required_pattern\\n      patterns:\\n        - \\\"public function __construct(\\\"\\n      in_files: \\\"Controller\/*.php\\\"\\n      severity: major\\n      description: \\\"Controller müssen Dependencies per Constructor Injection erhalten\\\"\\n\\n  principles:\\n    - id: DI-001\\n      name: \\\"Dependency Injection statt Static Facades\\\"\\n      description: |\\n        Alle Dependencies müssen per Constructor Injection bereitgestellt werden.\\n        Verboten sind:\\n        - Static Facades (z.B. ModelConfig::getAll())\\n        - Singleton-Pattern (::getInstance())\\n        - Service Locator Pattern\\n        Grund: Testbarkeit, explizite Dependencies, Container-kontrollierter Lifecycle.\\n\\n  enforcement:\\n    on_violation: block\\n    hook: \\\"\/var\/www\/tools\/ki-protokoll\/claude-hook\/architecture_guard.py\\\"\\n\\n  pass_threshold:\\n    critical_max: 0\\n    major_max: 2\\n    minor_max: 5\\n\\n  metrics:\\n    target_phpstan_level: 7\\n    max_controller_loc: 500\\n    max_method_loc: 50\\n\",\n    \"scope_description\": \"Code Quality Standards für src\/ Verzeichnis\",\n    \"created_at\": \"2025-12-22T02:20:35\",\n    \"created_by\": \"claude\",\n    \"updated_at\": \"2025-12-25T13:26:37\"\n  }\n}"
        }
    ]
}
← Vorheriger Zur Liste Nächster →