from dataclasses import dataclass, field from typing import Any, Dict, List, Optional @dataclass class LocalProblem: id: str domain: str # e.g., "electric", "water", "thermal" assets: List[str] objective: Dict[str, Any] # simple objective description, can be expanded constraints: List[Dict[str, Any]] = field(default_factory=list) solver_hint: Optional[str] = None @dataclass class SharedVariables: version: int signals: Dict[str, Any] # e.g., forecasts, priors @dataclass class DualVariables: multipliers: Dict[str, float] @dataclass class PlanDelta: delta: Dict[str, Any] timestamp: float author: str contract_id: str signature: Optional[str] = None @dataclass class PrivacyBudget: signal: str budget: float expiry: Optional[float] = None @dataclass class AuditLog: entry: str signer: str timestamp: float contract_id: str version: int @dataclass class PolicyBlock: safety: Dict[str, Any] = None exposure_rules: Dict[str, Any] = None