The evidence engine runs — 18,860 claims later, a payment-rail question for Ergo

Hey all — update on the evidence-verification project from my earlier design thread ([ Building Knowledge Infrastructure That Can't Be Captured — and Figuring Out How to Pay for It — the five questions and capture-vector analysis live there]). It’s out of the design-doc stage now: the engine runs, the corpus is real, and there’s a working interface I use daily. Screenshots below (grey prototype mode — more on that at the end).

What exists. Two layers. Layer 1 extracts atomic claims from source documents — LLM-based, per document, every claim carrying its provenance. Layer 2 computes cross-source corroboration deterministically: plain SQL and Python, no model in the loop. Same graph in, same verdicts out — an instrument, not vibes. Current state: 18,860 claims from 958 papers, 26,348 edges, append-only, every claim traceable to a span in its source.

Traceable, meaning you can check it. Screenshot 1: a claim opened against its source paper. The right panel is the original full text; the highlighted span is what the extractor actually matched, and the match confidence is labeled rather than asserted. A 1973 paper, incidentally — the corpus runs back to the 1960s, and the old papers are often the ones nobody has re-checked since.

Screenshot 2 is the citation layer for a single paper: outbound references with DOIs resolved where they exist (20 of 30 here — the 10 unaccounted are references with no DOI to resolve, shown as absent rather than dropped), inbound citations, and bibliographic coupling to the rest of the corpus. Witnessed links and derived links are kept distinct, because those are different kinds of evidence.

1: a claim (left) opened against its source — the highlighted span is the extractor’s match, with confidence labeled.

2: the citation layer (right) for one paper — outbound (20/30 resolved, the 10 unaccounted have no DOI), inbound, and bibliographic coupling.

I’m posting here because… The system has to fund its own compute — no VC, no token, hard lines both. Institutions pay submission fees in fiat and that part is boring. The interesting demand is machine-generated: AI agents that want provenance-checked grounding before standing behind an output, paying small amounts, often, with no human in the loop. Fiat handles that badly. Ergo’s fee model and eUTXO design suit it — and the rail would carry service demand, agents paying for attestations, rather than speculation on anything I issue. I’m not issuing anything. Accepting payment on an existing rail is a different thing from minting an instrument, and the treasury policy (what’s held, what’s swept, concentration limits) belongs to governance, not to whoever pays.

The constraint behind all of it: the architecture has to survive its funders. Centralized compute, centralized storage, a single model provider, a single payment rail — each is a capture vector, and sovereignty is the requirement, not the garnish. That’s the argument for doing the payments thinking now, while the whole thing still fits on one machine, instead of retrofitting it at scale.

TL;DR: the engine runs — 18,860 source-checkable claims, deterministic corroboration anyone can re-run, citations resolved with the gaps shown. The open question for this community: is ERG the right rail for autonomous agents paying for provenance attestations at micro scale — and what breaks?

Not showing the full interface yet — deliberate, at this stage. Private development, public artifact when ready.

Correction to the numbers above. After the post shipped, a corpus audit found duplicate rows: 1,070 claim twins (a sandbox import lane had been loaded alongside the pipeline lane without twin detection) and 213 duplicate paper rows from DOI re-ingestions. All removed under full reconciliation — every deletion verified transaction-by-transaction, three timestamped backups retained, and 69 claim comparisons deleted where a claim had been compared against its own twin (false corroboration; zero remain). A standing twin-guard now runs after every ingest so this class of error can’t re-enter silently.

Honest totals: 17,790 claims across 745 papers, 26,208 claim–endpoint edges (was 18,860 / 958). The screenshots were never affected — the duplicates were row-level twins, not visible cards.

Posting this rather than quietly editing, because the pitch is that claims should be checkable. The corpus checked itself.