feat: add public health context reference

This commit is contained in:
732642856
2026-07-18 03:01:40 +08:00
parent d4a623c21d
commit 88112eabbc
8 changed files with 95 additions and 9 deletions
+8
View File
@@ -19,6 +19,14 @@ def test_real_case_replay_manifest_contains_ten_research_grade_cases() -> None:
assert result["birth_time_ratings"] == {"A": 2, "AA": 8}
def test_public_context_manifest_is_structured_but_not_replay_calibration() -> None:
result = validate_manifest(ROOT / "references/real_case_calibration/public_context_manifest.json")
assert result["status"] == "partial"
assert result["errors"] == []
assert result["replay_ready_count"] == 0
assert result["domain_counts"] == {"health": 1}
def test_holdout_manifest_contains_ten_new_balanced_cases() -> None:
batch1_path = ROOT / "references/real_case_calibration/replay_manifest.json"
holdout_path = ROOT / "references/real_case_calibration/replay_manifest_holdout_v2.json"
@@ -90,6 +90,44 @@ def test_default_public_manifest_can_surface_a_matching_replayed_case() -> None:
assert selected["cases"][0]["reference_only"] is True
def test_pending_health_case_is_context_only_not_calibration() -> None:
user_chart = _chart("Leo", "Pisces", "Libra")
cases = [{
"case_id": "public_health_context",
"subject": {"name": "Public Example"},
"chart": _chart("Leo", "Pisces", "Libra"),
"source": {"url": "https://example.com/birth", "source_grade": "primary"},
"event_outcomes": [{
"domain": "health", "event_type": "serious_injury", "event_date": "1925-09",
"outcome": "Public health event", "source": {"url": "https://example.com/event", "source_grade": "verified_secondary"},
}],
"replay": {"outcome_replay_status": "pending", "do_not_use_for_prediction": True},
}]
selected = select_similar_public_cases(user_chart, ["health"], cases=cases)
assert selected["status"] == "high_similarity_public_references_available"
assert selected["cases"][0]["reference_status"] == "public_context_only"
assert selected["cases"][0]["reference_only"] is True
assert selected["coverage"]["available_event_domains"] == ["health"]
def test_default_manifest_exposes_kahlo_health_as_context_only() -> None:
from scripts.domain_calculation_service import compute_chart
kahlo_chart = compute_chart({
"year": 1907, "month": 7, "day": 6, "hour": 8, "minute": 30,
"lat": 19.3333, "lon": -99.1667, "tz": -6.6111,
"ayanamsa": "lahiri", "node_mode": "mean",
})
selected = select_similar_public_cases(kahlo_chart, ["health"])
assert [case["case_id"] for case in selected["cases"]] == ["kahlo_bus_injury_1925"]
assert selected["cases"][0]["reference_status"] == "public_context_only"
assert selected["coverage"]["available_event_domains"] == ["career", "health", "marriage"]
def test_consultation_api_exposes_reference_transparency_contract() -> None:
source = (ROOT / "scripts" / "jyotish_api_server.py").read_text(encoding="utf-8")
assert "result['reference_transparency'] = build_reference_transparency_contract(" in source