US-4.7implemented Report unmatched transactions before interactive matching
As a user running `./start.sh` I want a clear summary of which receipt transactions are still unlinked to their CSV counterpart — shown immediately before the interactive matching step — via a dedicated `--check-matching` flag, and — if unlabelled receipt images exist — a hint that the missing match may be in one of them so that I see the full picture of what still needs matching before I enter the interactive flow, and I am reminded to label remaining receipt images if the missing counterpart might be there.
Acceptance Criteria
- `start.sh` calls `hledger_preprocessor --check-matching` right after `--check-categorisation`, before `--match-transactions`.
- The check loads all labelled receipts and all bank CSV transactions, then reports which receipt AccountTransactions have no linked CSV transaction (listing date, amount, currency, and account for each).
- If unlabelled receipt images exist (images in `receipt_images_input_dir` without a corresponding label in `receipt_labels_dir`), a note is printed: "N receipt image(s) have no labels yet. The missing match may be in one of them. Run `--tui-label-receipts` to label them."
- The check is informational only — it does not block the pipeline (exits 0). The user proceeds into `--match-transactions` knowing what to expect.
- Unmatched CSV-to-CSV transactions (e.g. a Triodos deposit into Kraken that has no matching Kraken row yet) are also listed.
No DAG diagram: Pre-flight reporting step — the data path mirrors US-3.x matching stories but without creating links; it is an informational check that runs before US-4.1.
Demo video coming soon