run_resolve_harness.py 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. from __future__ import annotations
  2. import json
  3. import subprocess
  4. from pathlib import Path
  5. ROOT = Path(__file__).resolve().parents[1]
  6. FIXTURES = ROOT / "tests" / "fixtures" / "resolve_harness_cases.json"
  7. def main() -> int:
  8. cases = json.loads(FIXTURES.read_text())
  9. print(f"Loaded {len(cases)} resolve harness cases")
  10. print()
  11. for case in cases:
  12. print(f"=== {case['name']} ===")
  13. cmd = [
  14. "mcporter",
  15. "--config",
  16. "$CONFIG",
  17. "call",
  18. "atlas",
  19. "resolve",
  20. f"subject={json.dumps(case['subject'])}",
  21. f"context={json.dumps(case['context'])}",
  22. f"constraints={json.dumps(case['constraints'])}",
  23. f"hints={json.dumps(case['hints'])}",
  24. f"strategy={json.dumps(case['strategy'])}",
  25. 'debug={"include_candidates":true,"include_explanations":true}',
  26. ]
  27. print(" ".join(cmd))
  28. print()
  29. return 0
  30. if __name__ == "__main__":
  31. raise SystemExit(main())