From 9ef382fe095027f6bfaf2d2bba91b3b2ac905cbb Mon Sep 17 00:00:00 2001 From: Layne Penney Date: Thu, 7 May 2026 18:15:25 -0500 Subject: [PATCH 1/2] fix: export RetrievalCandidate and GenerationOutput from adapters module README and docs import these types from synapt_eval.adapters but they were not re-exported from the package __init__.py. Also fix generation example fixture keyword mismatch (wrapper vs wraps) so the example runs clean on first try. Closes #3 Closes #5 Co-Authored-By: Claude Opus 4.6 --- examples/generation-eval/run.py | 2 +- src/synapt_eval/adapters/__init__.py | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/examples/generation-eval/run.py b/examples/generation-eval/run.py index b9635ba..85a5a55 100644 --- a/examples/generation-eval/run.py +++ b/examples/generation-eval/run.py @@ -21,7 +21,7 @@ FIXTURES = [ {"id": "g1", "query": "What is Python?", "expected": ["programming", "language"]}, {"id": "g2", "query": "Explain async/await", "expected": ["coroutine", "event loop"]}, - {"id": "g3", "query": "What is a decorator?", "expected": ["function", "wrapper"]}, + {"id": "g3", "query": "What is a decorator?", "expected": ["function", "wraps"]}, ] diff --git a/src/synapt_eval/adapters/__init__.py b/src/synapt_eval/adapters/__init__.py index 7f6082d..0e47cb6 100644 --- a/src/synapt_eval/adapters/__init__.py +++ b/src/synapt_eval/adapters/__init__.py @@ -1,15 +1,17 @@ """Adapter interfaces for customer integration.""" from synapt_eval.adapters.fixture_loader import FixtureLoader -from synapt_eval.adapters.generation_adapter import GenerationAdapter +from synapt_eval.adapters.generation_adapter import GenerationAdapter, GenerationOutput from synapt_eval.adapters.judge_adapter import JudgeAdapter, JudgeRequest, JudgeResponse -from synapt_eval.adapters.retrieval_adapter import RetrievalAdapter +from synapt_eval.adapters.retrieval_adapter import RetrievalAdapter, RetrievalCandidate __all__ = [ "FixtureLoader", "GenerationAdapter", + "GenerationOutput", "JudgeAdapter", "JudgeRequest", "JudgeResponse", "RetrievalAdapter", + "RetrievalCandidate", ] From bb286c77954882320e4e79b05bdef22cc67461f2 Mon Sep 17 00:00:00 2001 From: Layne Penney Date: Thu, 7 May 2026 18:42:17 -0500 Subject: [PATCH 2/2] fix: export adapter dataclasses for docs imports --- tests/unit/test_adapter_exports.py | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 tests/unit/test_adapter_exports.py diff --git a/tests/unit/test_adapter_exports.py b/tests/unit/test_adapter_exports.py new file mode 100644 index 0000000..816a910 --- /dev/null +++ b/tests/unit/test_adapter_exports.py @@ -0,0 +1,15 @@ +"""Public adapter export contract used by README and docs.""" + +from synapt_eval.adapters import ( + GenerationAdapter, + GenerationOutput, + RetrievalAdapter, + RetrievalCandidate, +) + + +def test_documented_adapter_imports_are_exported() -> None: + assert RetrievalAdapter.__name__ == "RetrievalAdapter" + assert RetrievalCandidate(id="doc1", score=0.9).id == "doc1" + assert GenerationAdapter.__name__ == "GenerationAdapter" + assert GenerationOutput(text="ok", latency_ms=1.0).text == "ok"