{
"event": "PreToolUse",
"tool_name": "mcp__mcp-tasks__tasks_status",
"tool_input": {
"id": 213,
"status": "in_progress"
}
}
{
"tool_response": [
{
"type": "text",
"text": "{\n \"success\": true,\n \"task\": {\n \"id\": 213,\n \"uuid\": \"ec332336-cc64-415f-a53b-4fb8361bde84\",\n \"title\": \"Architecture-Guard Hook implementieren\",\n \"description\": \"## Problem\\nAktuell gibt es nur einen Hook der direkte DB-Befehle blockiert:\\n- `\/var\/www\/tools\/ki-protokoll\/claude-hook\/block_direct_db.py`\\n\\nEs fehlt ein Hook der Architektur-Verletzungen VOR dem Schreiben erkennt.\\n\\n## Aufgabe\\nNeuen PreToolUse Hook erstellen der bei `Write` und `Edit` auf Controller-Dateien prüft:\\n\\n1. **LOC-Warnung**: Wenn Controller > 450 Zeilen → Warnung\\n2. **LOC-Block**: Wenn Controller > 500 Zeilen → Block\\n3. **PDO-Block**: Wenn `$this->db` oder `new PDO` in Controller → Block\\n4. **SQL-Block**: Wenn `->query(` oder `->prepare(` in Controller → Block\\n\\n## Dateien\\n- Neu: `\/var\/www\/tools\/ki-protokoll\/claude-hook\/architecture_guard.py`\\n- Update: Claude Code Hook-Konfiguration\\n\\n## Pseudo-Code\\n```python\\ndef check_controller_write(file_path: str, new_content: str) -> dict:\\n if \\\"Controller\\\" not in file_path:\\n return {\\\"allow\\\": True}\\n \\n lines = new_content.count('\\\\n')\\n if lines > 500:\\n return {\\\"block\\\": True, \\\"reason\\\": f\\\"Controller hat {lines} LOC (max 500)\\\"}\\n \\n if \\\"->query(\\\" in new_content or \\\"->prepare(\\\" in new_content:\\n return {\\\"block\\\": True, \\\"reason\\\": \\\"Controller darf kein direktes SQL\\\"}\\n \\n return {\\\"allow\\\": True}\\n```\\n\\n## Akzeptanzkriterien\\n- [ ] Hook blockiert Schreiben von Controller > 500 LOC\\n- [ ] Hook blockiert Einfügen von PDO\/SQL in Controller\\n- [ ] Hook gibt klare Fehlermeldung mit Lösungshinweis\",\n \"type\": \"ai_task\",\n \"status\": \"in_progress\",\n \"created_by\": \"mcp-tasks\",\n \"created_by_type\": \"ai\",\n \"parent_task_id\": 209,\n \"due_date\": null,\n \"created_at\": \"2025-12-22T09:31:18.877469\",\n \"updated_at\": \"2025-12-22T22:17:17.831908\",\n \"completed_at\": null,\n \"metadata\": {}\n },\n \"message\": \"Task #213 status changed: pending -> in_progress\"\n}"
}
]
}