cadrumo.domain.transactions.lineage_models module¶
Immutable transaction provenance and split-lineage models.
- class DecisionProvenance(**data)[source]¶
Bases:
BaseModelTyped provenance for one classification decision.
- Parameters:
data (Any)
- decided_by: str¶
- decided_at: UtcInstant¶
- reason: str¶
- confidence: Decimal | None¶
- manual_override: bool¶
- class ClassificationHistoryEntry(**data)[source]¶
Bases:
BaseModelOne frozen record in a transaction’s classification chain.
- Parameters:
data (Any)
- business_classification: BusinessClassification¶
- business_pct: Decimal | None¶
- classified_at: UtcInstant¶
- classified_by: str¶
- reason: str¶
- category_id: str | None¶
- notes: str¶
- confidence: Decimal | None¶
- provenance: DecisionProvenance | None¶
- class TransactionEvidenceProvenanceEntry(**data)[source]¶
Bases:
BaseModelActor/source lineage for evidence linked to one transaction.
- Parameters:
data (Any)
- evidence_id: str¶
- evidence_kind: Literal['purchase_invoice_evidence', 'attachment']¶
- actor: str¶
- source_command: str¶
- linked_at: UtcInstant¶
- bucket_event_id: Hex64Str | None¶
- class TransactionEditLineageEntry(**data)[source]¶
Bases:
BaseModelOne durable manual correction applied to a transaction row.
- Parameters:
data (Any)
- previous_transaction_id: TransactionId¶
- actor: str¶
- source_command: str¶
- edited_at: UtcInstant¶
- bucket_event_id: Hex64Str | None¶
- class TransactionLifecycleLineageEntry(**data)[source]¶
Bases:
BaseModelOne durable lifecycle transition applied to a transaction row.
- Parameters:
data (Any)
- previous_state: TransactionLifecycleState¶
- state: TransactionLifecycleState¶
- actor: str¶
- source_command: str¶
- changed_at: UtcInstant¶
- reason: str¶
- bucket_event_id: Hex64Str | None¶