Scrypath.Operator.IndexContractDrift.Report (scrypath v0.3.5)

Copy Markdown View Source

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.

t()

Types

dimension()

@type dimension() :: %{match: boolean(), details: [term()]}

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.

dimensions()

@type dimensions() :: %{
  fields: dimension(),
  filterable_attributes: dimension(),
  sortable_attributes: dimension(),
  faceting: dimension(),
  settings: dimension()
}

t()

@type t() :: %Scrypath.Operator.IndexContractDrift.Report{
  dimensions: dimensions(),
  index: String.t(),
  schema: module(),
  version: pos_integer()
}