Draft: feat(reference-check): relocate component from pipeline catalog
Relocates the reference-check CI/CD component from the pipeline catalog into this repo (the reference catalog), per the repo owner's decision to co-locate the checker with the standards and make check runner it depends on.
Why
reference-check clones the reference at a consumer's pinned tag and runs that tag's make check over the consumer repo, applying adoption-phase semantics, cross-referencing exemptions, and emitting markdown + JSON conformance reports. When it lived in the pipeline catalog it had a cross-catalog dependency on this repo's standards and make check target -- two catalogs that had to be versioned in lockstep for the checker to stay correct.
Co-locating it here means the checker, the standards, and the make check runner version together in one catalog. No more cross-catalog version coupling.
What changed
Added under templates/reference-check/:
template.yml-- ported verbatim from the pipeline branch (byte-identical). Keeps the clone-at-pinned-tag behavior (that is how a consumer's pipeline pulls the standards; it stays correct now that the component ships here). Still pulls theci-toolsimage from the pipeline catalog (registry.gitlab.com/gitlab-com/public-sector/pipeline/ci-tools:<ver>) -- cross-catalog image pull is fine andci-toolswas intentionally not moved.README.md-- ported; the threeinclude:examples now point at the reference catalog path (gitlab.com/gitlab-com/public-sector/reference/reference-check@<LATEST>), not the pipeline path. Added a "Standards alignment" note recording that the reference cannot runreference-checkagainst itself (self-exemption, registered incompliance/deviations.yaml) and runs the localmake checkdirectly.sim/-- sim fixtures (ok/+expired/) and the sim job definition (sim-reference-check.yml), relocated here because this repo has no existing sim harness in.gitlab-ci.yml. Fixture paths andchanges:globs were rewritten to the new layout; the pipeline-onlycontainers/ci-tools.Containerfilechange-trigger was dropped. A header note in the sim file flags that it is not yet wired into CI.
Updated:
CHANGELOG.md--[Unreleased] / Addedentry explaining the relocation and the version-coupling rationale.
Not done here (out of scope / follow-up)
- Wiring the sim into this repo's CI is a follow-up:
.gitlab-ci.ymlhas nosimstage and does notinclude:the sim file yet. - The
pipelinecatalog is not touched. Removal ofreference-checkfrom pipeline MR !56 is handled separately.
Validation
template.ymlconfirmed byte-identical to the source branch.- All YAML (template, sim, fixtures) parses under
yq. make validate-templatesandscripts/guard-checks.shpass locally (both are scoped to the lab/docs/paper starter templates and do not regress on the new component dir).