{
"event": "PreToolUse",
"tool_name": "mcp__mcp-tasks__tasks_create",
"tool_input": {
"title": "Code-Intelligenz: Automatischer Code-Scan bei Dateiänderungen",
"description": "## Ziel\nCode-Analyse-DB automatisch aktuell halten wenn PHP-Dateien geändert werden.\n\n## Voraussetzung\n- Bestehende Code-Scan-Infrastruktur (CodeScanner, PhpFileParser)\n\n## Implementierung\n\n### Option A: Post-Hook (Empfohlen)\n\nNeues Modul: `\/var\/www\/tools\/ki-protokoll\/claude-hook\/quality\/code_scan_trigger.py`\n\n```python\n\"\"\"\nTriggert inkrementellen Code-Scan nach PHP-Änderungen.\n\"\"\"\n\ndef trigger_scan(file_path: str) -> None:\n \"\"\"\n Scannt einzelne Datei und aktualisiert DB.\n \n - Nur für geänderte Datei (nicht Full-Scan)\n - Async\/Background wenn möglich\n - Max 500ms Latenz\n \"\"\"\n pass\n```\n\n### Option B: Cron-Job (Fallback)\n\n```bash\n# \/etc\/cron.d\/code-scan\n*\/5 * * * * root \/opt\/scripts\/code-scan-incremental.sh\n```\n\nScript prüft mtime vs. scanned_at und scannt nur geänderte Dateien.\n\n### Option C: File-Watcher (inotify)\n\nSystemd-Service der auf Dateiänderungen reagiert.\nNur wenn Performance kritisch ist.\n\n### Inkrementeller Scanner\n\nErweiterung CodeScanner:\n```php\npublic function scanFile(string $filePath, string $triggeredBy = 'hook'): array\n{\n \/\/ 1. Einzelne Datei parsen\n \/\/ 2. Alte Einträge für diese Datei löschen\n \/\/ 3. Neue Einträge einfügen\n \/\/ 4. Dependencies aktualisieren\n}\n```\n\n## Qualitätskriterien\n- [ ] Inkrementell (nicht Full-Scan bei jeder Änderung)\n- [ ] Max 500ms Latenz für einzelne Datei\n- [ ] Keine Race-Conditions bei parallelen Änderungen\n- [ ] Logging wann\/warum gescannt wurde\n- [ ] Fehlertoleranz (defekte Datei crasht nicht den Hook)\n\n## Abhängigkeiten\n- Keine (nutzt bestehende Infrastruktur)",
"type": "ai_task"
}
}
{
"tool_response": [
{
"type": "text",
"text": "{\n \"success\": true,\n \"task\": {\n \"id\": 276,\n \"uuid\": \"39e62a1c-227e-4dc3-adf3-7104b0ebe1f0\",\n \"title\": \"Code-Intelligenz: Automatischer Code-Scan bei Dateiänderungen\",\n \"description\": \"## Ziel\\nCode-Analyse-DB automatisch aktuell halten wenn PHP-Dateien geändert werden.\\n\\n## Voraussetzung\\n- Bestehende Code-Scan-Infrastruktur (CodeScanner, PhpFileParser)\\n\\n## Implementierung\\n\\n### Option A: Post-Hook (Empfohlen)\\n\\nNeues Modul: `\/var\/www\/tools\/ki-protokoll\/claude-hook\/quality\/code_scan_trigger.py`\\n\\n```python\\n\\\"\\\"\\\"\\nTriggert inkrementellen Code-Scan nach PHP-Änderungen.\\n\\\"\\\"\\\"\\n\\ndef trigger_scan(file_path: str) -> None:\\n \\\"\\\"\\\"\\n Scannt einzelne Datei und aktualisiert DB.\\n \\n - Nur für geänderte Datei (nicht Full-Scan)\\n - Async\/Background wenn möglich\\n - Max 500ms Latenz\\n \\\"\\\"\\\"\\n pass\\n```\\n\\n### Option B: Cron-Job (Fallback)\\n\\n```bash\\n# \/etc\/cron.d\/code-scan\\n*\/5 * * * * root \/opt\/scripts\/code-scan-incremental.sh\\n```\\n\\nScript prüft mtime vs. scanned_at und scannt nur geänderte Dateien.\\n\\n### Option C: File-Watcher (inotify)\\n\\nSystemd-Service der auf Dateiänderungen reagiert.\\nNur wenn Performance kritisch ist.\\n\\n### Inkrementeller Scanner\\n\\nErweiterung CodeScanner:\\n```php\\npublic function scanFile(string $filePath, string $triggeredBy = 'hook'): array\\n{\\n \/\/ 1. Einzelne Datei parsen\\n \/\/ 2. Alte Einträge für diese Datei löschen\\n \/\/ 3. Neue Einträge einfügen\\n \/\/ 4. Dependencies aktualisieren\\n}\\n```\\n\\n## Qualitätskriterien\\n- [ ] Inkrementell (nicht Full-Scan bei jeder Änderung)\\n- [ ] Max 500ms Latenz für einzelne Datei\\n- [ ] Keine Race-Conditions bei parallelen Änderungen\\n- [ ] Logging wann\/warum gescannt wurde\\n- [ ] Fehlertoleranz (defekte Datei crasht nicht den Hook)\\n\\n## Abhängigkeiten\\n- Keine (nutzt bestehende Infrastruktur)\",\n \"type\": \"ai_task\",\n \"status\": \"pending\",\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:14.355305\",\n \"updated_at\": \"2025-12-23T16:13:14.355308\",\n \"completed_at\": null,\n \"metadata\": {}\n },\n \"message\": \"Task #276 created\"\n}"
}
]
}