{
"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 version_id\nconn = mysql.connector.connect(host='localhost', database='ki_content', user='root', password=get_db_password())\ncursor = conn.cursor(dictionary=True)\ncursor.execute(\"SELECT id, version_number FROM content_versions WHERE order_id = 36 ORDER BY version_number DESC LIMIT 1\")\nversion = cursor.fetchone()\ncursor.close()\nconn.close()\n\nprint(f\"=== CRITIQUE ORDER #36, Version {version['version_number']} ===\\n\")\n\nfrom generators.critic import run_critique_round\nresult = run_critique_round(version_id=version['id'], model='ollama')\n\nif result.get('success'):\n print(f\"Kritiker: {len(result.get('results', []))}\\n\")\n \n total_score = 0\n count = 0\n \n for r in result.get('results', []):\n name = r.get('critic_name', 'Unknown')\n rating = r.get('rating', 0)\n passed = '✓' if r.get('passed') else '✗'\n \n if rating:\n total_score += rating\n count += 1\n \n print(f\"{passed} {name}: {rating}\/10\")\n \n issues = r.get('issues', [])\n if issues:\n for issue in issues[:2]:\n print(f\" - {issue[:100]}\")\n \n summary = r.get('summary', '')\n if summary:\n print(f\" {summary[:150]}...\")\n print()\n \n if count > 0:\n avg = total_score \/ count\n print(\"=\" * 50)\n print(f\"DURCHSCHNITT: {avg:.1f}\/10\")\n \nelif result.get('skipped'):\n print(result.get('message'))\nelse:\n print(f\"Error: {result.get('error')}\")\nEOF\n",
"description": "Run all 4 critics on Order 36"
}
}
{
"tool_response": {
"stdout": "",
"stderr": "",
"interrupted": false,
"isImage": false,
"backgroundTaskId": "bc809fb"
}
}