v0.2.0 — first SemVer-binding cut
attune-rag 0.2.0 — first SemVer-binding cut
Cut via the freeze-override mechanism (W4.2 hard gate). Phase 4's review/gate deliverables landed ~3 weeks ahead of the nominal calendar; rather than wait the remaining cadence-soak weeks for calendar-elapse alone, the user-facing additions shipped via the per-PR override mechanism.
From 0.2.0 forward, docs/POLICY.md §2 binds — symbols PUBLIC in 0.2.x stay PUBLIC through every 0.2.z. Classifier stays at 3 - Alpha (the Production/Stable flip is a Phase 5 deliverable).
Highlights
Added — new public surface
attune-rag-measureconsole script +attune_rag.measure_corpuspublic module (#136) — quality harness for benchmarking your own RAG corpus. Publicmeasure(...)Python API +MeasureResultfrozen dataclass with full per-query/per-difficulty breakdowns, CI-suitable--watermark-r3flag on the CLI.attune_rag.corpus.load_aliases_from_file()+DirectoryCorpus(extra_aliases_file=...)kwarg (#130) — load path-keyed extra aliases from a JSON file. Schema mirrors attune-rag's ownaliases_override.json.
Changed — perf methodology + verdicts
- V2 multi-run perf methodology (5 invocations × 20 runs = 100 measurements per metric) — replaces the V1 single-invocation baseline. Threshold formula is now
mean + σ × inter_run_stdev, separating intra-run from inter-run noise. - D5 reranker-evaluation closed — verdict
rerank-default-off. Ratifies the existingRagPipeline.reranker=Nonedefault with N=5 live measurement against the bundled corpus + golden query sets. - Perf gate promoted advisory → blocking on CPU-time axis of
KeywordRetriever.retrieve+RagPipeline.run(Phase 4 W3.1).
Quality baselines (now binding)
precision_at_1≥ 0.95recall_at_3= 1.00mean_faithfulness≥ 0.9686 (σ ≈ 0.005)
Same discipline powers attune-author's polish/fact-check pipeline — attune-rag's faithfulness primitives are the contract the attune-* family's content-quality story is built on.
Override rationale + per-gate evidence
Full Phase-4 exit summary with the override rationale, per-gate status, and what-was-traded matrix:
docs/specs/downstream-validation/exit-summary.md
Install
pip install attune-rag # core
pip install 'attune-rag[attune-help]' # + bundled help corpus
pip install 'attune-rag[claude]' # + Claude adapter
pip install 'attune-rag[gemini]' # + Gemini adapterFull changelog
Complete entry list (including all ### Changed items not summarized above) at CHANGELOG.md.
Follow-up: 7-day no-hotfix watch starts on this publish. Phase 5 specs (reranker-evaluation, user-corpus-onboarding, perf-baseline-multi-run) activate after the watch closes clean.