Equilibrium Labs Docs
v0.1
Changelog GitHub
Menu

Validation

Source registry

Every source that appears in a claimcheck.validate result comes from the source registry — a public, queryable index of primary sources, maintained independently of any single claim. Sources don’t get added to the registry because a claim needed them; they’re added on their own merits, and claims draw from whatever registry entries are relevant.

What a registry entry carries

Each entry records enough metadata to use the source responsibly without going back to the publisher first:

  • source_id — a stable identifier, e.g. eurostat-silc-income-2023
  • title and publisher
  • license — the terms under which the source itself is published (not the terms Equilibrium Labs redistributes it under, if those differ)
  • access_terms — whether the source is openly downloadable, requires registration, or is accessible only via a paid tier
  • retrieval_date — when Equilibrium Labs last pulled the source, distinct from the source’s own publication date
  • url_or_doi
  • checksum — of the retrieved artifact, so a re-fetch can be compared against what claimcheck actually used
  • update_frequency — how often the publisher revises the source, where known

Looking up a source

PYTHON
from equilibrium import registry

entry = registry.get("eurostat-silc-income-2023")
entry.license
entry.retrieval_date

results = registry.search("EU-SILC")
[e.source_id for e in results]

The registry is also browsable on the docs site, and reachable from any claimcheck result — r.evidence[0].source_id maps directly onto a registry entry. If a source you expect to find isn’t there, it hasn’t been validated against yet; claimcheck will not silently fall back to an unregistered source, since doing so would break the traceability the rest of the result depends on.

Registry entries are versioned when the underlying source is revised — eurostat-silc-income-2023 and a future eurostat-silc-income-2024 are distinct entries, not the same entry updated in place, so a claim citing the 2023 entry keeps citing exactly that release even after a newer one exists.

View source on GitHub