from dataclasses import dataclass, field from datetime import date from typing import Optional, List, Any @dataclass class TaxLot: id: str acquisition_date: date basis: float quantity: float market_value: Optional[float] = None lot_status: str = "open" @dataclass class Account: id: str jurisdiction: str tax_profile: str @dataclass class HarvestAction: lot_id: str sell_qty: float date: date expected_gain: float @dataclass class PlanDelta: actions: List[HarvestAction] = field(default_factory=list) metadata: dict = field(default_factory=dict) @dataclass class AuditLog: entries: List[Any] = field(default_factory=list)