{
"event": "PreToolUse",
"tool_name": "Bash",
"tool_input": {
"command": "timeout 300 .\/venv\/bin\/python << 'EOF'\nimport sys\nimport json\nsys.path.insert(0, '\/var\/www\/scripts\/pipeline')\nfrom config import get_db_password\nimport mysql.connector\n\n# Get content\nconn = mysql.connector.connect(host='localhost', database='ki_content', user='root', password=get_db_password())\ncursor = conn.cursor(dictionary=True)\ncursor.execute(\"SELECT content FROM content_versions WHERE order_id = 36 ORDER BY version_number DESC LIMIT 1\")\nv = cursor.fetchone()\ncursor.close()\nconn.close()\n\ncontent = json.loads(v['content'])['text']\n\nfrom generators.critic import run_critic\n\ncritics = [\n (30, \"Faktenprüfer\"),\n (31, \"Stilist\"),\n (32, \"Strukturanalyst\"),\n (33, \"Formatierungsprüfer\")\n]\n\nprint(\"=== CRITIQUE ORDER #36 ===\\n\")\n\ntotal = 0\ncount = 0\n\nfor critic_id, name in critics:\n print(f\"Running {name}...\", end=\" \", flush=True)\n result = run_critic(content, critic_id=critic_id, model='ollama')\n \n rating = result.get('rating', 0)\n passed = '✓' if result.get('passed') else '✗'\n \n if rating:\n total += rating\n count += 1\n \n print(f\"{passed} {rating}\/10\")\n \n issues = result.get('issues', [])\n if issues:\n for issue in issues[:2]:\n print(f\" - {issue[:120]}\")\n \n summary = result.get('summary', '')\n if summary:\n print(f\" {summary[:180]}\")\n print()\n\nprint(\"=\" * 50)\nif count > 0:\n print(f\"DURCHSCHNITT: {total\/count:.1f}\/10\")\nEOF\n",
"description": "Run all 4 critics individually"
}
}
{
"tool_response": {
"stdout": "",
"stderr": "",
"interrupted": false,
"isImage": false,
"backgroundTaskId": "baa46bf"
}
}