Skip to content

Build metrics and quality gates

build and build-fixture emit a JSON BuildSummary.

Field Meaning
edition Concrete edition imported.
db_path SQLite output path.
manifest_sha256 Digest of the source manifest used by the build.
imports Per-import summary objects.
metrics Aggregate ingestion counts and warning metrics.
gate_failures Human-readable threshold violations.
warnings Parser, import, and optional gate warnings.
Field Meaning
edition Concrete edition.
parts_loaded Parts with DocBook artifacts loaded into the build.
data_elements Imported PS3.6 data elements.
uids Imported UID registry entries.
iods Imported IOD records.
modules Imported module records.
macros Imported macro records.
iod_module_uses Imported IOD-to-module use rows.
iod_functional_group_uses Imported functional-group use rows.
attribute_uses Imported attribute-use rows.
include_rows_resolved Include rows linked to a target.
include_rows_unresolved Include rows without a resolved target.
sop_classes Imported SOP Class records.
conditions Imported condition records.
xrefs_total Imported cross-reference count.
xrefs_unresolved Cross-references without a resolved target.
parse_warnings Total parser-warning count.
parse_warnings_by_part Warning count keyed by every loaded part.
source_refs Imported source-reference count.

Specialized entity counts can appear in per-import summaries even when they are not top-level aggregate metric fields.

xrefs_unresolved / xrefs_total

When the denominator is zero, the implemented rate is zero.

Option:

--max-unresolved-xref-rate FLOAT

The value must be between 0 and 1.

include_rows_unresolved
/
(include_rows_resolved + include_rows_unresolved)

When the denominator is zero, the implemented rate is zero.

Option:

--max-unresolved-include-rate FLOAT

Option:

--max-parse-warnings INTEGER

The value must be zero or greater.

Without --allow-gate-failures:

  • the database build completes far enough to produce a summary;
  • threshold messages appear in gate_failures;
  • the CLI prints the summary;
  • the command exits with status 1.

With --allow-gate-failures:

  • the same failures remain in gate_failures;
  • each failure is appended to warnings;
  • the command exits successfully.

This option exposes failures; it does not make the underlying ingestion quality acceptable.

verify emits:

Field Meaning
status ok or failed.
edition Edition found or requested.
manifest_sha256 Verified manifest digest or null.
artifact_checks One checksum result per manifest artifact.
db_checks Optional database metadata check.
warnings Missing database or manifest/database diagnostic messages.

Artifact checks include expected and actual SHA-256 values. Database checks can include edition, source-manifest digest, schema version, and a diagnostic message.

For a full official-edition release check, the source project’s checklist requires:

  • DocBook artifacts for PS3.3, PS3.4, PS3.5, PS3.6, PS3.7, PS3.8, PS3.10, PS3.16, and PS3.18;
  • nonzero rows for the expected semantic tables;
  • citation-preserving document structure for each required part;
  • representative positive examples across encoding, media, DICOMweb, SR, context-group, and code lookup;
  • contextual value-term and text-fallback cases;
  • explicit parser-warning and unresolved-reference review.

The exact acceptable numeric thresholds are edition and project-policy decisions, not universal constants.