Text Ingestion Pipeline
8/8 facts correct across 2 entities. Fixed in v0.2.16.
B6 tests iranti_ingest: give Iranti a text passage and have it extract and store facts automatically. Earlier versions showed contamination (v0.2.12) and a silent chunker failure (v0.2.14). In v0.2.16, the pipeline works correctly — 8 out of 8 facts extracted, zero cross-entity contamination.
Results at a glance
iranti_ingest now works cleanly with a real AI provider. Facts extracted from each passage match the source — no bleed between entities, no hallucinated values, no silent failures.What this measures
Structured writes via iranti_write require the agent to explicitly name the key and provide the value. That works well — other benchmarks confirm it. But it shifts the extraction burden onto the calling agent. A more productive interface lets an agent hand Iranti a block of text and have the storage layer extract the facts automatically.
That is what iranti_ingest does. B6 tests whether this automatic extraction pipeline works reliably. The input is a short, unambiguous passage about a fictional researcher containing exactly 4 facts. A working ingest pipeline returns 4/4 correct per entity.
In v0.2.16, with a real AI provider, both entities returned 4/4. The full version history below shows how we arrived at a clean result.
Honest version history
B6 ran against three versions. The first two showed serious problems. The third is clean.
| Version | Result | Score | Notes |
|---|---|---|---|
| v0.2.12 | FAIL — contamination | 1/4 | 3/3 wrong values matched existing KB entries |
| v0.2.14 | FAIL — chunker silent failure | 0/4 | Chunker defect — ingest returned no extractions |
| v0.2.16 | PASS — fixed | 8/8 | Both entities fully correct, no contamination |
How it works now — source to extraction
Entity 1 (Dr. Elena Vasquez). All 4 facts extracted and stored correctly. No values from other KB entries.
"Dr. Elena Vasquez is a researcher at Stanford AI Lab. She has published 22 papers to date. Prior to her current role, she worked at Google Brain from 2016 to 2018. Her research focuses on out-of-distribution generalization."
- ✓Institution: Stanford AI Lab
- ✓Publications: 22
- ✓previous_employer.employer: Google Brain
- ✓Focus: out-of-distribution generalization
Full extraction results — both entities
Each row shows the ground truth from the source text and what Iranti stored. All 8 facts correct across both entities.
| Fact | Ground truth | What Iranti stored | Result |
|---|---|---|---|
| Institution | Stanford AI Lab | Stanford AI Lab | |
| Publication count | 22 | 22 | |
| Previous employer | Google Brain (2016–2018) | Google Brain / 2016 / 2018 | |
| Research focus | out-of-distribution generalization | out-of-distribution generalization | |
| Total | 4 facts | 4 correct | 4/4 |
| Fact | Ground truth | What Iranti stored | Result |
|---|---|---|---|
| Institution | MIT CSAIL | MIT CSAIL | |
| Publication count | 17 | 17 | |
| Previous employer | DeepMind (2019–2021) | DeepMind / 2019 / 2021 | |
| Research focus | causal inference | causal inference | |
| Total | 4 facts | 4 correct | 4/4 |
Important behavioral note — compound fact decomposition
The Librarian decomposes compound facts into sub-keys. A fact like "Google Brain 2016–2018" is not stored as a single string under previous_employer. Instead, three separate keys are written:
previous_employer), the query will return nothing. This is by design — the Librarian stores precision over convenience. Query previous_employer.employer instead. If you mix iranti_ingest-written entries with structured iranti_write entries for the same entity, ensure the key shapes are consistent.Honest limitations
iranti_ingest should not be used with a mock provider in production contexts.Key findings
iranti_ingest works correctly in v0.2.16 with a real AI provider. 8 out of 8 facts extracted correctly across 2 entities. Zero cross-entity contamination. The pipeline is now ready for evaluation in production-like conditions.iranti_ingest is correct and retrievable. The pipeline now composes cleanly with the rest of the KB surface.Full trial execution records, source text, extraction output, and methodology notes in the benchmarking repository.