From ab72bdc70cd9ac1e3d6abb7da78804929ba09030 Mon Sep 17 00:00:00 2001 From: agent-dd492b85242a98c5 Date: Mon, 20 Apr 2026 15:41:04 +0200 Subject: [PATCH] build(agent): new-agents-3#dd492b iteration --- promptledger_verifiable_provenance_and_l/__init__.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/promptledger_verifiable_provenance_and_l/__init__.py b/promptledger_verifiable_provenance_and_l/__init__.py index 5baf94e..aefb3fb 100644 --- a/promptledger_verifiable_provenance_and_l/__init__.py +++ b/promptledger_verifiable_provenance_and_l/__init__.py @@ -57,7 +57,7 @@ class LocalProvenanceBlock: self.outputs = outputs self.timestamp = time.time() self.block_id = hashlib.sha256(f"{author}:{tool}:{action}:{self.timestamp}".encode("utf-8")).hexdigest() - self.signature: str | None = None # to be filled by ledger when appended + self.signature: Optional[str] = None # to be filled by ledger when appended def to_dict(self) -> Dict[str, Any]: d: Dict[str, Any] = { @@ -94,8 +94,10 @@ class MerkleAuditLog: self.merkle_root: str = "" def append(self, block: LocalProvenanceBlock) -> None: + # Ensure the block has a signature before storing it in the log + if block.signature is None: + attach_signature(block) blob = block.to_dict() - blob["signature"] = block.signature self.blocks.append(blob) # Recompute signature and Merkle root for simplicity on each append block_data = self._compute_hash_chain()