Lab: Build Hollin's ingestion pipeline end to end
Module 2 · Lab · About 75 minutes · Needs: lessons 1 to 5 of this module
What you are building
Kwame's prototype read whatever it could reach and indexed it whole. In this lab you replace that with hollin/ingest/, the package the rest of the course reads from. It takes the raw exports of Hollin's eight document systems, as they were on 2 October 2026, and does five things in order: capture each item's permissions, parse it with the cheapest parser tier that passes its checks, normalise the text, find copies, and emit one typed DocumentRecord per document with its provenance. Anything it cannot use goes on a rejection report with a stage, a reason and an action. The lessons built each piece in a notebook; here they become four files and a command, python -m hollin.ingest, with tests. No model is called.