A document becomes a searchable corpus
The ingestion path — and the two places it refuses to do the wrong thing.
- 1An uploaded document is hashed whole and per page, and rejected if that content is already indexed
- 2Text is extracted block by block with page numbers preserved, then normalised
- 3The text is split into overlapping windows that end on sentence boundaries
- 4Each chunk is embedded and written to the vector collection, with retries so a transient failure does not leave a hole
- 5Document identity, chunk count and hashes are recorded on the relational side for operators to reason about



