diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index ec4f6b1..8555325 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -4,9 +4,8 @@ # Repo settings — admins only /.github/settings.yml @open-component-model/admins -# Per-project entries are added here by the TSC after each project merges. -# OWNERS.md within each project remains TSC-controlled. +# Per-project entries are added by submitters as part of their project proposal PR. +# The TSC reviews and approves these entries before merge. # -# Example (added post-merge for each approved project): -# /my-plugin/ @alice @bob -# /my-plugin/OWNERS.md @open-component-model/tsc \ No newline at end of file +# Example: +# /my-plugin/ @alice @bob \ No newline at end of file diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 75d074f..95d572d 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -13,30 +13,34 @@ Projects live directly at the root of this repository: ``` / ├── README.md # Required: describe what the project does and why -├── OWNERS.md # Required: list at least one maintainer (GitHub handle) └── ... ``` -### 2. Open a Pull Request +### 2. Add a CODEOWNERS entry + +Your submission PR **must** include a CODEOWNERS change that assigns at least one +maintainer to your project directory: + +``` +# In .github/CODEOWNERS — add at the end: +// @your-github-handle @optional-co-maintainer +``` + +### 3. Open a Pull Request - Title format: `feat: add ` ([Conventional Commits](https://www.conventionalcommits.org/)) - The workflow will automatically post a review checklist comment tagging `@open-component-model/tsc` -### 3. TSC Review +### 4. TSC Review A TSC member reviews the submission against the checklist: - Project scope is compatible with OCM -- `OWNERS.md` lists at least one maintainer willing to maintain the project +- CODEOWNERS entry lists at least one maintainer willing to maintain the project - No security or licensing concerns TSC approval is enforced natively via CODEOWNERS — at least one TSC member must approve the PR before it can merge. -### 4. Post-Merge - -The TSC will add a CODEOWNERS entry for your project, granting you and any listed -co-maintainers review authority over `//`. - ## Contributing to an Existing Project Standard PR process — the TSC approval gate only activates when a new diff --git a/GOVERNANCE.md b/GOVERNANCE.md index 77eed44..79446ed 100644 --- a/GOVERNANCE.md +++ b/GOVERNANCE.md @@ -38,10 +38,11 @@ The TSC conducts periodic health checks on active projects. Projects inactive fo ## Code Ownership -Project-specific CODEOWNERS entries are added by the TSC after a project merges. -Project owners have full autonomy over their top-level project directory but cannot -modify repository-wide CI workflows. The `OWNERS.md` file within each project remains -TSC-controlled to prevent unilateral privilege escalation. +Project submissions must include a CODEOWNERS entry assigning maintainers to the +project directory. The TSC reviews and approves these entries as part of the +submission PR. Project owners have full autonomy over their top-level project +directory but cannot modify repository-wide CI workflows. Changes to CODEOWNERS +remain TSC-controlled to prevent unilateral privilege escalation. ## Governance Evolution diff --git a/README.md b/README.md index 41d7711..9261d40 100644 --- a/README.md +++ b/README.md @@ -11,7 +11,7 @@ All projects here have been reviewed and approved by the **TSC** before merge. ## Projects Community projects live directly at the root of this repository. Each project is an -independent directory with its own `README.md` and `OWNERS.md`. +independent directory with its own `README.md`. ## Contributing a New Project