Class: Ucode::Models::BuildReport
- Inherits:
-
Lutaml::Model::Serializable
- Object
- Lutaml::Model::Serializable
- Ucode::Models::BuildReport
- Defined in:
- lib/ucode/models/build_report.rb
Overview
Build report for one canonical Unicode dataset run. The
deliverable spec'd in TODO 21: emitted at the end of a Mode 1
build as output/build-report.json, summarizing what got built,
how (per-tier), per-block, and any failures.
The model is passive — accumulation logic lives in Repo::BuildReportAccumulator; this class only describes the wire shape and handles (de)serialization via lutaml-model.
Wire format (see TODO 21):
{
"unicode_version": "17.0.0",
"ucode_version": "0.2.0",
"generated_at": "2026-07-01T12:00:00Z",
"totals": { "assigned": 150012, "built": 150012,
"skipped": 0, "failed": 0 },
"by_tier": { "tier-1": 150012, "pillar-1": 3000, ... },
"by_block": [
{ "name": "Basic Latin", "assigned": 128, "built": 128,
"tier_breakdown": { "tier-1": 128 } },
...
],
"failures": []
}
by_tier counts overlap across tiers (a codepoint attempted via
Tier 1 but falling through to Pillar 1 is counted in both);
built per-codepoint is the tier that actually produced its
glyph.
Defined Under Namespace
Classes: BlockSummary, Failure, Totals