{
"event": "PreToolUse",
"tool_name": "Bash",
"tool_input": {
"command": "\/opt\/scripts\/python-check.sh 2>&1; echo \"Exit code: $?\"",
"description": "Check Python status with exit code"
}
}
{
"tool_response": {
"stdout": "=== Python Quality Check: Mon Dec 22 06:43:58 PM CET 2025 ===\nDirectory: \/opt\/scripts\/pipeline\n\n\u001b[1;33m[1\/3] Ruff - Linting\u001b[0m\nI001 [*] Import block is un-sorted or un-formatted\n --> \/opt\/scripts\/pipeline\/pipeline.py:14:1\n |\n12 | \"\"\"\n13 |\n14 | \/ import json\n15 | | import os\n16 | | import sys\n17 | | import time\n18 | | from pathlib import Path\n19 | |\n20 | | from analyze import analyze_document\n21 | | from chunk import chunk_by_structure\n22 | | from config import MAX_RETRIES, RETRY_BACKOFF_BASE\n23 | | from db import db\n24 | | from detect import queue_files, scan_directory\n25 | | from embed import embed_chunks, embed_pending_chunks\n26 | | from enrich import run_enrichment_step\n27 | | from extract import extract, get_full_text\n28 | | from vision import run_vision_step\n | |__________________________________^\n |\nhelp: Organize imports\n\nFound 1 error.\n[*] 1 fixable with the `--fix` option.\n\u001b[0;31m✗ Ruff: Linting errors found\u001b[0m\n\n\u001b[1;33m[2\/3] Ruff - Format Check\u001b[0m\n18 files already formatted\n\u001b[0;32m✓ Ruff: Formatting OK\u001b[0m\n\n\u001b[1;33m[3\/3] mypy - Type Checking\u001b[0m\n\/opt\/scripts\/pipeline\/chunk.py:8: error: Module \"config\" has no attribute \"CHUNK_OVERLAP_PERCENT\" [attr-defined]\n\/opt\/scripts\/pipeline\/chunk.py:8: error: Module \"config\" has no attribute \"MAX_CHUNK_SIZE\" [attr-defined]\n\/opt\/scripts\/pipeline\/chunk.py:8: error: Module \"config\" has no attribute \"MIN_CHUNK_SIZE\" [attr-defined]\n\/opt\/scripts\/pipeline\/detect.py:10: error: Module \"config\" has no attribute \"NEXTCLOUD_PATH\" [attr-defined]\n\/opt\/scripts\/pipeline\/detect.py:10: error: Module \"config\" has no attribute \"SUPPORTED_EXTENSIONS\" [attr-defined]\n\/opt\/scripts\/pipeline\/pipeline.py:22: error: Module \"config\" has no attribute \"MAX_RETRIES\" [attr-defined]\n\/opt\/scripts\/pipeline\/pipeline.py:22: error: Module \"config\" has no attribute \"RETRY_BACKOFF_BASE\" [attr-defined]\n\/opt\/scripts\/pipeline\/db.py:8: error: Module \"config\" has no attribute \"DB_CONFIG\" [attr-defined]\n\/opt\/scripts\/pipeline\/vision.py:18: error: Module \"config\" has no attribute \"OLLAMA_HOST\" [attr-defined]\n\/opt\/scripts\/pipeline\/semantic_chunk_analyzer.py:29: error: Module \"config\" has no attribute \"OLLAMA_HOST\" [attr-defined]\n\/opt\/scripts\/pipeline\/embed.py:12: error: Module \"config\" has no attribute \"EMBEDDING_DIMENSION\" [attr-defined]\n\/opt\/scripts\/pipeline\/embed.py:12: error: Module \"config\" has no attribute \"EMBEDDING_MODEL\" [attr-defined]\n\/opt\/scripts\/pipeline\/embed.py:12: error: Module \"config\" has no attribute \"OLLAMA_HOST\" [attr-defined]\n\/opt\/scripts\/pipeline\/embed.py:12: error: Module \"config\" has no attribute \"QDRANT_HOST\" [attr-defined]\n\/opt\/scripts\/pipeline\/embed.py:12: error: Module \"config\" has no attribute \"QDRANT_PORT\" [attr-defined]\n\/opt\/scripts\/pipeline\/extract.py:9: error: Module \"config\" has no attribute \"OCR_ENABLED\" [attr-defined]\n\/opt\/scripts\/pipeline\/extract.py:9: error: Module \"config\" has no attribute \"OCR_LANGUAGE\" [attr-defined]\n\/opt\/scripts\/pipeline\/generate.py:12: error: Module \"config\" has no attribute \"ANTHROPIC_API_KEY\" [attr-defined]\n\/opt\/scripts\/pipeline\/generate.py:12: error: Module \"config\" has no attribute \"ANTHROPIC_MODEL\" [attr-defined]\n\/opt\/scripts\/pipeline\/generate.py:12: error: Module \"config\" has no attribute \"OLLAMA_CHAT_MODEL\" [attr-defined]\n\u001b[0;32m✓ mypy: Type check complete\u001b[0m\n\n=== Summary ===\n\u001b[0;31m1 check(s) failed\u001b[0m\nExit code: 1",
"stderr": "",
"interrupted": false,
"isImage": false
}
}