Repository navigation
ulc CLI v1.19.0
Download a single-file binary for your platform below. See CHANGELOG.md
at the tag for what landed in this release.
This release changes three rules of the workbook converter. A CCT multiplier table no longer needs an LM-79 attestation, a fixed-axes record (Pattern A or C) carries the applicability block its workbook states, and the source_files sheet reads an optional photometry_format column. The schema, taxonomy, grading rows and generated index do not change; the builder remains 0.11.0 and the nine published examples remain byte-identical.
For consumers
By default, newly converted records declare 1.19.0. A workbook that 1.18.0 converted converts to the same record, except that a blank ulc_version cell now defaults to 1.19.0, unless it carries one of these previously ignored inputs:
- A Pattern A or C record that states
applicable_catalog_pattern,fixed_axes,applicable_sku_count_estimateorexcluded_combinationsnow carries that applicability data. A malformed cell, or a value schema validation rejects such as a non-string fixed axis or a negative estimate, ignored in 1.18.0, now fails conversion. - An IES, LDT or TM-33 source row that carries
photometry_formatnow writes the format and clears the corresponding enrichment gap. A format on another file type, an unknown token, or a token belonging to a different file type, ignored in 1.18.0, is now refused. An older converter ignores the column without a message.
A multiplier workbook without a single LM-79 anchor, refused before, now converts: the baseline row repeats the headline flux's own value type and provenance; the other rows are rated, scaled from the datasheet, with extension_method: cct_multiplier and no base_attestation_ref. Anchored multiplier rows are unchanged. Stored records need no re-stamp.
Validator and workbook
source_files.csvadds the optionalphotometry_formatheader afterfilename__revision_date. Its tokens come from the embeddedPhotometryFormattaxonomy. The converter refusessource_files row %q: photometry_format %q is allowed only on file_type ies, ldt or tm33, not %qandsource_files row %q: photometry_format %q is not a PhotometryFormat token, with the filename, token and, where applicable, file type filled in. The token must belong to the row's file type:lm63_*toies,eulumdattoldt,tm33_*totm33. A known token on a different photometric file type is refused withsource_files row %q: photometry_format %q belongs to file_type %s, not %q; the checks run in file-type, known-token, then token-family order.- Fixed-axes pins carry any applicability block their records row or
excluded_combinationssheet states. Covered axes stay absent. The existing malformed JSON, invalid integer and missing excluded-row axes or reason refusals now apply to Patterns A and C as well. - A CCT multiplier table no longer refuses for lack of a single LM-79 attestation. Without an anchor, its baseline row copies the headline's
value_typeand provenance; the scaled rows are rated with{source: datasheet_pdf, method: scaled, extension_method: cct_multiplier}and no base reference. These unanchored scaled rows rest on the headline flux rather than a base measurement. Multiple LM-79 rows without an explicit flux reference, or an ineligible single anchor, take the same unanchored shape. An explicittotal_luminous_flux_lm__attestation_refor an eligible single LM-79 anchor keeps the existing generated rows. - Missing baseline flux, a missing
baseline_axis_value, and a baseline absent from the multiplier table remain refusals. The missing-axis message now saysdeclared_by_cct has no baseline row to anchor. Length-scaled rows still require an LM-79 anchor. - CSV and XLSX readers produce the same source formats, fixed-axes applicability and unanchored multiplier rows. The schema, taxonomy, 71 gating rows, goldens and generated index are unchanged.
Documentation
The workbook README and converter design document describe the format column, applicability on fixed-axes records and multiplier provenance without an anchor. The package comments and CLI help describe the fixed-axes applicability block. The authoring-patterns guide distinguishes the headline baseline from anchored measurement provenance. The root README, roadmap and four PIM platform guides name the current release; the workbook README now accurately counts nine published examples.