Commit graph access/src/config/roles.ts
Author SHA1 Message Date
Peter Alexander
bd085c64fa
Add Triggers & Events Working Group (#90) 2026-03-25 15:12:12 -07:00
Den Delimarsky
a0dd148d65
Add typescript-sdk-collaborators team with push access to TS SDK repo (#89)
- New GitHub team typescript-sdk-collaborators (child of typescript-sdk)
- Grant push permission on modelcontextprotocol/typescript-sdk
- Add poteat as initial member

🏠 Remote-Dev: homespace
2026-03-24 13:27:35 -07:00
Den Delimarsky
e014aa7c4e
Add reference-servers-maintainers GitHub team with admin on servers repo (#88)
- Expand REFERENCE_SERVERS_MAINTAINERS role (previously Discord-only) to
  create a GitHub team
- Grant the team admin permission on modelcontextprotocol/servers
- Add tobinsouth as a new member

Existing members cliffhall and olaservo will also be added to the new
GitHub team.

🏠 Remote-Dev: homespace
2026-03-24 12:33:55 -07:00
Ola Hungerford
1e9e17ca7e
Add Tool Annotations Interest Group and enable Discord sync (#79)
* Add evalstate and cliffhall to docs-maintaners team

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>

* Add Tool Annotations Interest Group and enable Discord sync

Add rreichel3, mattzcarey, and SamMorrowDrums as facilitators
for the new Tool Annotations IG. Create GitHub team and Discord
role sync. Add Discord IDs for rreichel3 and mattzcarey.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* Add experimental-ext-tool-annotations repo for Tool Annotations IG

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude <noreply@anthropic.com>
2026-03-17 11:01:44 +00:00
Ola Hungerford
57d06350e5
Add sunishsheth2009 to Skills over MCP IG and enable Discord sync (#78)
- Add sunishsheth2009 as a new member of the skills-over-mcp-ig group
- Enable Discord role sync for the Skills over MCP Interest Group
- Add Discord IDs for erain, JAORMX, kaxil, and keithagroves

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-16 16:53:42 +00:00
Jeff Handley
f830732261
Update csharp-sdk repo access to use team assignments (#76)
* Add csharp-sdk-admin team and split csharp-sdk repo permissions

Introduce a csharp-sdk-admin team for admin access to the csharp-sdk repo,
while the existing csharp-sdk team is changed to push (write) access. This
separates admin privileges from general write access.

- Add CSHARP_SDK_ADMIN role to roleIds.ts and roles.ts
- Update repoAccess.ts: csharp-sdk-admin (admin), csharp-sdk (push), PederHP (triage)
- Add jeffhandley, ericstj, jozkee, tarekgh as new members in users.ts
- Move dend/localden from csharp-sdk to csharp-sdk-admin team
- Add csharp-sdk-admin membership for halter73, mikekistler, stephentoub
- Remove MackinnonBuck (admin) direct access per request

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Fix alphabetical ordering of new users in users.ts

Move ericstj after erain and jeffhandley before jenn-newton to satisfy
the case-insensitive alphabetical sort check in validate-config.ts.

🏠 Remote-Dev: homespace

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Den Delimarsky <den@anthropic.com>
2026-03-13 13:39:56 +00:00
David Soria Parra
9ecc452da6
Enable opt-in Google Workspace accounts for maintainers
Adds a google config with provisionUser to the MAINTAINERS role. Runtime
provisioning already gates on firstName/lastName/googleEmailPrefix, so
maintainers opt in by sending a PR adding those fields to their entry in
users.ts. Missing fields means no account is created.

Relaxes the validator and tests to treat missing GWS fields as implicit
opt-out rather than a hard error, so existing maintainers do not need
skipGoogleUserProvisioning set up front.

Also documents the opt-in flow in the README.
2026-03-07 22:44:59 +00:00
David Soria Parra
2de77b8684
Add Google Workspace user account provisioning (#66)
* Add Google Workspace user account provisioning

* Fix validation: remove stale skipGoogleUserProvisioning from a-akimov, add it for BobDickinson

- a-akimov: had skipGoogleUserProvisioning but is not in a provisionUser role (DOCS_MAINTAINERS)
- BobDickinson: is in REGISTRY_MAINTAINERS (provisionUser role) but missing Google user fields
2026-02-19 22:17:25 +00:00
Cliff Hall
3cb142ac7a
Add Tapan Chugh as facilitator for Primitive Grouping Interest Group (#58)
* Add Tapan Chugh as facilitator for Primitive Grouping Interest Group. Also npm audit fix to remove 14 high vulnerabilities.

* In package-lock.json
  - npm audit fix.
  - 0 vulnerabilities now
* In roles.ts
  - add PRIMITIVE_GROUPING_IG
* In roles.ts
  - add block for ROLE_IDS.PRIMITIVE_GROUPING_IG
    - **NOTE**: the github team and discord role are forward-looking and still need to be created
* In users.ts
  - add block for Tapan with role ids for
    - INTEREST_GROUPS
    - PRIMITIVE_GROUPING_IG
    - WG_IG_FACILITATORS

* In users.ts
  - add ROLE_IDS.MAINTAINERS to Tapan's entry as per DSP
2026-02-11 14:44:13 +00:00
Ola Hungerford
f816dbc40c
Add Skills Over MCP Interest Group role and users (#56)
* Add Skills Over MCP Interest Group and experimental-ext-skills repo

- Add SKILLS_OVER_MCP_IG role under interest-groups (GitHub team only)
- Add repo access for experimental-ext-skills per SEP-2133 governance:
  - core-maintainers: admin (oversight)
  - moderators: triage
  - skills-over-mcp-ig: admin (day-to-day governance)
- Add IG membership for: cliffhall, erain, JAORMX, kaxil, keithagroves,
  olaservo, pederhp, SamMorrowDrums, TeamSparkAI

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* Add SKILLS_OVER_MCP_IG role to user membership

* Fix alphabetical sorting of users

---------

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
Co-authored-by: Paul Carleton <paulcarletonjr@gmail.com>
2026-02-04 16:28:44 +00:00
Paul Carleton
f585e22f5e
Rename auth-wg to auth-maintainers (#50) 2026-01-29 17:30:31 +00:00
Paul Carleton
e44aeebc8a
Add WG/IG facilitators role for calendar access (#42)
* Add WG/IG facilitators role for calendar access

Add a new Discord-only role for Working Group and Interest Group
facilitators who need access to manage meetings on meet.modelcontextprotocol.io.

Initial members:
- Emily Lauber (@EmLauber) - Auth IG OAuth Mixup sub-working group
- Nate Barbettini (@nbarbettini)

* Fix member ordering - sort alphabetically
2026-01-28 15:47:13 +00:00
David Soria Parra
e36544e3af
Fix ext-apps: mcp-apps-wg should have push, not admin 2026-01-15 22:32:35 +00:00
David Soria Parra
a667c4306a
Add Discord role inheritance via parent traversal and discordImplies
- Add discordImplies field to Role interface for Discord-specific role hierarchy
- Add expandDiscordRoles() function to traverse both GitHub parent chain
  and discordImplies relationships when syncing Discord roles
- SDK_MAINTAINERS now implies MAINTAINERS for Discord

This ensures that users with SDK roles (GO_SDK, PYTHON_SDK, etc.) automatically
get the 'maintainers (synced)' Discord role through:
  GO_SDK -> SDK_MAINTAINERS (via GitHub parent) -> MAINTAINERS (via discordImplies)

Claude-Generated-By: Claude Code (cli/claude-opus-4-5=100%)
Claude-Steers: 5
Claude-Permission-Prompts: 1
Claude-Escapes: 0
2026-01-15 14:16:06 +00:00
Liad Yosef
1ee90512f0
chore: add apps-wg and discord/github for liad (#32)
* chore: add apps-wg and discord/github for liad

* Update src/config/roles.ts

Co-authored-by: David Soria Parra <167242713+dsp-ant@users.noreply.github.com>

* fix: PR comments

* minor: comment

---------

Co-authored-by: David Soria Parra <167242713+dsp-ant@users.noreply.github.com>
2026-01-15 00:03:50 +00:00
Tadas Antanavicius
95bcd72877
Add gateways-ig, roles for Tadas (#30)
* Add

* Missing comma

* Add Discord ID

* Prettier
2026-01-14 23:59:37 +00:00
David Soria Parra
f960494174
Add Discord role sync with role-centric architecture (#22)
* Add Discord role sync with role-centric architecture

This refactors the access management to use a role-centric model where
each role explicitly defines which platforms it exists on (GitHub,
Discord, Google).

Key changes:
- Add Discord role sync via Pulumi Dynamic Provider
- Replace groups.ts with roleIds.ts + roles.ts for type-safe role definitions
- Use ROLE_IDS constants to prevent typos in memberOf references
- Each role has platform-specific config (github/discord/google keys)
- Discord-only roles (e.g., administrators) and GitHub-only roles
  (e.g., typescript-sdk-auth) are now explicitly modeled
- Add PR preview workflow to show Pulumi changes before merge
- Add test-config.ts for config structure validation
- Fix typo: docs-maintaners -> docs-maintainers

Discord roles will match existing server roles:
- administrators, lead maintainers, core maintainers
- sdk maintainers, working groups, interest groups
- etc.

Requires new GitHub secrets:
- DISCORD_BOT_TOKEN
- DISCORD_GUILD_ID

* Fix GitHub team ordering and make Discord integration optional

- Add topological sort for GitHub teams to ensure parent teams are
  created before child teams, fixing the registry-wg parentTeamId issue
- Make Discord integration optional by using config.get() instead of
  config.require(), allowing CI preview to succeed without Discord secrets
- Add sortRolesByGitHubDependency() utility function in config/utils.ts

Claude-Generated-By: Claude Code (cli/claude-opus-4-5=20%)
Claude-Steers: 2
Claude-Permission-Prompts: 1
Claude-Escapes: 0

* Reconcile Discord roles for listed users

Replace per-role-membership approach with per-user role sync that:
- Adds missing roles users should have
- Removes managed roles users shouldn't have
- Only touches roles defined in config (won't affect admin roles, etc.)

Users not in config remain untouched.

Claude-Generated-By: Claude Code (cli/claude-opus-4-5=100%)
Claude-Steers: 4
Claude-Permission-Prompts: 1
Claude-Escapes: 0

* Fix descriptions to match existing resources

* Cache Pulumi plugins and fix GITHUB_TOKEN for pulumi install

* Remove accidentally committed state backup

* Use github.token for pulumi install

* Fix formatting

Fix deploy: add pulumi login before config set

Fix deploy: set PULUMI_CONFIG_PASSPHRASE_FILE for config commands

Import existing docs-maintainers team (remove after deploy)

Remove docs-maintainers import workaround

Add docs-maintainers cleanup to state cleanup

Add pulumi refresh before up to sync state with reality

Rename Discord roles to add (synced) suffix

Cleanup Makefile and add lead-maintainers GitHub team
2026-01-13 23:35:18 +00:00