import secrets from gravityweave.plan_delta import PlanDelta from gravityweave.delta_synopsis import build_synopsis, build_priority_key, serialize_synopsis, deserialize_synopsis def test_priority_key_bounds(): k = build_priority_key(3, 12) assert isinstance(k, int) assert k == (3 << 4) | 12 def test_build_and_serialize_synopsis(): key = secrets.token_bytes(16) p = PlanDelta(origin="nodeX") p.commitments.add({"type": "burn", "fuel": 2.0}) p.priority.write(7) syn = build_synopsis(p, parent_version="v0", urgency_score=2, impact_score=8, affected_assets=["sat1", "relayA"], signer="nodeX", key=key) assert syn["parent_version"] == "v0" assert syn["priority_key"] == (2 << 4) | 8 assert syn["size_estimate"] > 0 assert syn["summary_hash"] assert syn["short_sig"] b = serialize_synopsis(syn) d = deserialize_synopsis(b) assert d["delta_id"] == syn["delta_id"]