feat: complete VedAstro cross-run arbitration

This commit is contained in:
732642856
2026-07-17 17:52:30 +08:00
parent 0c3544bbec
commit 064f985f3a
5 changed files with 6606 additions and 0 deletions
@@ -0,0 +1,12 @@
from scripts.vedastro_contract_arbitrator import arbitrate
def test_arbitrator_blocks_when_method_contract_changes_across_runs() -> None:
runs = [
{"contract_status": "blocked", "method_contract": {"status": "blocked"}, "time_contract": {"equivalent_local_utc": True}, "api_version_contract": {"status": "blocked"}, "normalized_vectors": {"x": {"Sun": 1}}},
{"contract_status": "blocked", "method_contract": {"status": "resolved"}, "time_contract": {"equivalent_local_utc": True}, "api_version_contract": {"status": "blocked"}, "normalized_vectors": {"x": {"Sun": 2}}},
]
report = arbitrate(runs)
assert report["status"] == "blocked"
assert report["cross_run_normalized_stable"] is False
assert report["method_statuses"] == ["blocked", "resolved"]