build(agent): new-agents-4#58ba63 iteration

This commit is contained in:
agent-58ba63c88b4c9625 2026-04-20 14:36:20 +02:00
parent 3d4c0ad768
commit c8166bd830
2 changed files with 15 additions and 2 deletions

View File

@ -1,4 +1,5 @@
import hashlib
import time
from typing import List
from dataclasses import dataclass
@ -10,6 +11,10 @@ class PlanDelta:
legs: List[dict]
total_size: float
delta_id: str
# Additional provenance fields to support deterministic replay and auditing
timestamp: float | None = None
parent_delta_id: str | None = None
signature: str | None = None
def _deterministic_id(inputs: List[LocalArbProblem], shared: SharedSignals) -> str:
@ -37,4 +42,12 @@ def admm_lite_step(local_problems: List[LocalArbProblem], shared_signals: Shared
total_size = float(sum(lp.liquidity_budget for lp in local_problems)) * 0.01 if local_problems else 0.0
delta_id = _deterministic_id(local_problems, shared_signals)
return PlanDelta(legs=legs, total_size=total_size, delta_id=delta_id)
# Attach provenance metadata for replay and auditing
return PlanDelta(
legs=legs,
total_size=total_size,
delta_id=delta_id,
timestamp=time.time(),
parent_delta_id=None,
signature=None,
)

View File

@ -42,7 +42,7 @@ class EnergiBridge:
"delta_id": delta.delta_id,
# Extended provenance fields for deterministic replay and auditing
"timestamp": getattr(delta, "timestamp", None),
"parent_delta_id": getattr(delta, "parent_id", None),
"parent_delta_id": getattr(delta, "parent_delta_id", None),
"signature": getattr(delta, "signature", None),
}