Structured comparison of a schema's declared index contract against live Meilisearch index settings.
This is index contract drift — not Reconcile.drift_signals, which describes
operational sync and reindex posture rather than declared-vs-applied settings parity.
Summary
Types
Per-axis contract comparison. Keys are fixed for JSON stability.
Each axis value is %{match: boolean(), details: [term()]} (the internal
Dimension struct shape) without referencing the hidden implementation module
in public types — keeps mix docs --warnings-as-errors clean.
@type t() :: %Scrypath.Operator.IndexContractDrift.Report{ dimensions: dimensions(), index: String.t(), schema: module(), version: pos_integer() }