diff --git a/nova_plan/contracts.py b/nova_plan/contracts.py index 485d8f2..cedecac 100644 --- a/nova_plan/contracts.py +++ b/nova_plan/contracts.py @@ -123,6 +123,10 @@ class PlanDelta: sequence: Optional[int] = None nonce: Optional[int] = None signature: Optional[str] = None + # Delta versioning for improved replay-detection and ordering in GoC + # This is a lightweight addition to support protocol evolution while + # maintaining backward-compatibility for existing Delta instances. + delta_version: int = 1 def to_json(self) -> str: """Serialize this PlanDelta to a deterministic JSON string. @@ -140,6 +144,7 @@ class PlanDelta: "sequence": self.sequence, "nonce": self.nonce, "signature": self.signature, + "delta_version": self.delta_version, } return json.dumps(payload, sort_keys=True)