{
"event": "PreToolUse",
"tool_name": "mcp__mcp-tasks__tasks_status",
"tool_input": {
"id": 273,
"status": "cancelled"
}
}
{
"tool_response": [
{
"type": "text",
"text": "{\n \"success\": true,\n \"task\": {\n \"id\": 273,\n \"uuid\": \"27bfd7b8-822d-4a50-86fe-99b6c0f6734a\",\n \"title\": \"Code-Intelligenz: Pre-Hook für automatischen Dependency-Context\",\n \"description\": \"## Ziel\\nPre-Hook der bei PHP-Edits automatisch Dependency-Informationen injiziert.\\n\\n## Voraussetzung\\n- Task #271 (MCP-Server mcp-code) muss abgeschlossen sein\\n\\n## Implementierung\\n\\n### Neues Modul: \/var\/www\/tools\/ki-protokoll\/claude-hook\/quality\/code_context.py\\n\\n```python\\n\\\"\\\"\\\"\\nCode Context Injection - Fügt Dependency-Info bei PHP-Edits hinzu.\\n\\nWird von hook_dispatcher.py aufgerufen.\\n\\\"\\\"\\\"\\n\\ndef get_context(file_path: str) -> dict | None:\\n \\\"\\\"\\\"\\n Ermittelt Dependency-Context für eine PHP-Datei.\\n \\n Returns:\\n None wenn keine relevanten Infos\\n dict mit context_message wenn relevant\\n \\\"\\\"\\\"\\n # 1. FQCN aus file_path ermitteln\\n # 2. Dependents aus DB abfragen\\n # 3. Context-Message generieren basierend auf Risiko\\n pass\\n\\ndef format_context_message(fqcn: str, dependents: list) -> str:\\n \\\"\\\"\\\"Formatiert Context-Message basierend auf Risiko-Level.\\\"\\\"\\\"\\n count = len(dependents)\\n \\n if count == 0:\\n return None # Kein Context nötig\\n \\n if count <= 3:\\n return f\\\"ℹ️ {fqcn} wird von {count} Dateien genutzt.\\\"\\n \\n if count <= 10:\\n names = \\\", \\\".join(d[\\\"file_name\\\"] for d in dependents[:5])\\n return f\\\"⚠️ {fqcn} hat {count} Dependents: {names}...\\\"\\n \\n return f\\\"🛑 {fqcn} hat {count} Dependents. Impact-Analyse empfohlen.\\\"\\n```\\n\\n### Anpassung hook_dispatcher.py\\n\\nNeuer Hook-Typ: `context` (neben `pre` und `post`)\\n- Wird bei Edit\/Write auf PHP aufgerufen\\n- Gibt Context-Info zurück (kein Block)\\n- Format: `{\\\"context\\\": \\\"message\\\"}` oder `{}`\\n\\n### Integration in Claude Code Settings\\n\\n```json\\n{\\n \\\"hooks\\\": {\\n \\\"PreToolUse\\\": [\\n {\\n \\\"matcher\\\": {\\\"tool_name\\\": \\\"Edit|Write\\\"},\\n \\\"command\\\": \\\"\/var\/www\/tools\/ki-protokoll\/claude-hook\/hook_dispatcher.py context\\\"\\n }\\n ]\\n }\\n}\\n```\\n\\n## Qualitätskriterien\\n- [ ] Kein Block, nur Info-Injection\\n- [ ] Performance: Max 100ms für DB-Query\\n- [ ] Graceful Degradation bei DB-Fehler\\n- [ ] Logging der Context-Injections\\n- [ ] Risiko-Eskalation implementiert\\n\\n## Abhängigkeiten\\n- Task #271 (MCP-Server mcp-code)\",\n \"type\": \"ai_task\",\n \"status\": \"cancelled\",\n \"created_by\": \"mcp-tasks\",\n \"created_by_type\": \"ai\",\n \"parent_task_id\": null,\n \"due_date\": null,\n \"created_at\": \"2025-12-23T16:13:13.012515\",\n \"updated_at\": \"2025-12-23T16:18:25.918353\",\n \"completed_at\": null,\n \"metadata\": {}\n },\n \"message\": \"Task #273 status changed: pending -> cancelled\"\n}"
}
]
}