symfonic.evals.fixture_ingestion¶
fixture_ingestion ¶
Public ingestion plans for versioned evaluation fixtures.
The two supported routes deliberately share a section identity but not an
implementation. The default scaffold asks its public remember tool to
commit each section in its own turn. An adopter that composes document
knowledge can instead expose the same checksum-pinned sections through the
public :func:symfonic.capabilities.knowledge.knowledge_sources door.
Neither route treats a fluent acknowledgement as proof. The remember journey requires a successful tool result for every section and finishes by checking payload-free record evidence for exact coverage and duplicate publication. The document adapter pins every public document revision to the fixture checksum and rejects duplicate or unknown requested ids before prompt assembly.
FixtureDocument
dataclass
¶
FixtureDocument(document_id: str, title: str, text: str, revision: str = '', media_type: str = 'text/plain')
A document value consumed structurally by the public knowledge bridge.
FixtureDocumentStore
dataclass
¶
A checksum-versioned public DocumentStore over one book fixture.
fetch ¶
select_ids ¶
Validate an exact, duplicate-free subset for knowledge_sources.
Source code in src/symfonic/evals/fixture_ingestion.py
FixtureIngestionComplete
dataclass
¶
FixtureIngestionComplete(fixture: BookFixture = load_book_fixture(), attribute: str = 'fixture_ingestion_records', name: str = 'fixture_ingestion_complete')
Require one canonical, checksum-matching record per fixture section.
Targets expose only identity evidence under fixture_ingestion_records:
section_id, source_sha256, record_id and layer. Memory
content never enters the report.
FixtureIngestionMode ¶
Bases: StrEnum
The public application seam used to ingest the fixture.
FixtureIngestionReport
dataclass
¶
Applicability for both fixture ingestion routes, never a silent skip.
not_applicable
property
¶
Stable mode names that were not offered by this deployment.
as_dict ¶
Return a JSON-safe, content-free report.
Source code in src/symfonic/evals/fixture_ingestion.py
IngestionApplicability
dataclass
¶
One explicit applicable/not-applicable ingestion verdict.
fixture_ingestion_applicability ¶
fixture_ingestion_applicability(*, fixture: BookFixture | None = None, registered_tools: Iterable[str] = (), document_store: FixtureDocumentStore | None = None) -> FixtureIngestionReport
Report which ingestion routes the adopter actually supplied.
knowledge is not a compiled capability name in Symfonic; documents are
sources composed through prompting. Applicability therefore follows the
concrete public adapter, not a fictitious capability flag. The default
route follows the registered tool palette for the same reason.
Source code in src/symfonic/evals/fixture_ingestion.py
remember_fixture_scenario ¶
remember_fixture_scenario(fixture: BookFixture | None = None, *, conversation: str = 'glass-harbor-ingestion', scope: str = 'owner') -> Scenario
Build SC-05: one successful remember turn per checksum-pinned section.