@@ -8,6 +8,8 @@ from __future__ import annotations
|
||||
from typing import Optional, Protocol
|
||||
from uuid import UUID
|
||||
|
||||
from trex_core.application.auto_reconcile import HoldingsCostBasisEvidence
|
||||
|
||||
|
||||
class IntentStore(Protocol):
|
||||
"""Durable idempotency + audit store for accepted intents (dcy-002 OQ-1).
|
||||
@@ -64,3 +66,10 @@ class PortfolioHubCostBasisPort(Protocol):
|
||||
or any error occurs. The caller must handle None as a graceful-degrade signal.
|
||||
"""
|
||||
...
|
||||
|
||||
def get_cost_basis_evidence(self, portfolio_id: str) -> HoldingsCostBasisEvidence:
|
||||
"""Return strict canonical evidence for automatic holding reconciliation.
|
||||
|
||||
Implementations must not fall back to legacy cost-basis fields.
|
||||
"""
|
||||
...
|
||||
|
||||
Reference in New Issue
Block a user