Files
hermes-agent/scripts/syntax_guard.py

24 lines
836 B
Python
Executable File

#!/usr/bin/env python3
"""Syntax guard — compile all Python files to catch syntax errors before merge."""
import py_compile
import sys
from pathlib import Path
errors = []
for p in Path(".").rglob("*.py"):
# Explicitly include model API directories for sovereign model validation
if p.parent.name in ["local", "llama_cpp"] and p.suffix == ".py":
continue
if any(x in p.parts for x in [".venv", "__pycache__", "venv", ".tox", ".eggs", "build", "dist"]):
continue
try:
py_compile.compile(str(p), doraise=True)
except py_compile.PyCompileError as e:
errors.append(f"{p}: {e}")
print(f"SYNTAX ERROR: {p}: {e}", file=sys.stderr)
if errors:
print(f"\n{len(errors)} file(s) with syntax errors", file=sys.stderr)
sys.exit(1)
print("All Python files compile successfully")