Skip to content

refactor: delete TransactionProcessingOrchestrator now that ServiceRegistry owns the pipeline #45

@longieirl

Description

@longieirl

Background

PR #44 introduced `ServiceRegistry` as the single wiring point for enrichment, classification, duplicate detection and sorting. As part of that work, `TransactionProcessingOrchestrator` was trimmed to a single method (`group_by_iban`) and retained only for backward compatibility.

`group_by_iban` is now also available directly on `ServiceRegistry`, so the orchestrator is fully redundant.

What to delete

  • `packages/parser-core/src/bankstatements_core/services/transaction_processing_orchestrator.py` — the class itself
  • `packages/parser-core/tests/services/test_transaction_processing_orchestrator.py` — the test file (only `group_by_iban` delegation remains; covered by `test_service_registry.py`)

What to update

  • `processor.py:33` — remove the import of `TransactionProcessingOrchestrator`
  • `processor.py:250-253` — remove `self._transaction_orchestrator = TransactionProcessingOrchestrator(...)` (the instance is unused; `group_by_iban` is already called via `self._registry`)
  • `service_registry.py` docstring references to `TransactionProcessingOrchestrator` — update to remove stale references

Acceptance criteria

  • `transaction_processing_orchestrator.py` and its test file are deleted
  • `processor.py` no longer imports or instantiates `TransactionProcessingOrchestrator`
  • All tests pass with coverage ≥ 91%
  • No lint errors (black, isort, flake8, mypy)

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions