Reading the Fragments
Provenance evidence is scattered across archives that never lined up. Graphs read across them. Agents read within them. The audit trail makes the answer hold.
The story of a single object is never in one place.
A medal sits in a regimental museum's catalogue — a line of text, a donor's name, a date. The war diary that explains how it was earned sits in a national archive, scanned but never transcribed. The maker's mark is stamped on the object itself. An auction house sold a twin thirty years ago and recorded it in a printed catalogue. A family website has the photograph that ties the soldier to the medal to the grave. Five fragments. Five institutions. No shared key. Nobody has ever drawn the line between them.
That is the real problem in heritage. It isn't a shortage of evidence. It's that the evidence never lined up.
Why the fragments don't join.
Search needs matching strings; the same regiment is written four ways. Databases need a shared schema; a museum system from the 1990s and a national archive agree on nothing. The truth lives in the relationships between records — this medal, that soldier, this battle — and relationships are exactly what a row in a table cannot hold. You can pile every fragment in one place and still not read the story, because the story is in the connections, and the connections were never recorded.
A graph, not a database.
So we don't model records. We model a graph. Objects, people, places, events, makers — each a node. Provenance — made by, owned by, awarded for, present at — each an edge. The structure follows CIDOC-CRM, the ontology the museum world already uses, so a claim means the same thing across institutions.
Links are made by authority alignment, not string match. A regiment written four ways — the formal name, the abbreviation, the nickname, a wartime misspelling — resolves to one node because each form aligns to the same authority record, not because the text matches. And the links are drawn without any institution reading another's private data: the graph confirms that a corroborating record exists, not what it says. Each institution keeps its own collection, its own names, its own walls. The graph reaches across them anyway.
The evidence was never missing. The connections were.
Agents that read the fragments.
A graph is only as good as what fills it, and each fragment has to be read on its own terms. That is agent work — not one model doing everything, but a set of typed tools, each grounded in a named source and each declaring where its evidence came from. Vision pulls a hallmark or a serial off a photograph. Handwriting recognition turns a scanned war diary into text. Entity resolution decides two records are the same person. A linker proposes the edge between the medal and the battle. Each tool does one narrow thing, and says where it got it.
An orchestrator runs the plan:
- Extract — read marks, serials, and text out of photos and documents.
- Resolve — collapse name variants and duplicates onto single entities.
- Link — propose the edges between object, person, place, and event.
- Screen — check loss, theft, and restitution registers for flags.
- Corroborate — match against known-authentic objects and independent records.
- Score — compose the confidence number from everything above.
The Model Context Protocol makes each tool a clean, swappable interface, so a new archive or registry slots in behind a stable seam — no re-architecture to add the next source. And the whole plan runs in-jurisdiction, on sovereign inference, never on a US agent cloud, because institutional records don't leave their zone.
The score is not asserted. It's composed.
Here is the load-bearing idea. Every tool call emits an evidence record — { source, timestamp, input, output, confidence }. The chain of those records is the audit trail, and the audit trail is the score's dossier. The Provenance Confidence Score isn't a number a model announces. It is composed from logged tool calls, each one traceable to the source that produced it: data density × verification quality × corroboration. Every source named. That is the difference between a guess and a verdict an insurer or a court can rely on.
The loop that compounds.
Nothing inferred is trusted on sight. A claim the machine is sure of returns green; a claim it inferred returns amber and waits in a curator's queue; a conflict returns red. Only what a curator confirms is written back to the reference corpus — our growing database of authentic objects. That is the flywheel: every verified object makes the graph denser, which makes the next score more confident and better-sourced.
The engines are buildable. The corpus is not. A competitor can buy the same tools; they cannot buy the connections we have already drawn. Time builds that.
The fragments were always there. The intelligence was in the connections nobody could see across the walls. Read across them with a graph. Read within them with agents. Prove the answer with the log.
AI generates. veradis verifies.
Subscribe on Substack · also on LinkedIn.