from __future__ import annotations from typing import Dict, List, Optional, Any from datetime import datetime from pydantic import BaseModel class MarketSignal(BaseModel): venue_id: str symbol: str timestamp: datetime features: Dict[str, float] class AggregatedSignal(BaseModel): venues: List[str] feature_vector: Dict[str, float] privacy_budget_used: float nonce: str merkle_proof: Optional[str] = None class PlanDelta(BaseModel): version: int timestamp: datetime delta: Dict[str, Any] class PrivacyBudget(BaseModel): total: float consumed: float remaining: float class AuditLog(BaseModel): entries: List[str] last_updated: Optional[datetime] = None class ProvenanceProof(BaseModel): venue_id: str timestamp: datetime merkle_root: str proof: str