Skip to content

Commit 25253d7

Browse files
claude[bot]claude
andauthored
Fix WG/IG modeling gaps (#170)
Add the enterprise-managed-authorization IG, the two active auth sub-WGs (tool scopes and fine-grained authorization), an agents WG Discord role, and auth IG memberships from the charter. Convert skills-over-mcp from IG to WG and security from WG to IG per their charters, updating team names and all references. Add ochafik to the MCP Apps WG and pcarleton to the security IG. Remove the server-identity-wg and agents-ig roles, whose Discord channels are archived or gone. Fix the README link to src/config/roles.ts. Claude-Session: https://claude.ai/code/session_01VRxNJh9HqnkTYdpALP5Vhf Co-authored-by: Claude <noreply@anthropic.com>
1 parent f17de40 commit 25253d7

5 files changed

Lines changed: 72 additions & 61 deletions

File tree

‎README.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
Infrastructure as Code for managing access to MCP community resources using Pulumi.
44

5-
- Define groups in [`src/config/groups.ts`](src/config/groups.ts)
5+
- Define groups in [`src/config/roles.ts`](src/config/roles.ts)
66
- Add users to groups in [`src/config/users.ts`](src/config/users.ts)
77
- Changes are applied via GitHub Actions when merged to the main branch
88

‎src/config/repoAccess.ts‎

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ export const REPOSITORY_ACCESS: RepositoryAccess[] = [
3434
{ team: 'ruby-sdk', permission: 'push' },
3535
{ team: 'rust-sdk', permission: 'push' },
3636
{ team: 'sdk-maintainers', permission: 'push' },
37-
{ team: 'security-wg', permission: 'admin' },
37+
{ team: 'security-ig', permission: 'admin' },
3838
{ team: 'steering-committee', permission: 'push' },
3939
{ team: 'swift-sdk', permission: 'push' },
4040
{ team: 'transport-wg', permission: 'push' },
@@ -63,7 +63,7 @@ export const REPOSITORY_ACCESS: RepositoryAccess[] = [
6363
{ team: 'ruby-sdk', permission: 'triage' },
6464
{ team: 'rust-sdk', permission: 'triage' },
6565
{ team: 'sdk-maintainers', permission: 'triage' },
66-
{ team: 'security-wg', permission: 'admin' },
66+
{ team: 'security-ig', permission: 'admin' },
6767
{ team: 'steering-committee', permission: 'triage' },
6868
{ team: 'swift-sdk', permission: 'triage' },
6969
{ team: 'transport-wg', permission: 'triage' },
@@ -90,7 +90,7 @@ export const REPOSITORY_ACCESS: RepositoryAccess[] = [
9090
{ team: 'ruby-sdk', permission: 'push' },
9191
{ team: 'rust-sdk', permission: 'push' },
9292
{ team: 'sdk-maintainers', permission: 'push' },
93-
{ team: 'security-wg', permission: 'admin' },
93+
{ team: 'security-ig', permission: 'admin' },
9494
{ team: 'steering-committee', permission: 'push' },
9595
{ team: 'swift-sdk', permission: 'push' },
9696
{ team: 'transport-wg', permission: 'push' },
@@ -122,7 +122,7 @@ export const REPOSITORY_ACCESS: RepositoryAccess[] = [
122122
{ team: 'ruby-sdk', permission: 'triage' },
123123
{ team: 'rust-sdk', permission: 'triage' },
124124
{ team: 'sdk-maintainers', permission: 'triage' },
125-
{ team: 'security-wg', permission: 'admin' },
125+
{ team: 'security-ig', permission: 'admin' },
126126
{ team: 'steering-committee', permission: 'triage' },
127127
{ team: 'swift-sdk', permission: 'triage' },
128128
{ team: 'transport-wg', permission: 'triage' },
@@ -151,7 +151,7 @@ export const REPOSITORY_ACCESS: RepositoryAccess[] = [
151151
{ team: 'ruby-sdk', permission: 'push' },
152152
{ team: 'rust-sdk', permission: 'push' },
153153
{ team: 'sdk-maintainers', permission: 'push' },
154-
{ team: 'security-wg', permission: 'admin' },
154+
{ team: 'security-ig', permission: 'admin' },
155155
{ team: 'steering-committee', permission: 'push' },
156156
{ team: 'swift-sdk', permission: 'push' },
157157
{ team: 'transport-wg', permission: 'push' },
@@ -179,7 +179,7 @@ export const REPOSITORY_ACCESS: RepositoryAccess[] = [
179179
{ team: 'ruby-sdk', permission: 'push' },
180180
{ team: 'rust-sdk', permission: 'push' },
181181
{ team: 'sdk-maintainers', permission: 'push' },
182-
{ team: 'security-wg', permission: 'admin' },
182+
{ team: 'security-ig', permission: 'admin' },
183183
{ team: 'steering-committee', permission: 'push' },
184184
{ team: 'swift-sdk', permission: 'push' },
185185
{ team: 'transport-wg', permission: 'push' },
@@ -342,7 +342,7 @@ export const REPOSITORY_ACCESS: RepositoryAccess[] = [
342342
teams: [
343343
{ team: 'core-maintainers', permission: 'admin' },
344344
{ team: 'moderators', permission: 'maintain' },
345-
{ team: 'skills-over-mcp-ig', permission: 'admin' },
345+
{ team: 'skills-over-mcp-wg', permission: 'admin' },
346346
],
347347
},
348348
{

‎src/config/roleIds.ts‎

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -51,27 +51,28 @@ export const ROLE_IDS = {
5151
// ===================
5252
WORKING_GROUPS: 'working-groups',
5353
AUTH_MAINTAINERS: 'auth-maintainers',
54-
SECURITY_WG: 'security-wg',
55-
SERVER_IDENTITY_WG: 'server-identity-wg',
54+
AUTH_TOOL_SCOPES_WG: 'auth-wg-tool-scopes',
55+
AUTH_FINE_GRAINED_AUTHZ_WG: 'auth-wg-fine-grained-authz',
5656
TRANSPORT_WG: 'transport-wg',
5757
TRIGGERS_EVENTS_WG: 'triggers-events-wg',
5858
MCP_APPS_WG: 'mcp-apps-wg',
5959
SERVER_CARD_WG: 'server-card-wg',
6060
INTERCEPTORS_WG: 'interceptors-wg',
6161
FILE_UPLOADS_WG: 'file-uploads-wg',
6262
AGENTS_WG: 'agents-wg',
63+
SKILLS_OVER_MCP_WG: 'skills-over-mcp-wg',
6364

6465
// ===================
6566
// Interest Groups
6667
// ===================
6768
INTEREST_GROUPS: 'interest-groups',
68-
AGENTS_IG: 'agents-ig',
6969
AUTH_IG: 'auth-ig',
7070
CLIENT_IMPLEMENTOR_IG: 'client-implementor-ig',
71+
ENTERPRISE_MANAGED_AUTHORIZATION_IG: 'enterprise-managed-authorization-ig',
7172
FINANCIAL_SERVICES_IG: 'financial-services-ig',
7273
GATEWAYS_IG: 'gateways-ig',
7374
PRIMITIVE_GROUPING_IG: 'primitive-grouping-ig',
74-
SKILLS_OVER_MCP_IG: 'skills-over-mcp-ig',
75+
SECURITY_IG: 'security-ig',
7576
TOOL_ANNOTATIONS_IG: 'tool-annotations-ig',
7677

7778
// ===================

‎src/config/roles.ts‎

Lines changed: 25 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -299,17 +299,16 @@ export const ROLES: readonly Role[] = [
299299
// See AUTH_IG for Discord role
300300
},
301301
{
302-
id: ROLE_IDS.SECURITY_WG,
303-
description: 'Security Working Group',
304-
github: { team: 'security-wg', parent: ROLE_IDS.WORKING_GROUPS },
305-
// See interest group for Discord role
302+
id: ROLE_IDS.AUTH_TOOL_SCOPES_WG,
303+
description: 'Auth Tool Scopes Working Group',
304+
github: { team: 'auth-wg-tool-scopes', parent: ROLE_IDS.WORKING_GROUPS },
305+
discord: { role: 'auth tool scopes working group (synced)' },
306306
},
307307
{
308-
id: ROLE_IDS.SERVER_IDENTITY_WG,
309-
description: 'Server Identity Working Group',
310-
discord: { role: 'server identity working group (synced)' },
311-
// Discord only for now - no github.parent link to WORKING_GROUPS, so flag directly
312-
provisionUser: true,
308+
id: ROLE_IDS.AUTH_FINE_GRAINED_AUTHZ_WG,
309+
description: 'Auth Fine-Grained Authorization Working Group',
310+
github: { team: 'auth-wg-fine-grained-authz', parent: ROLE_IDS.WORKING_GROUPS },
311+
discord: { role: 'auth fine-grained authorization working group (synced)' },
313312
},
314313
{
315314
id: ROLE_IDS.TRANSPORT_WG,
@@ -351,6 +350,13 @@ export const ROLES: readonly Role[] = [
351350
id: ROLE_IDS.AGENTS_WG,
352351
description: 'Agents Working Group',
353352
github: { team: 'agents-wg', parent: ROLE_IDS.WORKING_GROUPS },
353+
discord: { role: 'agents working group (synced)' },
354+
},
355+
{
356+
id: ROLE_IDS.SKILLS_OVER_MCP_WG,
357+
description: 'Skills Over MCP Working Group',
358+
github: { team: 'skills-over-mcp-wg', parent: ROLE_IDS.WORKING_GROUPS },
359+
discord: { role: 'skills over mcp working group (synced)' },
354360
},
355361

356362
// ===================
@@ -362,12 +368,6 @@ export const ROLES: readonly Role[] = [
362368
github: { team: 'interest-groups', parent: ROLE_IDS.STEERING_COMMITTEE },
363369
// No discord - organizational container
364370
},
365-
{
366-
id: ROLE_IDS.AGENTS_IG,
367-
description: 'Agents Interest Group',
368-
discord: { role: 'agents interest group (synced)' },
369-
// Discord only
370-
},
371371
{
372372
id: ROLE_IDS.AUTH_IG,
373373
description: 'Auth Interest Group',
@@ -380,6 +380,12 @@ export const ROLES: readonly Role[] = [
380380
discord: { role: 'client implementor interest group (synced)' },
381381
// Discord only
382382
},
383+
{
384+
id: ROLE_IDS.ENTERPRISE_MANAGED_AUTHORIZATION_IG,
385+
description: 'Enterprise-Managed Authorization Interest Group',
386+
discord: { role: 'enterprise-managed authorization interest group (synced)' },
387+
// Discord only
388+
},
383389
{
384390
id: ROLE_IDS.FINANCIAL_SERVICES_IG,
385391
description: 'Financial Services Interest Group',
@@ -399,10 +405,10 @@ export const ROLES: readonly Role[] = [
399405
discord: { role: 'primitive grouping interest group (synced)' },
400406
},
401407
{
402-
id: ROLE_IDS.SKILLS_OVER_MCP_IG,
403-
description: 'Skills Over MCP Interest Group',
404-
github: { team: 'skills-over-mcp-ig', parent: ROLE_IDS.INTEREST_GROUPS },
405-
discord: { role: 'skills over mcp interest group (synced)' },
408+
id: ROLE_IDS.SECURITY_IG,
409+
description: 'Security Interest Group',
410+
github: { team: 'security-ig', parent: ROLE_IDS.INTEREST_GROUPS },
411+
// No synced Discord role yet, see the #security-ig channel
406412
},
407413
{
408414
id: ROLE_IDS.TOOL_ANNOTATIONS_IG,

0 commit comments

Comments
 (0)