"""Provenance subsystem — normalisers, mapper, verifier. Three pieces compose the reliability check: * :mod:`ix.provenance.normalize` — pure text/number/date/IBAN normalisers used to compare OCR snippets to extracted values. * :mod:`ix.provenance.mapper` — resolves LLM-emitted segment IDs to :class:`~ix.contracts.provenance.FieldProvenance` entries. * :mod:`ix.provenance.verify` — per-field-type dispatcher that writes the ``provenance_verified`` / ``text_agreement`` flags. Only :mod:`normalize` is exported from the package at this step; the mapper and verifier land in task 1.8. """ from __future__ import annotations from ix.provenance.mapper import ( map_segment_refs_to_provenance, resolve_nested_path, ) from ix.provenance.normalize import ( normalize_date, normalize_iban, normalize_number, normalize_string, should_skip_text_agreement, ) from ix.provenance.verify import apply_reliability_flags, verify_field __all__ = [ "apply_reliability_flags", "map_segment_refs_to_provenance", "normalize_date", "normalize_iban", "normalize_number", "normalize_string", "resolve_nested_path", "should_skip_text_agreement", "verify_field", ]