Parent Issue: #38 (Three Reporting Workflows Strategy)
Problem description
The Repository Compliance Overview workflow exists but is not actively used and needs updates. Currently it only checks API repositories with 9-point template compliance and runs only on manual trigger. We need comprehensive repository health and compliance monitoring across ALL CAMARA repositories with category-specific checks.
Current workflow: camaraproject/project-administration/.github/workflows/project-report-camara-repository-overview.yml (v1.1, July 2025)
Possible evolution
1. Expand Repository Scope
Current: Only API repositories (filtered by topics: sandbox-api-repository, incubating-api-repository, graduated-api-repository)
Proposed: All CAMARA repositories with category-specific checks (API repositories, Working Group repositories, Project Infrastructure repositories, Other/unknown repositories flagged for categorization)
2. Configuration-Driven Repository Registry (Hybrid Approach)
Introduce hybrid registry with two files:
repository-registry.yaml (Manual, source of truth):
repositories:
- name: QualityOnDemand
category: api-incubating
sub_project: connectivity-quality-management
required_maintainers: 3
branch_protection_required: true
- name: ReleaseManagement
category: working-group
required_maintainers: 2
branch_protection_required: true
repository-state.yaml (Auto-generated, current snapshot):
repositories:
- name: QualityOnDemand
topics: [incubating-api-repository, qod, quality-of-service]
description: "Quality on Demand API..."
license: Apache-2.0
last_activity: 2025-11-15
maintainers_count: 5
Benefits: Clear policy expectations (registry defines what SHOULD be), automatic drift detection (state captures what IS), audit trail via state file PRs, community-accessible (non-admins can create registry PRs)
3. Enhanced Report Structure
Current: Single markdown report, 90-day artifact retention
Options: Separate reports by category, health score dashboard (0-100), severity-based violations (Critical/High/Medium/Low), multiple export formats (Markdown/JSON/CSV), persistent storage option
4. Separation of Concerns
- Repository Compliance (this workflow): Repository structure, governance files, configuration, templates
- API/Content Validation (separate CI/linting): OpenAPI spec validation, naming conventions
- Release Progress (separate workflow): Release readiness, API maturity tracking
Check Categories (high-level):
- Repository Configuration (topics, description, license, branch protection, visibility)
- Governance Files (CODEOWNERS, MAINTAINERS, GOVERNANCE.MD, LICENSE)
- Documentation Structure (README, CHANGELOG, directory structure, wiki links)
- Process Templates (issue templates, PR template, workflows)
- Activity and Health (last activity, stale issues/PRs, responsiveness, contributor diversity)
Detailed check definitions and requirements document will be created in a sub-issue.
Integration with Repository Lifecycle
The registry integrates with existing workflows:
- Repository Creation: Registry PR →
project-admin-api-repository-creation.yml → Compliance validates
- Repository Promotion: Registry PR updates category/requirements → Settings updated → Compliance validates
- Repository Renaming: Registry PR updates name → GitHub rename → State auto-updates
- Repository Archiving: Registry PR marks archived → Different compliance rules apply
Future: Registry PR could trigger automated repository configuration changes
Alternative solution
To be discussed.
Additional context
Implementation approach:
- Create sub-issue for detailed requirements document and check definitions
- Design repository-registry.yaml schema and populate with known repositories
- Implement repository-state.yaml generation (auto-discovery and snapshot)
- Phase 1: Core governance checks (CODEOWNERS, MAINTAINERS, LICENSE, topics validation)
- Phase 2: Enhanced reporting (health scores, severity categorization, drift detection)
- Phase 3: Activity metrics and trend analysis
Parent Issue: #38 (Three Reporting Workflows Strategy)
Problem description
The Repository Compliance Overview workflow exists but is not actively used and needs updates. Currently it only checks API repositories with 9-point template compliance and runs only on manual trigger. We need comprehensive repository health and compliance monitoring across ALL CAMARA repositories with category-specific checks.
Current workflow: camaraproject/project-administration/.github/workflows/project-report-camara-repository-overview.yml (v1.1, July 2025)
Possible evolution
1. Expand Repository Scope
Current: Only API repositories (filtered by topics: sandbox-api-repository, incubating-api-repository, graduated-api-repository)
Proposed: All CAMARA repositories with category-specific checks (API repositories, Working Group repositories, Project Infrastructure repositories, Other/unknown repositories flagged for categorization)
2. Configuration-Driven Repository Registry (Hybrid Approach)
Introduce hybrid registry with two files:
repository-registry.yaml(Manual, source of truth):repository-state.yaml(Auto-generated, current snapshot):Benefits: Clear policy expectations (registry defines what SHOULD be), automatic drift detection (state captures what IS), audit trail via state file PRs, community-accessible (non-admins can create registry PRs)
3. Enhanced Report Structure
Current: Single markdown report, 90-day artifact retention
Options: Separate reports by category, health score dashboard (0-100), severity-based violations (Critical/High/Medium/Low), multiple export formats (Markdown/JSON/CSV), persistent storage option
4. Separation of Concerns
Check Categories (high-level):
Detailed check definitions and requirements document will be created in a sub-issue.
Integration with Repository Lifecycle
The registry integrates with existing workflows:
project-admin-api-repository-creation.yml→ Compliance validatesFuture: Registry PR could trigger automated repository configuration changes
Alternative solution
To be discussed.
Additional context
Implementation approach: