feat: add public health context reference
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user