{
"event": "PreToolUse",
"tool_name": "mcp__mcp-contracts__contracts_get",
"tool_input": {
"id": 5
}
}
{
"tool_response": [
{
"type": "text",
"text": "{\n \"success\": true,\n \"contract\": {\n \"id\": 5,\n \"uuid\": \"d5b5cd24-8128-41b7-8d93-f94710a8ea9d\",\n \"name\": \"layered-architecture-pruefung_v1.0\",\n \"version\": \"2.0\",\n \"status\": \"active\",\n \"yaml_content\": \"contract:\\n name: layered-architecture\\n version: \\\"2.0\\\"\\n status: active\\n description: |\\n Validierung der Schichtenarchitektur (MVC in \/src, MVP in \/app).\\n Migriert auf Meta-Schema v1.0 am 22.12.2025.\\n\\n created: \\\"2025-12-20\\\"\\n author: system_generated_under_supervision\\n\\n scope:\\n paths:\\n - \\\"\/src\/**\/*.php\\\"\\n - \\\"\/app\/**\/*.php\\\"\\n excludes:\\n - \\\"\/tests\/**\\\"\\n - \\\"\/scripts\/**\\\"\\n - \\\"\/public\/**\\\"\\n - \\\"\/config\/**\\\"\\n - \\\"\/src\/View\/docs\/**\\\"\\n\\n rules:\\n - id: directory-structure\\n check_type: structure_check\\n required_dirs:\\n - \\\"\/src\/Domain\\\"\\n - \\\"\/src\/UseCases\\\"\\n - \\\"\/src\/Infrastructure\\\"\\n - \\\"\/src\/Controller\\\"\\n - \\\"\/src\/View\\\"\\n severity: critical\\n description: \\\"Erwartete Verzeichnisstruktur muss existieren\\\"\\n\\n - id: no-app-imports-in-src\\n check_type: dependency_check\\n forbidden_imports:\\n - \\\"App\\\\\\\\Presenter\\\"\\n - \\\"App\\\\\\\\View\\\"\\n in_files: \\\"\/src\/**\/*.php\\\"\\n severity: critical\\n description: \\\"src darf nicht von app abhängen\\\"\\n\\n - id: no-infrastructure-in-domain\\n check_type: dependency_check\\n forbidden_imports:\\n - \\\"Infrastructure\\\\\\\\\\\"\\n in_files: \\\"Domain\/**\/*.php\\\"\\n severity: critical\\n description: \\\"Domain darf nicht von Infrastructure abhängen\\\"\\n\\n - id: no-superglobals-in-domain\\n check_type: forbidden_pattern\\n patterns:\\n - \\\"$_GET\\\"\\n - \\\"$_POST\\\"\\n - \\\"$_SESSION\\\"\\n - \\\"$_REQUEST\\\"\\n in_files: \\\"Domain\/**\/*.php\\\"\\n severity: critical\\n description: \\\"Domain darf keine Superglobals verwenden\\\"\\n\\n - id: no-sql-in-presenter\\n check_type: forbidden_pattern\\n patterns:\\n - \\\"->query(\\\"\\n - \\\"->prepare(\\\"\\n - \\\"new PDO\\\"\\n in_files: \\\"Presenter\/**\/*.php\\\"\\n severity: critical\\n description: \\\"Presenter darf kein direktes SQL enthalten\\\"\\n\\n - id: presenter-in-app\\n check_type: forbidden_pattern\\n patterns:\\n - \\\"class.*Presenter\\\"\\n in_files: \\\"\/src\/**\/*.php\\\"\\n severity: critical\\n description: \\\"Presenter gehören nach \/app\/Presenter, nicht nach \/src\\\"\\n\\n - id: controller-not-in-app\\n check_type: forbidden_pattern\\n patterns:\\n - \\\"class.*Controller\\\"\\n in_files: \\\"\/app\/**\/*.php\\\"\\n severity: critical\\n description: \\\"Controller gehören nach \/src\/Controller, nicht nach \/app\\\"\\n\\n enforcement:\\n on_violation: block\\n\\n pass_threshold:\\n critical_max: 0\\n major_max: 2\\n minor_max: 5\\n\",\n \"scope_description\": \"\",\n \"created_at\": \"2025-12-20T10:59:58\",\n \"created_by\": \"migration\",\n \"updated_at\": \"2025-12-22T09:42:12\"\n }\n}"
}
]
}