Repository navigation
memory-quality-gate 0.2.1
Faster novelty checks, more accurate scoring, and support for Python 3.11–3.14.
Performance
- About 5.5x more candidates per second when one gate scores many candidates against an existing corpus. An inverted token index and a compact word-trigram filter are built on the second novelty lookup, so one-shot CLI runs never pay for them. Scores are identical either way.
- Scoring stops counting regex matches once a dimension reaches its maximum score, so very long candidates are about 30% faster.
- About 9% less startup CPU for the CLI, which no longer loads
pathlib, orjsonfor text output. - New
scripts/bench.pymeasures import time, CLI wall time and throughput on a generated corpus that is the same on every run.
Fixed
- Percentages such as
50%now count toward specificity. - File paths now count toward specificity when they end a sentence, sit inside backticks or quotes, or are listed back to back.
reason:andwhy:labels now count toward reasoning.- A candidate whose score lands exactly on its threshold now passes. JSON scores print as clean decimals.
- The specificity shortcut never raises a custom threshold.
- Duplicate detection now works for non-ASCII text, such as Japanese or accented French.
- CLI:
--text ""is scored instead of falling back to stdin. A closed stdin now gives a usage error. scripts/setup.shaccepts Python 3.11 and newer, matchingrequires-python.
Changed
- CI runs on Python 3.11, 3.12, 3.13 and 3.14.
- The README example output and the scoring-model document now match actual behaviour.
Full Changelog: v0.2.0...v0.2.1