#!/usr/bin/env python3 """Hermes environment verification script for spark profile.""" import os import sys import json from pathlib import Path def verify_hermes_env(): """Verify Hermes runtime environment.""" results = { "profile": "spark", "checks": {}, "errors": [] } # Check core directories base = Path("/root/.hermes") profile_dir = base / "profiles" / "spark" wizard_outputs = base / "wizard-outputs" / "spark" results["checks"]["base_dir_exists"] = base.exists() results["checks"]["profile_dir_exists"] = profile_dir.exists() results["checks"]["wizard_outputs_dir_exists"] = wizard_outputs.exists() # Check profile config config_path = profile_dir / "config.yaml" results["checks"]["profile_config_exists"] = config_path.exists() # Check skills directory skills_dir = profile_dir / "skills" results["checks"]["skills_dir_exists"] = skills_dir.exists() # Count skills if skills_dir.exists(): skill_count = len(list(skills_dir.glob("*.py"))) if skills_dir else 0 results["checks"]["skill_count"] = skill_count # Check cron directory cron_dir = profile_dir / "cron" results["checks"]["cron_dir_exists"] = cron_dir.exists() # Check memories directory mem_dir = profile_dir / "memories" results["checks"]["memories_dir_exists"] = mem_dir.exists() # Check state database state_db = profile_dir / "state.db" results["checks"]["state_db_exists"] = state_db.exists() # Check python results["python_version"] = sys.version results["python_available"] = True # Overall status - only check boolean values bool_checks = [v for k, v in results["checks"].items() if k != "skill_count"] all_checks_pass = all(bool_checks) results["overall_status"] = "PASS" if all_checks_pass else "FAIL" return results if __name__ == "__main__": results = verify_hermes_env() print(json.dumps(results, indent=2)) sys.exit(0 if results["overall_status"] == "PASS" else 1)