feat: complete minute birth-time rectification flow

This commit is contained in:
Jesse_Chen
2026-07-25 01:15:48 +08:00
parent f90aba217f
commit 3ca30ed7de
93 changed files with 8347 additions and 1646 deletions
+59 -5
View File
@@ -21,20 +21,21 @@ def test_contract_discloses_used_and_missing_layers() -> None:
assert "ashtakavarga" in contract["auxiliary_layers"]
assert "shadbala_verified_components" in contract["auxiliary_layers"]
assert "shadbala_sthana_drik_naisargika" in contract["partial_layers"]
assert contract["external_engines"]["status"] == "not_run"
assert contract["external_engines"]["status"] == "not_evaluated"
def test_high_rigor_requires_real_three_engine_evidence() -> None:
contract = build_rectification_technique_contract(event_count=4, domain_count=3, high_rigor=True)
assert contract["external_engines"]["status"] == "required_not_run"
assert "three_engine_parity_not_passed" in contract["hard_blockers"]
assert contract["external_engines"]["status"] == "not_evaluated"
assert "vedastro_validation_not_passed" in contract["hard_blockers"]
assert contract["can_narrow_to_minute"] is False
def test_public_holdout_blocks_confirmation_even_when_other_gates_pass() -> None:
def test_vedastro_minute_sensitive_validation_is_required_after_local_gates_pass() -> None:
contract = build_rectification_technique_contract(
event_count=4,
domain_count=3,
local_candidate_ready=True,
required_layers_complete=True,
canonical_input_hash="canonical-fixture",
stability_diagnostics={
@@ -46,11 +47,64 @@ def test_public_holdout_blocks_confirmation_even_when_other_gates_pass() -> None
assert contract["canonical_input_hash"] == "canonical-fixture"
assert contract["gates"]["neighbor_stability"]["status"] == "pass"
assert contract["gates"]["leave_one_event_out"]["status"] == "pass"
assert contract["gates"]["public_holdout_release"]["status"] == "blocked"
assert contract["gates"]["vedastro_minute_sensitive_validation"]["status"] == "not_evaluated"
assert contract["confirmation_allowed"] is False
assert contract["decision"] == "continue_rectification"
def test_semantic_vedastro_validation_allows_minute_confirmation() -> None:
contract = build_rectification_technique_contract(
event_count=5,
domain_count=3,
high_rigor=True,
local_candidate_ready=True,
required_layers_complete=True,
stability_diagnostics={
"neighbor_stability": {"all_required_passed": True},
"leave_one_event_out": {"status": "pass"},
},
external_validation={
"status": "pass",
"vedastro_status": "official_verified",
"mismatch_count": 0,
"engine_status": {"local": "ok", "pyjhora": "ok", "jyotishganit": "ok"},
"minute_sensitive_validation": {"status": "pass"},
},
)
assert contract["gates"]["vedastro_official_response"]["status"] == "pass"
assert contract["gates"]["vedastro_minute_sensitive_validation"]["status"] == "pass"
assert contract["confirmation_allowed"] is True
assert contract["decision"] == "confirm_minute"
def test_neighbor_and_leave_one_out_failures_remain_diagnostic_after_external_validation() -> None:
contract = build_rectification_technique_contract(
event_count=12,
domain_count=5,
high_rigor=True,
local_candidate_ready=True,
required_layers_complete=True,
stability_diagnostics={
"neighbor_stability": {"all_required_passed": False},
"leave_one_event_out": {"status": "fail"},
},
external_validation={
"status": "pass",
"vedastro_status": "official_verified",
"mismatch_count": 0,
"engine_status": {"local": "ok", "pyjhora": "ok", "jyotishganit": "ok"},
"minute_sensitive_validation": {"status": "pass"},
},
)
assert contract["gates"]["neighbor_stability"]["status"] == "diagnostic_fail"
assert contract["gates"]["leave_one_event_out"]["status"] == "diagnostic_fail"
assert "neighbor_stability_not_passed" not in contract["hard_blockers"]
assert "leave_one_event_out_not_passed" not in contract["hard_blockers"]
assert contract["confirmation_allowed"] is True
def test_contract_reports_the_actual_missing_dasha_layer() -> None:
contract = build_rectification_technique_contract(
event_count=3,