Protokoll #4274
| ID | 4274 |
|---|---|
| Zeitstempel | 2025-12-22 09:43:02.989182 |
| Client | root |
| IP | Warning: Undefined array key "request_ip" in /var/www/dev.campus.systemische-tools.de/src/View/protokoll/show.php on line 13 Deprecated: htmlspecialchars(): Passing null to parameter #1 ($string) of type string is deprecated in /var/www/dev.campus.systemische-tools.de/src/View/protokoll/show.php on line 13 |
| Modell | claude-sonnet-4-20250514 |
| Status | completed |
| Tokens | 1,299 (Input: 0, Output: 0) |
| Dauer | 275 ms |
| Request-Zeit | Warning: Undefined array key "request_timestamp" in /var/www/dev.campus.systemische-tools.de/src/View/protokoll/show.php on line 18 |
| Response-Zeit | - |
Warning: Undefined array key "error_message" in /var/www/dev.campus.systemische-tools.de/src/View/protokoll/show.php on line 22
Request
{
"event": "PreToolUse",
"tool_name": "mcp__mcp-contracts__contracts_update",
"tool_input": {
"id": 6,
"new_version": "2.0",
"change_description": "Migration auf Meta-Schema v1.0: scope.paths als Array, rules extrahiert",
"yaml_content": "contract:\n name: python-pipeline\n version: \"2.0\"\n status: active\n description: |\n Code-Qualitätsstandards für Python-Code in der KI-Pipeline.\n Migriert auf Meta-Schema v1.0 am 22.12.2025.\n\n created: \"2025-12-20\"\n author: migration\n\n scope:\n paths:\n - \"\/opt\/scripts\/pipeline\/**\/*.py\"\n excludes:\n - \"\/opt\/scripts\/pipeline\/venv\/**\"\n - \"**\/__pycache__\/**\"\n\n rules:\n - id: type-hints-required\n check_type: custom\n script: \"\/opt\/scripts\/pipeline\/venv\/bin\/mypy\"\n args: [\"--strict\"]\n severity: major\n description: \"Type Hints sind erforderlich\"\n\n - id: no-bare-except\n check_type: forbidden_pattern\n patterns:\n - \"except:\"\n in_files: \"**\/*.py\"\n severity: critical\n description: \"Bare except ist verboten\"\n\n - id: no-eval\n check_type: forbidden_pattern\n patterns:\n - \"eval(\"\n - \"exec(\"\n in_files: \"**\/*.py\"\n severity: critical\n description: \"eval und exec sind verboten (Security)\"\n\n - id: no-hardcoded-credentials\n check_type: forbidden_pattern\n patterns:\n - 'password = \"'\n - \"password = '\"\n - 'secret = \"'\n - \"secret = '\"\n in_files: \"**\/*.py\"\n severity: critical\n description: \"Keine hardcoded Credentials\"\n\n - id: no-sql-injection\n check_type: forbidden_pattern\n patterns:\n - 'f\"SELECT'\n - \"f'SELECT\"\n - 'f\"INSERT'\n - 'f\"UPDATE'\n - 'f\"DELETE'\n in_files: \"**\/*.py\"\n severity: critical\n description: \"Keine f-Strings für SQL - verwende Parameterized Queries\"\n\n - id: docstrings-required\n check_type: custom\n script: \"\/opt\/scripts\/pipeline\/venv\/bin\/ruff\"\n args: [\"check\", \"--select=D100,D101,D102,D103\"]\n severity: minor\n description: \"Docstrings für Module, Klassen und Funktionen\"\n\n enforcement:\n on_violation: block\n\n pass_threshold:\n critical_max: 0\n major_max: 2\n minor_max: 5\n",
"changed_by": "claude"
}
}
Response
{
"tool_response": [
{
"type": "text",
"text": "{\n \"success\": true,\n \"contract\": {\n \"id\": 6,\n \"uuid\": \"650a0a9e-e57c-4b01-a45b-f94fbc6d3f6c\",\n \"name\": \"python-pipeline-contract_v1.0\",\n \"version\": \"2.0\",\n \"status\": \"active\",\n \"yaml_content\": \"contract:\\n name: python-pipeline\\n version: \\\"2.0\\\"\\n status: active\\n description: |\\n Code-Qualitätsstandards für Python-Code in der KI-Pipeline.\\n Migriert auf Meta-Schema v1.0 am 22.12.2025.\\n\\n created: \\\"2025-12-20\\\"\\n author: migration\\n\\n scope:\\n paths:\\n - \\\"\/opt\/scripts\/pipeline\/**\/*.py\\\"\\n excludes:\\n - \\\"\/opt\/scripts\/pipeline\/venv\/**\\\"\\n - \\\"**\/__pycache__\/**\\\"\\n\\n rules:\\n - id: type-hints-required\\n check_type: custom\\n script: \\\"\/opt\/scripts\/pipeline\/venv\/bin\/mypy\\\"\\n args: [\\\"--strict\\\"]\\n severity: major\\n description: \\\"Type Hints sind erforderlich\\\"\\n\\n - id: no-bare-except\\n check_type: forbidden_pattern\\n patterns:\\n - \\\"except:\\\"\\n in_files: \\\"**\/*.py\\\"\\n severity: critical\\n description: \\\"Bare except ist verboten\\\"\\n\\n - id: no-eval\\n check_type: forbidden_pattern\\n patterns:\\n - \\\"eval(\\\"\\n - \\\"exec(\\\"\\n in_files: \\\"**\/*.py\\\"\\n severity: critical\\n description: \\\"eval und exec sind verboten (Security)\\\"\\n\\n - id: no-hardcoded-credentials\\n check_type: forbidden_pattern\\n patterns:\\n - 'password = \\\"'\\n - \\\"password = '\\\"\\n - 'secret = \\\"'\\n - \\\"secret = '\\\"\\n in_files: \\\"**\/*.py\\\"\\n severity: critical\\n description: \\\"Keine hardcoded Credentials\\\"\\n\\n - id: no-sql-injection\\n check_type: forbidden_pattern\\n patterns:\\n - 'f\\\"SELECT'\\n - \\\"f'SELECT\\\"\\n - 'f\\\"INSERT'\\n - 'f\\\"UPDATE'\\n - 'f\\\"DELETE'\\n in_files: \\\"**\/*.py\\\"\\n severity: critical\\n description: \\\"Keine f-Strings für SQL - verwende Parameterized Queries\\\"\\n\\n - id: docstrings-required\\n check_type: custom\\n script: \\\"\/opt\/scripts\/pipeline\/venv\/bin\/ruff\\\"\\n args: [\\\"check\\\", \\\"--select=D100,D101,D102,D103\\\"]\\n severity: minor\\n description: \\\"Docstrings für Module, Klassen und Funktionen\\\"\\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:43:03\"\n },\n \"message\": \"Contract updated to v2.0\"\n}"
}
]
}