{
"event": "PreToolUse",
"tool_name": "Bash",
"tool_input": {
"command": "\/opt\/scripts\/python-check.sh 2>&1 | head -60",
"description": "Check Python linting status"
}
}
{
"tool_response": {
"stdout": "=== Python Quality Check: Mon Dec 22 02:51:03 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 extract import extract, get_full_text\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\n16 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\/semantic_chunk_analyzer.py:29: error: Module \"config\" has no attribute \"OLLAMA_HOST\" [attr-defined]\n\/opt\/scripts\/pipeline\/embed.py:11: error: Module \"config\" has no attribute \"EMBEDDING_DIMENSION\" [attr-defined]\n\/opt\/scripts\/pipeline\/embed.py:11: error: Module \"config\" has no attribute \"EMBEDDING_MODEL\" [attr-defined]\n\/opt\/scripts\/pipeline\/embed.py:11: error: Module \"config\" has no attribute \"OLLAMA_HOST\" [attr-defined]\n\/opt\/scripts\/pipeline\/embed.py:11: error: Module \"config\" has no attribute \"QDRANT_HOST\" [attr-defined]\n\/opt\/scripts\/pipeline\/embed.py:11: 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\/opt\/scripts\/pipeline\/generate.py:12: error: Module \"config\" has no attribute \"OLLAMA_HOST\" [attr-defined]\n\u001b[0;32m✓ mypy: Type check complete\u001b[0m\n\n=== Summary ===\n\u001b[0;31m1 check(s) failed\u001b[0m",
"stderr": "",
"interrupted": false,
"isImage": false
}
}