Skip to content

Committed output.json references index.html / cmec_output.log that are never produced (absent from manifest native) #763

Description

@lewisjared

Summary

Committed regression output.json bundles reference two artefacts — index.html (top-level index) and cmec_output.log (provenance.log) — that the diagnostics never actually produce, so they are absent from the test case's manifest.json native block. The committed bundle and the native manifest are therefore out of sync: a consumer reading output.json would expect those files to exist, but ref test-cases replay has nothing to materialise for them.

Surfaced in review of #762 on extratropical-modes-of-variability-nam/cmip7:

output.json still references index.html and cmec_output.log, but neither artefact is listed under native here. Add them to native, or remove those references from output.json.

Root cause

OutputBundle.create_template() seeds every CMEC output bundle with hardcoded defaults:

packages/climate-ref-core/src/climate_ref_core/pycmec/output.py:202-218

return {
    OutputCV.INDEX.value: "index.html",
    OutputCV.PROVENANCE.value: {
        ...
        OutputCV.LOG.value: "cmec_output.log",
    },
    ...
}

These defaults persist into the committed output.json even when the diagnostic writes neither file.

Scope (committed baselines on main, 43 cases scanned)

Artefact Referenced by Present in native
cmec_output.log all 43 0 — never generated by any provider
index.html all 43 ilamb 20/20; pmp 0/21, example 0/2

So cmec_output.log is a universal dangling reference, and index.html dangles for the 23 pmp + example cases (ilamb genuinely produces it). esmvaltool baselines (pending in #760) most likely follow the pmp/example pattern.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions