diff --git a/README.md b/README.md index d3aed82..dc81c29 100644 --- a/README.md +++ b/README.md @@ -78,7 +78,7 @@ The [contributor ladder](https://modelcontextprotocol.io/community/contributor-l Things to know when reading the config against the ladder: -- **GitHub child teams inherit their parent's repository access.** WG, IG, and SDK teams nest under `steering-committee` (via `working-groups`, `interest-groups`, and `sdk-maintainers`). Their members therefore get `steering-committee`'s grants, which include `triage` on `modelcontextprotocol` and `.github`, and `push` on `docs`, `inspector`, `quickstart-resources`, and `servers`. This is independent of ladder rank. Roles that must not inherit these grants (`members`, `maintainers`, `security-team`) have no parent. +- **GitHub child teams inherit their parent's repository access.** WG, IG, and SDK teams nest under `steering-committee` (via `working-groups`, `interest-groups`, and `sdk-maintainers`). Their members therefore get `steering-committee`'s grants, which include `triage` on `modelcontextprotocol`, `.github`, `inspector`, `quickstart-resources`, and `servers`, and `push` on the archived `docs` repository. Write access on those repositories comes from the team that owns each one: `inspector-maintainers` on `inspector`, `reference-servers-maintainers` on `servers`, and `docs-maintainers` on `quickstart-resources`. This is independent of ladder rank. Roles that must not inherit these grants (`members`, `maintainers`, `security-team`) have no parent. - **Some roles have no ladder counterpart.** These are functional or operational roles: `security-managers`, `security-team`, CODEOWNERS teams (`*-auth`, `conformance-auth`), collaborator teams (`registry-collaborators`, `typescript-sdk-collaborators`), `csharp-sdk-admin`, Discord-only `administrators` and `community-managers`, and Google email groups. - **Per-user grants** in `repoAccess.ts` (the `users` lists) are not tied to any ladder role. - **`security-ig` has `admin` on six repositories** (`docs`, `.github`, `inspector`, `modelcontextprotocol`, `quickstart-resources`, `servers`). This was carried over unchanged from `security-wg` in #170, and reviewing it is tracked as a separate workstream. diff --git a/src/config/repoAccess.ts b/src/config/repoAccess.ts index 53beced..49ae600 100644 --- a/src/config/repoAccess.ts +++ b/src/config/repoAccess.ts @@ -147,27 +147,27 @@ export const REPOSITORY_ACCESS: RepositoryAccess[] = [ repository: 'inspector', teams: [ { team: 'inspector-maintainers', permission: 'admin' }, - { team: 'auth-maintainers', permission: 'push' }, + { team: 'auth-maintainers', permission: 'triage' }, { team: 'core-maintainers', permission: 'maintain' }, - { team: 'csharp-sdk', permission: 'push' }, - { team: 'go-sdk', permission: 'push' }, - { team: 'java-sdk', permission: 'push' }, - { team: 'kotlin-sdk', permission: 'push' }, + { team: 'csharp-sdk', permission: 'triage' }, + { team: 'go-sdk', permission: 'triage' }, + { team: 'java-sdk', permission: 'triage' }, + { team: 'kotlin-sdk', permission: 'triage' }, { team: 'members', permission: 'triage' }, { team: 'moderators', permission: 'maintain' }, - { team: 'php-sdk', permission: 'push' }, - { team: 'python-sdk', permission: 'push' }, - { team: 'python-sdk-auth', permission: 'push' }, - { team: 'registry-wg', permission: 'push' }, - { team: 'ruby-sdk', permission: 'push' }, - { team: 'rust-sdk', permission: 'push' }, - { team: 'sdk-maintainers', permission: 'push' }, + { team: 'php-sdk', permission: 'triage' }, + { team: 'python-sdk', permission: 'triage' }, + { team: 'python-sdk-auth', permission: 'triage' }, + { team: 'registry-wg', permission: 'triage' }, + { team: 'ruby-sdk', permission: 'triage' }, + { team: 'rust-sdk', permission: 'triage' }, + { team: 'sdk-maintainers', permission: 'triage' }, { team: 'security-ig', permission: 'admin' }, - { team: 'steering-committee', permission: 'push' }, - { team: 'swift-sdk', permission: 'push' }, - { team: 'transport-wg', permission: 'push' }, - { team: 'typescript-sdk', permission: 'push' }, - { team: 'typescript-sdk-auth', permission: 'push' }, + { team: 'steering-committee', permission: 'triage' }, + { team: 'swift-sdk', permission: 'triage' }, + { team: 'transport-wg', permission: 'triage' }, + { team: 'typescript-sdk', permission: 'triage' }, + { team: 'typescript-sdk-auth', permission: 'triage' }, ], }, { @@ -209,59 +209,59 @@ export const REPOSITORY_ACCESS: RepositoryAccess[] = [ { repository: 'quickstart-resources', teams: [ - { team: 'auth-maintainers', permission: 'push' }, + { team: 'auth-maintainers', permission: 'triage' }, { team: 'core-maintainers', permission: 'maintain' }, - { team: 'csharp-sdk', permission: 'push' }, + { team: 'csharp-sdk', permission: 'triage' }, { team: 'docs-maintainers', permission: 'push' }, - { team: 'go-sdk', permission: 'push' }, - { team: 'ig-financial-services', permission: 'push' }, - { team: 'interest-groups', permission: 'push' }, - { team: 'java-sdk', permission: 'push' }, - { team: 'kotlin-sdk', permission: 'push' }, + { team: 'go-sdk', permission: 'triage' }, + { team: 'ig-financial-services', permission: 'triage' }, + { team: 'interest-groups', permission: 'triage' }, + { team: 'java-sdk', permission: 'triage' }, + { team: 'kotlin-sdk', permission: 'triage' }, { team: 'members', permission: 'triage' }, { team: 'moderators', permission: 'maintain' }, - { team: 'php-sdk', permission: 'push' }, - { team: 'python-sdk', permission: 'push' }, - { team: 'python-sdk-auth', permission: 'push' }, - { team: 'registry-wg', permission: 'push' }, - { team: 'ruby-sdk', permission: 'push' }, - { team: 'rust-sdk', permission: 'push' }, - { team: 'sdk-maintainers', permission: 'push' }, + { team: 'php-sdk', permission: 'triage' }, + { team: 'python-sdk', permission: 'triage' }, + { team: 'python-sdk-auth', permission: 'triage' }, + { team: 'registry-wg', permission: 'triage' }, + { team: 'ruby-sdk', permission: 'triage' }, + { team: 'rust-sdk', permission: 'triage' }, + { team: 'sdk-maintainers', permission: 'triage' }, { team: 'security-ig', permission: 'admin' }, - { team: 'steering-committee', permission: 'push' }, - { team: 'swift-sdk', permission: 'push' }, - { team: 'transport-wg', permission: 'push' }, - { team: 'typescript-sdk', permission: 'push' }, - { team: 'typescript-sdk-auth', permission: 'push' }, - { team: 'working-groups', permission: 'push' }, + { team: 'steering-committee', permission: 'triage' }, + { team: 'swift-sdk', permission: 'triage' }, + { team: 'transport-wg', permission: 'triage' }, + { team: 'typescript-sdk', permission: 'triage' }, + { team: 'typescript-sdk-auth', permission: 'triage' }, + { team: 'working-groups', permission: 'triage' }, ], }, { repository: 'servers', teams: [ { team: 'reference-servers-maintainers', permission: 'admin' }, - { team: 'auth-maintainers', permission: 'push' }, + { team: 'auth-maintainers', permission: 'triage' }, { team: 'core-maintainers', permission: 'admin' }, - { team: 'csharp-sdk', permission: 'push' }, - { team: 'docs-maintainers', permission: 'push' }, - { team: 'go-sdk', permission: 'push' }, - { team: 'java-sdk', permission: 'push' }, - { team: 'kotlin-sdk', permission: 'push' }, + { team: 'csharp-sdk', permission: 'triage' }, + { team: 'docs-maintainers', permission: 'triage' }, + { team: 'go-sdk', permission: 'triage' }, + { team: 'java-sdk', permission: 'triage' }, + { team: 'kotlin-sdk', permission: 'triage' }, { team: 'members', permission: 'triage' }, { team: 'moderators', permission: 'maintain' }, - { team: 'php-sdk', permission: 'push' }, - { team: 'python-sdk', permission: 'push' }, - { team: 'python-sdk-auth', permission: 'push' }, - { team: 'registry-wg', permission: 'push' }, - { team: 'ruby-sdk', permission: 'push' }, - { team: 'rust-sdk', permission: 'push' }, - { team: 'sdk-maintainers', permission: 'push' }, + { team: 'php-sdk', permission: 'triage' }, + { team: 'python-sdk', permission: 'triage' }, + { team: 'python-sdk-auth', permission: 'triage' }, + { team: 'registry-wg', permission: 'triage' }, + { team: 'ruby-sdk', permission: 'triage' }, + { team: 'rust-sdk', permission: 'triage' }, + { team: 'sdk-maintainers', permission: 'triage' }, { team: 'security-ig', permission: 'admin' }, - { team: 'steering-committee', permission: 'push' }, - { team: 'swift-sdk', permission: 'push' }, - { team: 'transport-wg', permission: 'push' }, - { team: 'typescript-sdk', permission: 'push' }, - { team: 'typescript-sdk-auth', permission: 'push' }, + { team: 'steering-committee', permission: 'triage' }, + { team: 'swift-sdk', permission: 'triage' }, + { team: 'transport-wg', permission: 'triage' }, + { team: 'typescript-sdk', permission: 'triage' }, + { team: 'typescript-sdk-auth', permission: 'triage' }, ], }, {