From Medallion to Context: Building an Evidence-Driven Data Architecture
Enterprise data lives in CRMs, emails, meeting transcripts, and documents. Connecting those sources is the easy part. The harder problem is knowing which records describe the same entity, which interactions belong to which opportunity, and how that context changes as new evidence arrives.
Medallion architecture assumes every record has one authoritative source. Commercial data rarely works that way. A CRM field, a call transcript, and an email thread can all describe the same opportunity and still disagree – and each one is a valid observation from its own source.
Alex Vesa, Co-founder & CTO at Narrio, will walk through how his team is building a context layer on a medallion foundation: keeping the Bronze, Silver, and Gold separation while replacing the single-source assumption underneath it. The session covers immutable ingestion with provenance and versioning, entity resolution where every decision carries its evidence and a confidence level, and what happens when a correction arrives late – how you determine its blast radius and recompute only the context it affects. It also covers where deterministic processing ends and LLMs begin: exact matching and constraints first, escalating to fuzzy matching, embeddings, or models only when needed – an ordering that buys auditability, not just lower cost. Expect an honest account, including why a pipeline can pass every test and still attribute an interaction to the wrong opportunity.
Key takeaways
- Why the single-source assumption breaks on commercial data, and what to put in its place without abandoning the medallion pattern
- How to keep provenance, evidence and confidence attached to every resolution decision
- Designing for asynchronous ingestion, late-arriving evidence and source corrections – blast radius and targeted recomputation instead of full reprocessing
- Escalating from deterministic matching to embeddings and LLMs in an order that stays auditable and cost-controlled
- Why consuming applications should surface uncertainty rather than hide it
