Part of the 1.0 release-readiness push (see release/READINESS.md). Repo: the standalone solmara-lab repo (tracked here until it has a remote). Found during the 2026-07-07 YAML config audit.
Context
Each ministry's authority identity (id, iri, name, e.g. cra / did:web:id.registrystack.org:solmara:authority:cra / "Civil Registration Authority") is hand-written twice: in ministries/<ministry>/manifest/fragment.yaml and again in metadata/solmara-wave1.metadata.yaml's authorities: list. scripts/publish-metadata.py::load_fragments() merges only purposes and application_profiles from fragments, so a rename or IRI change in one file silently drifts from the other and flows into the published metadata bundle.
Scope
Either derive the authorities: list from the fragments in publish-metadata.py, or add a lint (alongside metadata-lint.py) asserting fragment authority fields match the wave manifest.
Acceptance
Part of the 1.0 release-readiness push (see
release/READINESS.md). Repo: the standalone solmara-lab repo (tracked here until it has a remote). Found during the 2026-07-07 YAML config audit.Context
Each ministry's authority identity (
id,iri,name, e.g.cra/did:web:id.registrystack.org:solmara:authority:cra/ "Civil Registration Authority") is hand-written twice: inministries/<ministry>/manifest/fragment.yamland again inmetadata/solmara-wave1.metadata.yaml'sauthorities:list.scripts/publish-metadata.py::load_fragments()merges onlypurposesandapplication_profilesfrom fragments, so a rename or IRI change in one file silently drifts from the other and flows into the published metadata bundle.Scope
Either derive the
authorities:list from the fragments inpublish-metadata.py, or add a lint (alongsidemetadata-lint.py) asserting fragment authority fields match the wave manifest.Acceptance
just lint.