refactor(evidence): migrate acquisition and preprocessing (#30)

This commit is contained in:
2026-08-24 02:25:11 +02:00
parent d5e78febd3
commit 44f1efa5ba
18 changed files with 554 additions and 303 deletions
+44
View File
@@ -0,0 +1,44 @@
"""Explicit construction boundary for Evidence preprocessing."""
from typing import Protocol
from tht.corpus.chunk import ChunkPolicy
from tht.corpus.pipeline import CorpusPipeline
from tht.corpus.store import CorpusStore
from tht.evidence.contracts import EvidenceSource
from tht.ports.vector import VectorStore
class EvidenceEmbedder(Protocol):
def embed_documents(self, texts: list[str]) -> list[list[float]]: ...
def build_preprocessing_pipeline(
*,
store: CorpusStore,
sources: list[EvidenceSource],
embedder: EvidenceEmbedder,
vector_store: VectorStore,
embedding_model: str,
embedding_dimensions: int,
chunk_policy: ChunkPolicy,
pipeline_version: str,
retain_published_generations: int = 3,
workspace_id: str | None = None,
) -> CorpusPipeline:
"""Construct preprocessing from the bounded infrastructure supplied by core."""
return CorpusPipeline(
store=store,
sources=sources,
embedder=embedder,
vector_store=vector_store,
embedding_model=embedding_model,
embedding_dimensions=embedding_dimensions,
chunk_policy=chunk_policy,
pipeline_version=pipeline_version,
retain_published_generations=retain_published_generations,
workspace_id=workspace_id,
)
__all__ = ["EvidenceEmbedder", "build_preprocessing_pipeline"]