Lineage beats cleverness
Store source, version, effective date and owner alongside every chunk. When a policy changes, superseded content must stop being retrievable, and previous answers must remain explainable against the version that produced them.
Permission-aware retrieval
Filter the candidate set by the requesting user's entitlements before ranking. Post-filtering leaks information through summaries and is not defensible in a review.
Chunking and evaluation
Structure-aware chunking that respects headings, tables and clause boundaries typically improves answer quality more than upgrading the model. Validate with a groundedness score on a fixed question set and track it release over release.
- Preserve tables as structured content rather than flattened text
- Keep clause and section identifiers in metadata for citation
- Re-embed on document change, not on a fixed schedule alone