@@ -9,24 +9,34 @@ For the underlying GitHub mechanics, see the upstream
99[ CODEOWNERS documentation] ( https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners ) .
1010This page only covers how LinkML uses it.
1111
12- ## The LinkML model: opt-in stewardship
12+ ## The LinkML model: core-team default with per-area stewardship
1313
14- LinkML uses an ** opt-in ** model. The ` CODEOWNERS ` file contains:
14+ LinkML uses a ** default-rule ** model. The ` CODEOWNERS ` file contains:
1515
16- - ** No default (` * ` ) rule.** Paths that no one has claimed are reviewed
17- normally, exactly as they were before CODEOWNERS existed. CODEOWNERS does
18- not create a new approval gate for the rest of the codebase.
16+ - ** A default (` * ` ) rule** requiring ` @linkml/core-team ` approval on any path
17+ not covered by a more specific rule. This closes the gap where a
18+ write-access holder could merge a PR touching an unclaimed area without any
19+ core-team sign-off. Because GitHub applies the * last* matching rule, the
20+ per-subsystem rules below still take precedence over the default for their
21+ own paths.
1922- ** Per-generator / per-subsystem rules** for specific directories (e.g.
2023 ` packages/linkml/src/linkml/generators/pydanticgen/ ` ,
2124 ` packages/linkml/src/linkml/generators/yarrrmlgen.py ` ) where a contributor
22- has explicitly volunteered to steward the code. The baseline for
23- identifying candidate stewards per generator is
24- [ Generator and Validator Governance] ( generator-governance.md ) , which
25- records contributor history from ` git blame ` .
25+ has explicitly volunteered to steward the code. These override the default
26+ for their paths. The baseline for identifying candidate stewards per
27+ generator is [ Generator and Validator Governance] ( generator-governance.md ) ,
28+ which records contributor history from ` git blame ` .
2629- ** Governance rules** — ` CODEOWNERS ` itself and the governance documents in
2730 ` docs/maintainers/ ` are owned by ` @linkml/core-team ` to prevent accidental
2831 self-appointments.
2932
33+ ``` {note}
34+ The default rule only has teeth if the branch protection rule **"Require
35+ review from Code Owners"** is enabled on `main`. Without it, GitHub records
36+ the code-owner requirement but does not block merges. Enabling that setting
37+ requires [admin](contributor-hierarchy.md) access.
38+ ```
39+
3040Implications:
3141
3242- Being listed in ` CODEOWNERS ` does ** not** grant repository write access.
0 commit comments