Skip to content

Editions, manifests, and provenance

DICOM is republished in named editions. A reproducible knowledge base must identify the exact edition that produced every fact.

dicom-kb fetch --edition current reads official release metadata and requires exactly one concrete label to be discoverable. The resolved label follows the form:

20YYx

For example, a concrete label can look like 2025e.

The source manifest stores both:

  • edition: the concrete resolved edition;
  • resolved_from: the user’s original input, such as current.

Build and query commands use the concrete edition.

A concrete edition request is checked against the official archive listing before acquisition. This avoids silently downloading content from the mutable current directory for a historical label.

The manifest records:

  • concrete edition;
  • original resolution source;
  • acquisition timestamp;
  • parser version;
  • legal notice;
  • every artifact’s part and format;
  • cache-relative path;
  • official source URL when available;
  • byte size;
  • SHA-256 digest;
  • a digest over the canonical manifest content.

The manifest is immutable unless the user explicitly supplies --force.

A SQLite build stores metadata that includes:

  • edition;
  • source-manifest SHA-256;
  • schema version;
  • build metadata and metrics.

Query trace metadata can include the same source-manifest digest. This creates a chain:

query response
-> local SQLite build metadata
-> source manifest digest
-> cached artifact digests
-> official release URLs or registered local files

The default cache separates source and database paths by edition:

~/.cache/dicom-standard-kb/
artifacts/
<edition>/
db/
<edition>.sqlite

A client should treat edition as part of the query identity. Two equal-looking facts from different editions are not interchangeable without comparison.

dicom-kb verify recomputes:

  • the manifest digest;
  • each artifact’s SHA-256;
  • database metadata compatibility with the manifest.

It detects missing files, checksum changes, absent metadata, and edition or manifest mismatches. It does not re-fetch or repair content automatically.

Record these together in an application or agent evaluation:

concrete edition
database path
source-manifest SHA-256
project/package version
query input
query response trace

This is more reliable than recording only a mutable current URL or a natural language answer.