Files

64 lines
2.0 KiB
Python

#!/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)