Skip to content

Implement CAMARA Validation Framework v1 #448

@hdamker

Description

@hdamker

Problem description

CAMARA needs automated validation of API specifications across PR, pre-snapshot, and release review contexts. The current approach (MegaLinter-based pr_validation v0) covers only PR-time linting with limited configurability and no integration with the release automation workflow.

Part of #191 (Develop automation support in support of release management). Supersedes #353 (C1 workflow), which covered the PR-time subset of this scope.

Possible evolution

Implement the validation framework v1 as described in #447 (requirements and detailed design). Key capabilities:

  • Three execution contexts: PR-time (standard profile), pre-snapshot (strict profile), release review PR (subset checks)
  • Bundling pipeline: resolve external $ref to produce standalone API specs, replacing manual copy-paste of common schemas
  • Findings model: structured output with severity levels, validation profiles, and applicability conditions
  • Spectral ruleset pre-selection by Commonalities version (r3.4, r4.x)
  • Central configuration: per-repo validation settings managed in the tooling repository
  • Four-stage rollout: dark → advisory → standard → blocking, controlled per repository
  • Dedicated validation GitHub App for findings surfacing on fork PRs (annotations, comments, commit status)
  • Release automation handoff: bundled specs produced once during validation, consumed by snapshot creation

Dependencies

Additional context

The v1 caller workflow runs alongside the existing v0 caller during transition. Per-repo progression through rollout stages allows controlled adoption across 60+ repositories. v0 is removed per-repo after v1 is validated and blocking.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestrelease automationRelated to the implementation or introduction of new release automationwg managementIndicating issues with repository of the working group

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions