feat: complete VedAstro cross-run arbitration
This commit is contained in:
@@ -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"]
|
||||
Reference in New Issue
Block a user