ExplainTypeNote
A leaf whose predicate family disagrees with the types actually stored at its path.
A diagnostic, never a coercion. Nothing here changes an answer, a plan or a bound. A numeric predicate still matches numeric values only — that is type bracketing, it is part of the query contract, and skipping a column whose numeric bound misses depends on it. What this adds is the reason a query returned fewer rows than a caller expected, at the one moment they are asking.
The case it exists for is a third-party payload archive, where a vendor sends "500" in some documents and 500 in others. where(path("$.status") eq 500) then silently matches only half of them, and there is nothing in the result to say why — which the README's own sample calls "the part that surprises people".
Properties
how much of the observed data at path is outside that family, as the catalog's sketch reports it. An estimate over the segments the model covers, not a count.
the offending types, commonest first, with each one's share.