Strict Tier-2 Protocols at v1.0#
This page enumerates the 10 strict Tier-2 Protocols + 1 opt-in Protocol that make up the v1.0 stability contract per ADR 0003 — Stability contract and Gate 3 methodology §1. Method-signature changes on any of these require a SemVer-major (v2.0) bump.
The eval_toolkit.protocols module intentionally holds only the
lightweight, low-dependency-surface Protocols (Scorer,
TextTransform, Versioned, plus three additive helpers). The remaining
Tier-2 Protocols live in their topic modules to avoid pulling in
pandas / sklearn / matplotlib transitively from a “central protocol
module.”
The canonical import path for every strict Tier-2 Protocol is the
top-level package — from eval_toolkit import Scorer (and so on for
each). The submodule paths in the table below show where the source
lives but are an internal detail; users should not depend on them
unless they explicitly need a typing-only import in a constrained
dependency-surface context.
The 10 strict Tier-2 Protocols (+ 1 opt-in)#
Protocol |
Canonical import |
Source module |
Concrete implementations |
|---|---|---|---|
|
|
|
Any object with |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Anything in |
|
|
|
All 12 adversarial dataclasses ( |
|
|
|
|
|
|
|
|
|
|
|
|
Opt-in Protocol (additive on top of Tier-2):
Protocol |
Canonical import |
Source module |
Notes |
|---|---|---|---|
|
|
|
Any object exposing |
Why no central re-export module?#
The eval_toolkit.protocols module intentionally stays
lightweight — it imports nothing heavy (no pandas, sklearn,
matplotlib, or filesystem-oriented helpers), so consumers can type
adapters in a constrained dependency-surface context. If
eval_toolkit.protocols re-exported all 10 strict Tier-2
Protocols, importing it would transitively pull in every heavy
implementation module. The current design preserves the lightweight
intent.
For one-stop discovery, use this page or the table in ADR 0003 §1.
For type-only imports in your own code, the canonical
from eval_toolkit import <Protocol> form is always available and
stable through v1.x.
See also#
ADR 0003 — Stability contract and Gate 3 methodology — defines the Tier 1/2/3 framework these Protocols live in.
eval_toolkit.protocols— the lightweight-Protocol module (Scorer,TextTransform,Versioned,EvalSliceLike,PredictionReader,SliceAwareScorer).Migration guide — every breaking change to these Protocols would appear here as a SemVer-major bump.