Build metrics and quality gates
build and build-fixture emit a JSON BuildSummary.
Build summary
Section titled “Build summary”| 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. |
Aggregate metrics
Section titled “Aggregate metrics”| 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.
Quality-gate settings
Section titled “Quality-gate settings”Unresolved cross-reference rate
Section titled “Unresolved cross-reference rate”xrefs_unresolved / xrefs_totalWhen the denominator is zero, the implemented rate is zero.
Option:
--max-unresolved-xref-rate FLOATThe value must be between 0 and 1.
Unresolved include-row rate
Section titled “Unresolved include-row rate”include_rows_unresolved/(include_rows_resolved + include_rows_unresolved)When the denominator is zero, the implemented rate is zero.
Option:
--max-unresolved-include-rate FLOATParse-warning count
Section titled “Parse-warning count”Option:
--max-parse-warnings INTEGERThe value must be zero or greater.
Gate-failure behavior
Section titled “Gate-failure behavior”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.
Verification result
Section titled “Verification result”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.
Release baseline
Section titled “Release baseline”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.