Skip to content

solmara-lab: CI never parses the checked-in relay/notary configs; add a doctor-load gate #4

Description

@jeremi

Part of the 1.0 release-readiness push (see release/READINESS.md). Repo: the standalone solmara-lab repo (replaces lab/ before 1.0; tracked here until it has a remote). Found during the 2026-07-07 YAML config audit.

Context

solmara-lab's CI (just lint / just test / just compose) validates compose syntax, metadata publishing, image-pin format, and fiction/secret patterns, but nothing ever parses ministries/*/config/*.yaml (6 relay configs) or notaries/*.yaml (4 notary configs) against the real products. The monorepo lab had the same gap (only a manual lab2-doctor-profile.sh, never wired into CI), and hand-maintained configs there accumulated defects that a load pass would have caught at commit time.

Scope

Add a CI job that runs registry-relay doctor --config ... and registry-notary doctor --config ... using the digest-pinned images from versions.env against every checked-in config. Since the products enforce deny_unknown_fields plus semantic validation, this is the strongest available check and costs only a container pull.

Acceptance

  • Every checked-in relay and notary config is loaded by the real product binary on every PR.
  • A deliberately typo'd key in any config fails CI.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions