{
"event": "PreToolUse",
"tool_name": "mcp__mcp-tasks__tasks_create",
"tool_input": {
"title": "Phase 0: Architecture Contract aktualisieren",
"description": "## Anweisungen für KI-System\n1. Lies `\/var\/www\/CLAUDE.md` für Projektkontext\n2. Nutze MCP-Tools: `contracts_get(name=\"layered-architecture\")`, `contracts_update()`\n3. Validiere Änderungen mit `contracts_validate()`\n\n## Aufgabe\nDen bestehenden `layered-architecture` Contract um die 10 Target Principles aus der Supervision erweitern.\n\n## Neue Rules hinzufügen\n\n### Rule: controller-transport-only\n```yaml\n- id: controller-transport-only\n check_type: forbidden_pattern\n patterns:\n - \"new .*Repository\"\n - \"new .*Service\"\n - \"->query(\"\n - \"->prepare(\"\n in_files: \"Controller\/**\/*.php\"\n severity: critical\n description: \"Controller dürfen keine Dependencies selbst instanziieren\"\n```\n\n### Rule: no-echo-in-controller\n```yaml\n- id: no-echo-in-controller\n check_type: forbidden_pattern\n patterns:\n - \"echo\"\n - \"print\"\n in_files: \"Controller\/**\/*.php\"\n severity: major\n description: \"Controller dürfen kein direktes Output erzeugen\"\n```\n\n### Rule: no-markdown-in-controller\n```yaml\n- id: no-markdown-in-controller\n check_type: forbidden_pattern\n patterns:\n - \"Parsedown\"\n - \"->text(\"\n - \"markdown\"\n in_files: \"Controller\/**\/*.php\"\n severity: major\n description: \"Formatierung gehört in Formatter-Klassen\"\n```\n\n### Rule: sql-only-in-repository\n```yaml\n- id: sql-only-in-repository\n check_type: forbidden_pattern\n patterns:\n - \"SELECT \"\n - \"INSERT \"\n - \"UPDATE \"\n - \"DELETE \"\n in_files: \"Controller\/**\/*.php\"\n severity: critical\n description: \"SQL-Statements nur in Repository-Klassen\"\n```\n\n## Akzeptanzkriterien\n- [ ] Contract v3.0 mit neuen Rules erstellt\n- [ ] `contracts_validate(name=\"layered-architecture\")` läuft durch\n- [ ] Neue Rules erkennen bestehende Violations",
"type": "ai_task",
"parent_task_id": 221
}
}
{
"tool_response": [
{
"type": "text",
"text": "{\n \"success\": true,\n \"task\": {\n \"id\": 222,\n \"uuid\": \"922e80db-a2b8-4c45-a249-b3b164bb8792\",\n \"title\": \"Phase 0: Architecture Contract aktualisieren\",\n \"description\": \"## Anweisungen für KI-System\\n1. Lies `\/var\/www\/CLAUDE.md` für Projektkontext\\n2. Nutze MCP-Tools: `contracts_get(name=\\\"layered-architecture\\\")`, `contracts_update()`\\n3. Validiere Änderungen mit `contracts_validate()`\\n\\n## Aufgabe\\nDen bestehenden `layered-architecture` Contract um die 10 Target Principles aus der Supervision erweitern.\\n\\n## Neue Rules hinzufügen\\n\\n### Rule: controller-transport-only\\n```yaml\\n- id: controller-transport-only\\n check_type: forbidden_pattern\\n patterns:\\n - \\\"new .*Repository\\\"\\n - \\\"new .*Service\\\"\\n - \\\"->query(\\\"\\n - \\\"->prepare(\\\"\\n in_files: \\\"Controller\/**\/*.php\\\"\\n severity: critical\\n description: \\\"Controller dürfen keine Dependencies selbst instanziieren\\\"\\n```\\n\\n### Rule: no-echo-in-controller\\n```yaml\\n- id: no-echo-in-controller\\n check_type: forbidden_pattern\\n patterns:\\n - \\\"echo\\\"\\n - \\\"print\\\"\\n in_files: \\\"Controller\/**\/*.php\\\"\\n severity: major\\n description: \\\"Controller dürfen kein direktes Output erzeugen\\\"\\n```\\n\\n### Rule: no-markdown-in-controller\\n```yaml\\n- id: no-markdown-in-controller\\n check_type: forbidden_pattern\\n patterns:\\n - \\\"Parsedown\\\"\\n - \\\"->text(\\\"\\n - \\\"markdown\\\"\\n in_files: \\\"Controller\/**\/*.php\\\"\\n severity: major\\n description: \\\"Formatierung gehört in Formatter-Klassen\\\"\\n```\\n\\n### Rule: sql-only-in-repository\\n```yaml\\n- id: sql-only-in-repository\\n check_type: forbidden_pattern\\n patterns:\\n - \\\"SELECT \\\"\\n - \\\"INSERT \\\"\\n - \\\"UPDATE \\\"\\n - \\\"DELETE \\\"\\n in_files: \\\"Controller\/**\/*.php\\\"\\n severity: critical\\n description: \\\"SQL-Statements nur in Repository-Klassen\\\"\\n```\\n\\n## Akzeptanzkriterien\\n- [ ] Contract v3.0 mit neuen Rules erstellt\\n- [ ] `contracts_validate(name=\\\"layered-architecture\\\")` läuft durch\\n- [ ] Neue Rules erkennen bestehende Violations\",\n \"type\": \"ai_task\",\n \"status\": \"pending\",\n \"created_by\": \"mcp-tasks\",\n \"created_by_type\": \"ai\",\n \"parent_task_id\": 221,\n \"due_date\": null,\n \"created_at\": \"2025-12-22T09:56:35.316201\",\n \"updated_at\": \"2025-12-22T09:56:35.316204\",\n \"completed_at\": null,\n \"metadata\": {}\n },\n \"message\": \"Task #222 created\"\n}"
}
]
}