from __future__ import annotations from dataclasses import dataclass, field from typing import Dict, List, Optional @dataclass class LocalProblem: id: str asset: str objective: str constraints: Dict[str, object] = field(default_factory=dict) version: int = 1 @dataclass class SharedVariables: contract_id: str variables: Dict[str, object] = field(default_factory=dict) version: int = 1 @dataclass class PlanDelta: delta: Dict[str, object] timestamp: int author: Optional[str] = None contract_id: Optional[str] = None privacy_budget: Optional[float] = None @dataclass class AuditLog: entries: List[str] = field(default_factory=list) signer: Optional[str] = None timestamp: Optional[int] = None contract_id: Optional[str] = None # Backwards-compat alias for external imports DSLAuditLog = AuditLog