Class: Ucode::Models::Audit::AuditReport

Inherits:
Lutaml::Model::Serializable
  • Object
show all
Defined in:
lib/ucode/models/audit/audit_report.rb

Overview

Complete font audit report for a single face.

Self-describing: one face per file. Carries source provenance (‘source_file`, `source_sha256`, `font_index`, `num_fonts_in_source`) so a consumer reading a single face report knows whether the source was a standalone font or a collection face, and can locate siblings via the source hash.

The model is passive — no font-parsing logic lives here. The AuditCommand + Extractors populate every field.

ucode deltas vs fontisan’s AuditReport:

  • Drops CLDR (‘cldr_version`, `language_coverage`).

  • Renames ‘fontisan_version` → `ucode_version`.

  • Replaces ‘ucd_version: String` with `baseline: Baseline` (richer provenance + pairs with the resolved UCD database).

  • Replaces ‘unicode_scripts: String[]` with `scripts: ScriptSummary[]` (structured per-script coverage).

  • Replaces ‘blocks: AuditBlock` with `blocks: BlockSummary` (richer per-block status + plane tagging).

  • Adds ‘plane_summaries` (per-plane rollup).

  • Adds ‘discrepancies` (cheap audit signals).