← Files DesignlyARCHIVED FILE

skills/composition-director/scripts/run_design_evals.py

851 Bytes · Sep 30, 2026 · 23:14 UTC

↓ Download file

#!/usr/bin/env python3
import json, importlib.util
from pathlib import Path
ROOT=Path(__file__).resolve().parents[1]
spec=importlib.util.spec_from_file_location("design_lint",ROOT/"scripts/design_lint.py")
mod=importlib.util.module_from_spec(spec); spec.loader.exec_module(mod)
cases=json.loads((ROOT/"evals/design-evals.json").read_text(encoding="utf-8"))
failed=0
for case in cases:
    data=json.loads((ROOT/"evals"/case["file"]).read_text(encoding="utf-8"))
    findings=mod.lint(data)
    got=any(f["severity"] in {"major","critical"} for f in findings)
    exp=case["expect_major_or_critical"]
    if got==exp: print(f"PASS {case['id']}")
    else:
        failed+=1; print(f"FAIL {case['id']}: got blocker={got}, expected={exp}; findings={findings}")
print(f"\n{len(cases)-failed} passed, {failed} failed")
raise SystemExit(1 if failed else 0)

SHA-256: 31dab6a0d4cf22c5763821d32e9134aac045968c09eaa8f5f38aabe3e2be0da5