Make the benchmark more trustworthy.
Good contributions make a number easier to reproduce, a contract easier to use, or a limitation easier to see. Keep changes direct, tested, and explainable.
Development setup.
git clone https://github.com/sachncs/trivium.git
cd trivium
uv venv
uv pip install -e ".[dev]" Run the quality gates.
ruff check .
ruff format --check .
mypy
pytest -q -m "not golden" --cov=trivium --cov-branch --cov-fail-under=90
npm --prefix site ci
npm --prefix site run build Golden tests are explicit regression anchors and require the benchmark data cache. Run them separately when that cache is available.
Design rules.
- Implement the smallest relevant public contract: embedder, retriever, fusion strategy, reranker, or pipeline.
- Register concrete components rather than adding forwarding wrappers or compatibility aliases.
- Validate persistence boundaries: shapes, cardinality, IDs, metadata, and atomic writes.
- When a benchmark number changes, update the evidence and explain why.