""" MINDI 1.5 Vision-Coder — System Health Check Script Verifies that all dependencies, configs, and environment variables are correctly set up before starting development or training. """ from __future__ import annotations import os import sys from pathlib import Path def check_python() -> bool: """Verify Python version.""" v = sys.version_info ok = v.major == 3 and v.minor >= 10 status = "OK" if ok else "FAIL" print(f" [{status}] Python {v.major}.{v.minor}.{v.micro}") return ok def check_env_vars() -> bool: """Check that required environment variables are set.""" required = ["HUGGINGFACE_TOKEN", "TAVILY_API_KEY", "WANDB_API_KEY", "E2B_API_KEY"] all_ok = True for var in required: value = os.environ.get(var, "") if value: print(f" [OK] {var} = {value[:8]}...") else: print(f" [MISSING] {var}") all_ok = False return all_ok def check_directories() -> bool: """Verify project directory structure exists.""" project_root = Path(__file__).resolve().parent.parent required_dirs = [ "configs", "data/raw", "data/processed", "data/tokenizer", "data/knowledge_base", "src/model", "src/agents", "src/search", "src/sandbox", "src/training", "src/inference", "src/evaluation", "api/routes", "api/middleware", "scripts", "tests", "checkpoints", "logs", "docs", ] all_ok = True for d in required_dirs: path = project_root / d if path.exists(): print(f" [OK] {d}/") else: print(f" [MISSING] {d}/") all_ok = False return all_ok def check_configs() -> bool: """Verify config files exist.""" project_root = Path(__file__).resolve().parent.parent configs = [ "configs/model_config.yaml", "configs/training_config.yaml", "configs/data_config.yaml", "configs/search_config.yaml", ] all_ok = True for c in configs: path = project_root / c if path.exists(): print(f" [OK] {c}") else: print(f" [MISSING] {c}") all_ok = False return all_ok def check_gpu() -> bool: """Check CUDA GPU availability.""" try: import torch if torch.cuda.is_available(): name = torch.cuda.get_device_name(0) vram = torch.cuda.get_device_properties(0).total_mem / (1024**3) print(f" [OK] GPU: {name} ({vram:.1f} GB VRAM)") return True else: print(" [WARN] No CUDA GPU detected (CPU mode)") return False except ImportError: print(" [WARN] PyTorch not installed yet") return False def main() -> None: """Run all health checks.""" print("=" * 55) print(" MINDI 1.5 Vision-Coder — System Health Check") print("=" * 55) print("\n[1] Python Version:") check_python() print("\n[2] GPU:") check_gpu() print("\n[3] Environment Variables:") check_env_vars() print("\n[4] Directory Structure:") check_directories() print("\n[5] Config Files:") check_configs() print("\n" + "=" * 55) print(" Health check complete.") print("=" * 55) if __name__ == "__main__": main()