Skip to content

Commit fdc701a

Browse files
adridaclaude
andcommitted
release: v0.2.0 (version bump + CHANGELOG)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
1 parent f81882f commit fdc701a

2 files changed

Lines changed: 50 additions & 1 deletion

File tree

‎CHANGELOG.md‎

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
# Changelog
2+
3+
All notable changes to TRACER are recorded here. This project follows semantic
4+
versioning.
5+
6+
## 0.2.0 (2026-06)
7+
8+
### Added
9+
- `tracer scan`: a fast, conservative day-one read of a traces file, before any
10+
training. It groups traffic by similarity and measures, on a held-out slice it
11+
never saw, how much a near-free model can answer at your target agreement,
12+
using exact Clopper-Pearson bounds, with an optional per-1k and monthly savings
13+
estimate. Ships a self-contained HTML report with an interactive 3D map of the
14+
embedding space (hover-to-inspect cells, a Verdict/Label colour toggle, and
15+
PCA/UMAP/t-SNE layouts). Exposed as `tracer.scan()`.
16+
- Distance-based OOD safety gate: at inference the router defers inputs that fall
17+
far from the training distribution (kNN distance, global and per-predicted-label
18+
thresholds) regardless of surrogate confidence, so off-distribution traffic goes
19+
to the teacher instead of getting a confident guess.
20+
- `tracer fit --trees` to opt in the tree surrogates, and `--skip` to drop named
21+
candidates from the zoo.
22+
- Trace loaders accept common key aliases for both input and label
23+
(`input/query/text/prompt/question` and
24+
`teacher/teacher_output/label/intent/output/answer`).
25+
- Bring-your-own embeddings for `tracer scan`: local sentence-transformers by
26+
default (`--embed-model`), a precomputed `.npy` (`--embeddings`), or your own
27+
HTTP embedding endpoint (`--embed-url`, with header and response-key options).
28+
29+
### Changed
30+
- The parity gate now certifies on an exact held-out lower bound instead of an
31+
in-sample point estimate, so a policy cannot clear the target by in-sample luck
32+
and then break the contract on real traffic. Coverage is now monotonic in the
33+
target, and a hybrid select-then-verify procedure recovers coverage at strict
34+
targets that a plain held-out split discarded.
35+
- Tree surrogates (decision tree, random forest, extra-trees, gradient boosting)
36+
are now off by default in `tracer fit`; the default zoo is the fast linear and
37+
MLP heads. Use `--trees` for hard, high-class-count tasks.
38+
- The HTML report is restyled to the light Tracer theme, and the word "audit" is
39+
dropped across the report and docs.
40+
41+
### Fixed
42+
- Non-monotonic coverage in the gate (a stricter target could deploy more coverage
43+
than a looser one).
44+
- NaN-robustness in acceptor fitting on degenerate surrogates.
45+
46+
## 0.1.3
47+
48+
Initial public releases: the parity-gated router (`fit`, `update`, `load_router`,
49+
`serve`), the HTML report and Sankey diagram, and the embedder factories.

‎src/tracer/__init__.py‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
TraceRecord,
2424
)
2525

26-
__version__ = "0.1.3"
26+
__version__ = "0.2.0"
2727

2828
__all__ = [
2929
# Core API

0 commit comments

Comments
 (0)