diff --git a/src/energiamesh/core.py b/src/energiamesh/core.py index 78227fb..fe22c14 100644 --- a/src/energiamesh/core.py +++ b/src/energiamesh/core.py @@ -80,6 +80,8 @@ class PlanDelta: - updates: optional updates payload - timestamp: time of the delta generation - metadata: per-message metadata (e.g., version, source) + - nonce: optional cryptographic nonce for replay protection + - source: optional source identifier for the delta (e.g., adapter name) """ delta: Dict[str, Any] = field(default_factory=dict) @@ -87,6 +89,10 @@ class PlanDelta: updates: Dict[str, Any] = field(default_factory=dict) timestamp: datetime = field(default_factory=datetime.utcnow) metadata: Dict[str, Any] = field(default_factory=dict) + # Lightweight anti-replay protections; optional + nonce: str | None = None + # Optional source attribution for auditing and routing + source: str | None = None @dataclass