{
"event": "PreToolUse",
"tool_name": "mcp__mcp-tasks__tasks_create",
"tool_input": {
"title": "Code Hygiene Score implementieren (Grade-System ersetzen)",
"description": "Ersetze das bisherige A-F Grade-System durch den neuen Code Hygiene Score (0-100).\n\n## Dokumentation\n\/docs\/qualitaet\/code-hygiene-score (IDs 135-138)\n\n## Implementierung in CodeQualityChecker.php\n\n### 1. Grade-System entfernen\n- calculateGrade() entfernen\n- GRADE_THRESHOLDS entfernen\n- grade-Felder aus Rückgabewerten entfernen\n\n### 2. Normalisierung implementieren\nFormel: normalized = max(0, 100 - ((value - optimal) \/ (max - optimal)) × 100)\n\nOptimalwerte:\n- LOC: 200 (max: 500)\n- Methods: 10 (max: 20)\n- Classes: 1 (max: 3)\n- Dependencies: 5 (max: 15)\n- Secrets: 0 (max: 1, Hard Fail)\n- Magic Numbers: 0 (max: 10)\n\n### 3. Gewichtete Score-Berechnung\n- Dependencies: 25%\n- LOC: 20%\n- Methods: 20%\n- Secrets: 15%\n- Classes: 10%\n- Magic Numbers: 10%\n\n### 4. Dateityp-Modifikatoren\n- Controller: LOC-Optimal → 300, Methods-Optimal → 15\n- Entity: LOC-Optimal → 100, Methods-Optimal → 20\n- Repository: LOC-Optimal → 250, Dependencies-Optimal → 3\n- Service\/UseCase: LOC-Optimal → 150\n\n### 5. Hard Fail\nSecrets > 0 → Score ≤ 20\n\n### 6. Status-Interpretation\n- 80-100: Sauber\n- 60-79: Gepflegt\n- 40-59: Vernachlässigt\n- 20-39: Verschmutzt\n- 0-19: Kritisch\n\n## Qualitätssicherung\n- Contract-Validierung: layered-architecture, code-quality-standards\n- PHPStan Level 5\n- PHP-CS-Fixer",
"type": "ai_task"
}
}
{
"tool_response": [
{
"type": "text",
"text": "{\n \"success\": true,\n \"task\": {\n \"id\": 352,\n \"uuid\": \"1c03ddaa-3c1d-4e3b-962b-6c690b3c6d97\",\n \"title\": \"Code Hygiene Score implementieren (Grade-System ersetzen)\",\n \"description\": \"Ersetze das bisherige A-F Grade-System durch den neuen Code Hygiene Score (0-100).\\n\\n## Dokumentation\\n\/docs\/qualitaet\/code-hygiene-score (IDs 135-138)\\n\\n## Implementierung in CodeQualityChecker.php\\n\\n### 1. Grade-System entfernen\\n- calculateGrade() entfernen\\n- GRADE_THRESHOLDS entfernen\\n- grade-Felder aus Rückgabewerten entfernen\\n\\n### 2. Normalisierung implementieren\\nFormel: normalized = max(0, 100 - ((value - optimal) \/ (max - optimal)) × 100)\\n\\nOptimalwerte:\\n- LOC: 200 (max: 500)\\n- Methods: 10 (max: 20)\\n- Classes: 1 (max: 3)\\n- Dependencies: 5 (max: 15)\\n- Secrets: 0 (max: 1, Hard Fail)\\n- Magic Numbers: 0 (max: 10)\\n\\n### 3. Gewichtete Score-Berechnung\\n- Dependencies: 25%\\n- LOC: 20%\\n- Methods: 20%\\n- Secrets: 15%\\n- Classes: 10%\\n- Magic Numbers: 10%\\n\\n### 4. Dateityp-Modifikatoren\\n- Controller: LOC-Optimal → 300, Methods-Optimal → 15\\n- Entity: LOC-Optimal → 100, Methods-Optimal → 20\\n- Repository: LOC-Optimal → 250, Dependencies-Optimal → 3\\n- Service\/UseCase: LOC-Optimal → 150\\n\\n### 5. Hard Fail\\nSecrets > 0 → Score ≤ 20\\n\\n### 6. Status-Interpretation\\n- 80-100: Sauber\\n- 60-79: Gepflegt\\n- 40-59: Vernachlässigt\\n- 20-39: Verschmutzt\\n- 0-19: Kritisch\\n\\n## Qualitätssicherung\\n- Contract-Validierung: layered-architecture, code-quality-standards\\n- PHPStan Level 5\\n- PHP-CS-Fixer\",\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-25T16:12:25.192866\",\n \"updated_at\": \"2025-12-25T16:12:25.192868\",\n \"completed_at\": null,\n \"metadata\": {}\n },\n \"message\": \"Task #352 created\"\n}"
}
]
}