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)
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
What to update
Acceptance criteria