from __future__ import annotations import argparse from pathlib import Path import yaml ROOT = Path(__file__).resolve().parents[1] def main() -> int: parser = argparse.ArgumentParser() parser.add_argument("--strict", action="store_true") args = parser.parse_args() manifest = yaml.safe_load((ROOT / "spec" / "formulas" / "manifest.yaml").read_text(encoding="utf-8")) normalized = yaml.safe_load((ROOT / "spec" / "03_formulas" / "formula_registry.normalized.yaml").read_text(encoding="utf-8")) domain_files = manifest.get("domains") or {} formulas = normalized.get("formulas") or [] ok = bool(domain_files) and len(formulas) > 0 print("FORMULA_REGISTRY_OK" if ok else "FORMULA_REGISTRY_FAIL") print(f"domain_count={len(domain_files)} formula_count={len(formulas)}") return 0 if ok or not args.strict else 1 if __name__ == "__main__": raise SystemExit(main())