from dataclasses import dataclass, field from typing import Any, Dict, List, Optional from datetime import datetime @dataclass class LocalProblem: id: str domain: str assets: List[str] constraints: Dict[str, Any] = field(default_factory=dict) objective: Dict[str, Any] = field(default_factory=dict) solver_hint: Optional[str] = None @dataclass class SharedVariables: version: int signals: Dict[str, Any] = field(default_factory=dict) privacy_tag: Optional[str] = None aggregation_method: str = "mean" @dataclass class PlanDelta: delta: Dict[str, Any] timestamp: datetime author: str contract_id: str signature: Optional[str] = None safety_tags: Optional[List[str]] = None @dataclass class DualVariables: lagrange_multipliers: Dict[str, float] = field(default_factory=dict) convergence_status: Optional[str] = None @dataclass class AuditLog: entries: List[Dict[str, Any]] = field(default_factory=list) last_updated: Optional[datetime] = None @dataclass class PrivacyBudget: budget: float spent: float = 0.0 policy: Dict[str, Any] = field(default_factory=dict) @dataclass class RegistryMetadata: contract_version: str adapter_id: str replay_hint: Optional[str] = None