Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 11 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,17 @@ Versions follow [Semantic Versioning](https://semver.org/).

## [Unreleased]

### Docs — analyzer zoo regenerated from the registries

`docs/analyzers.md` listed 29 of the 46 registered analyzers and 16 of the 57
model specs, and several listed rows had drifted from the code (`rollout` is
registered as `attention_rollout`; `linear_probe` is implemented, not a stub;
`mm_shap` and `relative_attention` cover more than images; two citations pointed
at the wrong paper). The page is now organised by `evalrx/analyzers/` subpackage
and by model group, and its tables are generated by `tools/gen_analyzer_docs.py`
(`--check` exits 1 when the page is stale;
`tests/test_analyzers/test_analyzer_docs.py` runs the same check).

## [0.1.2] — 2026-09-11

First release under the `evalrx` name (formerly published as `evalvitals`
Expand Down
4 changes: 3 additions & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@ mypy evalrx --ignore-missing-imports
2. If white-box internals are needed, add `evalrx/models/whitebox/<family>.py` — declare `capabilities` + implement `forward(inputs, capture) -> Trace` — and register with `@register_model`.
3. The `compose()` function in `evalrx/models/compose.py` wires everything together; no changes needed there for a new spec-only model.
4. Write a unit test in `tests/test_models/` using `FakeModel` from `tests/conftest.py` (no GPU needed).
5. Run `python tools/gen_analyzer_docs.py` to add the spec to the model tables in `docs/analyzers.md`.

See `docs/extending.md` for a full walkthrough.

Expand All @@ -40,8 +41,9 @@ See `docs/extending.md` for a full walkthrough.
4. Decorate with `@register_analyzer("<name>")`.
5. Import the new module in `evalrx/analyzers/<category>/__init__.py`.
6. Write a unit test using `FakeModel`.
7. Run `python tools/gen_analyzer_docs.py` and fill in the new row's name and Paper in `docs/analyzers.md`.

The new analyzer is instantly discoverable via `registry.analyzers.names_compatible_with(model)` — no other changes needed.
The new analyzer is instantly discoverable via `registry.analyzers.names_compatible_with(model)` — no other code changes needed.

## Pull requests

Expand Down
Loading
Loading