#!/usr/bin/env python3 """gen_provider_format_truth.py — factory batch 5 truth battery (live provider_registry._format_tools_* oracles).""" import json import sys from pathlib import Path REPO = Path(__file__).resolve().parent.parent sys.path.insert(0, str(REPO / "src")) sys.path.insert(0, str(REPO / "src" / "rune")) import provider_registry as pr # noqa: E402 def main(): tools = [ {"name": "read_file", "description": "Read a file", "parameters": {"type": "object", "properties": {"path": {"type": "string"}}}}, {"name": "write_file", "description": "Write a file"}, # no parameters key ] cases = [ {"fn": "openai", "name": "shape", "input": {"tools": tools}, "expected": pr._format_tools_openai(tools)}, {"fn": "anthropic", "name": "shape", "input": {"tools": tools}, "expected": pr._format_tools_anthropic(tools)}, ] out = {"oracle": "provider_registry._format_tools_*", "generated": "2026-10-07", "cases": cases} target = REPO / "src/go/provider-registry" / "truth_format.json" target.write_text(json.dumps(out, indent=1) + "\n") print(f"wrote {target} ({len(cases)} cases)") if __name__ == "__main__": main()