Move the three local glue modules into scripts/marriage_match_service and point the invocation matrix at marriage_match.py. The upstream engine file stays where it is. Checked the file-count and oracle contracts, the marriage-match tests, and a Windows full pytest. The 176 failures are python3-missing and path-separator noise; the named contracts passed. Co-Authored-By: Grok (agent loop) Co-authored-by: Cursor <cursoragent@cursor.com>
21 lines
703 B
Python
21 lines
703 B
Python
"""CLI for snapshot marriage matching. Birth details are not an input."""
|
|
|
|
from __future__ import annotations
|
|
|
|
import json
|
|
from pathlib import Path
|
|
|
|
from marriage_match import build_marriage_match_dossier
|
|
|
|
|
|
def run_marriage_match_cli(args) -> dict:
|
|
person_a = json.loads(Path(args.person_a).read_text(encoding="utf-8"))
|
|
person_b = json.loads(Path(args.person_b).read_text(encoding="utf-8"))
|
|
if not isinstance(person_a, dict) or not isinstance(person_b, dict):
|
|
raise ValueError("person snapshots must be JSON objects")
|
|
return build_marriage_match_dossier(
|
|
person_a,
|
|
person_b,
|
|
profile_id=getattr(args, "profile", None) or "practitioner_consensus_v1",
|
|
)
|