avow 0.3.0
Adds assay.ranking — precision@k, recall@k, nDCG@k, MRR and MAP over ir_measures/trec_eval, the IR field's reference implementation.
scikit-learn was rejected: its ranking metrics are multilabel-classification metrics and needed two hand-written semantic corrections at the boundary — without one, retrieving 1 of 4 relevant documents scored 1.0. Both corrections are deleted.
Also renames ReplayMismatch → PayloadHashMismatch (breaking). Published to PyPI as avow and npm as @edgeproc/avow, both with provenance.
Full detail in CHANGELOG.md.