# invoice-extract/scripts — intentionally empty The implementation — dual-run extraction drivers (M4 local ∥ Mistral API), deterministic validators (arithmetic, rates, SIREN/IBAN checksums, dedupe, provenance re-verification), the stubbed OCR fallback and the scoring hooks — lands with [erp#40](https://gitea.arcodange.lab/arcodange-org/erp/issues/40). This scaffold ships the contract only ([`../atom.yaml`](../atom.yaml)); do not fake extraction code here.