ax-detect — the detector engine
A [Detector] is a contract: given a normalized [RecordSet], it either
runs and emits [Finding]s, or it declares honest [Absence] (e.g. "no
numeric columns"). It never fabricates a clean result for data it couldn't
assess. The [Registry] runs a set of detectors deterministically and
collects everything into one [Report], which the CLI turns into a tq1
envelope.
All math routes through [ax_core::det], so every detector inherits
order-independent, reproducible reductions.