from __future__ import annotations from dataclasses import dataclass, field from typing import Any, Dict, List @dataclass class LocalProblem: """Per-asset planning objective and constraints. - assets: mapping from asset_id to asset-specific objectives. - variables: free-form variables used by the planner (e.g., timing, routing). - constraints: list of simple constraint descriptors. - risk_budget: a rough budget to limit risk (abstracted for this MVP). """ asset_objectives: Dict[str, Dict[str, Any]] = field(default_factory=dict) variables: Dict[str, Any] = field(default_factory=dict) constraints: List[str] = field(default_factory=list) risk_budget: float = 0.0 @dataclass class SafetyContracts: """Pre/post conditions and risk terms for safety proofs.""" pre_conditions: List[str] = field(default_factory=list) post_conditions: List[str] = field(default_factory=list) safety_budget: float = 0.0 collision_envelope: float = 0.0 cost_of_violation: float = 0.0 @dataclass class PrivacyContracts: """Minimal data-exposure policies for privacy.""" allowed_publishers: List[str] = field(default_factory=list) aggregate_signals: bool = True per_message_privacy_budget: float = 0.0 @dataclass class PlanDelta: """Compact representation of plan changes with metadata for auditability.""" delta: Dict[str, Any] = field(default_factory=dict) version: int = 0 metadata: Dict[str, Any] = field(default_factory=dict)