Commit graph

232 commits

Author SHA1 Message Date
claude[bot]
ec213dacc4
Add conformance-auth team for authorization-server code ownership (#177)
Adds tnorimat as a member, creates the conformance-auth GitHub team
(tnorimat + pcarleton), and grants it push on the conformance repo so
the team can be referenced from a CODEOWNERS file there.


Claude-Session: https://claude.ai/code/session_01FDRFtxQbYLnBcpwndGXF7W

Co-authored-by: Claude <noreply@anthropic.com>
2026-09-03 20:32:30 +01:00
claude[bot]
29729cb8dc
Add Core Primitive Working Group with kurtisvg and dsp-ant as initial members (#172)
Co-authored-by: Claude <noreply@anthropic.com>
2026-08-20 23:39:32 +01:00
claude[bot]
25253d7fd3
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>
2026-08-19 16:09:04 +01:00
claude[bot]
f17de4044a
Add npm/PyPI package publishing access management (config + drift detection) (#169)
* Add npm/PyPI package publishing access management (config + drift detection)

Declare expected npm org membership, per-package maintainers and trusted
publishers, and PyPI project rosters in src/config/packageAccess.ts, with
npm/pypi identity fields on members in users.ts.

Deliberately outside the Pulumi resource graph: npm governance writes
require an interactive 2FA challenge since August 2026 (read endpoints
still work with a granular access token), and PyPI has no management API
at all. Drift against the live npm registry is detected read-only by
scripts/check-package-drift.ts (weekly via package-drift.yml, no-op when
the NPM_READ_TOKEN secret is absent), which emits a remediation plan of
npm CLI commands for a maintainer to run in one 2FA-approved session.
PyPI procedures are documented as a manual runbook in the README.

* Encode all slashes when escaping package names in registry URLs

Fixes the CodeQL finding: String.replace with a string pattern only
replaces the first occurrence. Use a shared helper with a global regex,
following the npm CLI convention (keep '@' literal, encode every '/').

---------

Co-authored-by: Claude <noreply@anthropic.com>
2026-08-19 12:12:46 +01:00
Bob Dickinson
ca10c555cc
chore: opt BobDickinson into Google Workspace provisioning (#165)
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-09 22:41:29 -07:00
Matt
98882353a4
chore: add Matt Carey Google Workspace details (#166) 2026-08-09 22:41:09 -07:00
Ukjae Jeong
71dc53aacb
Opt in to a gworkspace account for jeongukjae (#167) 2026-08-09 22:40:43 -07:00
David Soria Parra
63a42f7c12
chore: keep nick@ GWS account for emeritus naldridge
Restore the googleEmailPrefix dropped in the previous commit and mark the
account existingGWSUser so it is kept but no longer Pulumi-managed, matching
how toby's emeritus account is handled. Before deploying, remove the
gws-user-nick resource from Pulumi state (pulumi state delete, not destroy)
or Pulumi will delete the real account.

No-Verification-Needed: declarative access config, only exercisable via prod deploy
2026-08-05 22:52:12 +00:00
David Soria Parra
637592022d
chore: remove naldridge from CORE_MAINTAINERS (moved to emeritus)
Same approach as pwwpche in #111: keep the member entry, empty memberOf.
The googleEmailPrefix is dropped since no remaining role provisions a
GWS account, so the nick@ account will be deprovisioned on next deploy.

No-Verification-Needed: declarative access config, only exercisable via prod deploy
2026-08-05 18:49:38 +00:00
Ola Hungerford
2d03cd90e0
Skills Over MCP IG membership housekeeping (#160)
* Skills Over MCP IG membership housekeeping

Add aditya-scio to the Skills Over MCP Interest Group.

Remove the IG role from BobDickinson; his other roles are unchanged.

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

* Apply prettier formatting

Bob's memberOf array now fits on one line at printWidth 100.

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

---------

Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
2026-08-04 04:47:34 +00:00
Daniel Garnier-Moiroux
8a09e2ed21
chore: add email prefix for Daniel Garnier-Moiroux (#162)
Signed-off-by: Daniel Garnier-Moiroux <daniel.garnier-moiroux@broadcom.com>
Co-authored-by: Den Delimarsky <sign@den.dev>
2026-08-03 21:25:55 -07:00
David Soria Parra
176621d578
Add Google Workspace-only account for Claude (#163)
Adds a 'service-accounts' role that carries no GitHub, Discord, or
Google group config and exists solely to make its members eligible
for GWS user provisioning, plus a member entry that provisions
claude@modelcontextprotocol.io. Claude has no GitHub or Discord
handle, so none of the existing provisionUser roles fit.
2026-08-03 11:26:06 +01:00
dependabot[bot]
aebe099382
chore(deps): bump brace-expansion (#157)
Bumps the npm_and_yarn group with 1 update in the / directory: [brace-expansion](https://github.com/juliangruber/brace-expansion).


Updates `brace-expansion` from 5.0.7 to 5.0.9
- [Release notes](https://github.com/juliangruber/brace-expansion/releases)
- [Commits](https://github.com/juliangruber/brace-expansion/compare/v5.0.7...v5.0.9)

---
updated-dependencies:
- dependency-name: brace-expansion
  dependency-version: 5.0.9
  dependency-type: indirect
  dependency-group: npm_and_yarn
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-08-02 23:08:57 -07:00
Tapan Chugh
1082cfcfd0
chore: add name and email prefix for chughtapan (#159)
Co-authored-by: Den Delimarsky <sign@den.dev>
2026-08-02 23:08:34 -07:00
Dale Seo
8fef018a0f
chore: add name and email prefix for myself (#158)
Co-authored-by: Den Delimarsky <sign@den.dev>
2026-08-02 23:07:51 -07:00
Christopher Hertel
2d87d28fc6
Add name and gmail prefix (#161) 2026-08-02 23:07:07 -07:00
dependabot[bot]
f4fb49473d
chore(deps): bump tar in the npm_and_yarn group across 1 directory (#155)
Bumps the npm_and_yarn group with 1 update in the / directory: [tar](https://github.com/isaacs/node-tar).


Updates `tar` from 7.5.19 to 7.5.22
- [Release notes](https://github.com/isaacs/node-tar/releases)
- [Changelog](https://github.com/isaacs/node-tar/blob/main/CHANGELOG.md)
- [Commits](https://github.com/isaacs/node-tar/compare/v7.5.19...v7.5.22)

---
updated-dependencies:
- dependency-name: tar
  dependency-version: 7.5.22
  dependency-type: indirect
  dependency-group: npm_and_yarn
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-08-02 15:21:04 -07:00
Aaron Parecki
501e5a6e00
add name and email for aaronpk (#156) 2026-07-31 18:52:37 -07:00
Ido Salomon
d18576437a
Add email details for Ido Salomon (#154) 2026-07-29 10:23:09 -07:00
Paul Carleton
df957a9114
Grant felixweinberger admin on the conformance repo (#153)
Brings the conformance repo under access management. Its only direct
grant today is felixweinberger at maintain (team access comes from
org-level roles), so this entry bumps him to admin.
2026-07-27 08:15:21 -07:00
David Soria Parra
8eb21f43ff
feat: provision GWS accounts for implicit maintainers (SDK teams, WGs)
GWS user accounts were only created for members whose direct roles had
google.provisionUser (lead/core maintainers, moderators, maintainers,
registry-wg). SDK maintainers and working-group members who opted in by
adding firstName/lastName/googleEmailPrefix (e.g. #148, #150, #152)
silently got no account.

- Move provisionUser from GoogleConfig to the Role level, and add it to
  the implicit-maintainer containers (sdk-maintainers, working-groups)
  plus the standalone maintainer roles (docs, inspector, mcpb,
  reference-servers, use-mcp, server-identity-wg, wg/ig facilitators).
- Eligibility now walks github.parent chains (hasProvisionUserRole),
  matching GitHub team-nesting semantics, so e.g. python-sdk members
  qualify via sdk-maintainers.
- validate-config now errors when a googleEmailPrefix would be a silent
  no-op (no eligible role and not an existing GWS user), so opt-in PRs
  like #150 fail CI instead of quietly doing nothing.

Newly provisioned on next apply: marcelo@, alexhancock@, liad@.
ochafik is now eligible but already has an account (existingGWSUser).
2026-07-27 10:17:46 +01:00
Liad Yosef
aa88d43df0
chore: add name and email prefix for myself (#152) 2026-07-25 22:55:46 +01:00
Peder Holdgaard Pedersen
97ccb57e34
chore: add name and email prefix for pederhp (#149)
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Co-authored-by: David Soria Parra <167242713+dsp-ant@users.noreply.github.com>
2026-07-25 21:48:56 +01:00
Marcelo Trylesinski
c129364222
chore: add name and email prefix for myself (#150) 2026-07-24 22:08:39 +01:00
Alex Hancock
2f1de9ece5
chore: add name and email prefix for myself (#148) 2026-07-23 19:47:12 +01:00
claude[bot]
0276b47bd8
Grant maxisbey the security-manager org role (#147)
* Add security-managers org role and assign maxisbey

Model GitHub's pre-defined security_manager organization role in the
IaC: new GitHub-only security-managers team wired to the org role via
ORG_ROLE_ASSIGNMENTS, following the existing all_repo_admin pattern.
Add Max Isbey (maxisbey) as its first member so he can view draft
security advisories for coordinated disclosure work.

Co-Authored-By: Claude <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0147Pp292yN9cQKCQBphVyMy

* Add jenn-newton to security-managers team

Paul Carleton asked for Jenn to join the new security-managers team
alongside Max Isbey. Resolved to Jenn Newton (jenn-newton), already a
member of the security working group in this config.

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

---------

Co-authored-by: Claude <noreply@anthropic.com>
2026-07-09 14:09:15 +01:00
Jeff Handley
9da777d497
Update csharp-sdk team members (#145) 2026-07-04 11:23:34 -07:00
dependabot[bot]
65668ebb03
Bump the npm_and_yarn group across 1 directory with 8 updates (#143)
Bumps the npm_and_yarn group with 8 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
| [@grpc/grpc-js](https://github.com/grpc/grpc-node) | `1.14.3` | `1.14.4` |
| [@sigstore/core](https://github.com/sigstore/sigstore-js) | `3.1.0` | `3.2.1` |
| [@sigstore/verify](https://github.com/sigstore/sigstore-js) | `3.1.0` | `3.1.1` |
| [ip-address](https://github.com/beaugunderson/ip-address) | `10.1.0` | `10.2.0` |
| [minimatch](https://github.com/isaacs/minimatch) | `10.1.2` | `10.2.5` |
| [sigstore](https://github.com/sigstore/sigstore-js) | `4.1.0` | `4.1.1` |
| [tar](https://github.com/isaacs/node-tar) | `7.5.7` | `7.5.19` |
| [tmp](https://github.com/raszi/node-tmp) | `0.2.5` | `0.2.7` |



Updates `@grpc/grpc-js` from 1.14.3 to 1.14.4
- [Release notes](https://github.com/grpc/grpc-node/releases)
- [Commits](https://github.com/grpc/grpc-node/compare/@grpc/grpc-js@1.14.3...@grpc/grpc-js@1.14.4)

Updates `@sigstore/core` from 3.1.0 to 3.2.1
- [Release notes](https://github.com/sigstore/sigstore-js/releases)
- [Commits](https://github.com/sigstore/sigstore-js/compare/sigstore@3.1.0...@sigstore/core@3.2.1)

Updates `@sigstore/verify` from 3.1.0 to 3.1.1
- [Release notes](https://github.com/sigstore/sigstore-js/releases)
- [Commits](https://github.com/sigstore/sigstore-js/compare/sigstore@3.1.0...@sigstore/verify@3.1.1)

Updates `ip-address` from 10.1.0 to 10.2.0
- [Commits](https://github.com/beaugunderson/ip-address/compare/v10.1.0...v10.2.0)

Updates `minimatch` from 10.1.2 to 10.2.5
- [Changelog](https://github.com/isaacs/minimatch/blob/main/changelog.md)
- [Commits](https://github.com/isaacs/minimatch/compare/v10.1.2...v10.2.5)

Updates `sigstore` from 4.1.0 to 4.1.1
- [Release notes](https://github.com/sigstore/sigstore-js/releases)
- [Commits](https://github.com/sigstore/sigstore-js/compare/sigstore@4.1.0...sigstore@4.1.1)

Updates `tar` from 7.5.7 to 7.5.19
- [Release notes](https://github.com/isaacs/node-tar/releases)
- [Changelog](https://github.com/isaacs/node-tar/blob/main/CHANGELOG.md)
- [Commits](https://github.com/isaacs/node-tar/compare/v7.5.7...v7.5.19)

Updates `tmp` from 0.2.5 to 0.2.7
- [Changelog](https://github.com/raszi/node-tmp/blob/master/CHANGELOG.md)
- [Commits](https://github.com/raszi/node-tmp/compare/v0.2.5...v0.2.7)

---
updated-dependencies:
- dependency-name: "@grpc/grpc-js"
  dependency-version: 1.14.4
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: "@sigstore/core"
  dependency-version: 3.2.1
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: "@sigstore/verify"
  dependency-version: 3.1.1
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: ip-address
  dependency-version: 10.2.0
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: minimatch
  dependency-version: 10.2.5
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: sigstore
  dependency-version: 4.1.1
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: tar
  dependency-version: 7.5.19
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: tmp
  dependency-version: 0.2.7
  dependency-type: indirect
  dependency-group: npm_and_yarn
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Den Delimarsky <53200638+localden@users.noreply.github.com>
2026-07-02 19:23:50 -07:00
claude[bot]
a4c81501ec
Skip Preview workflow for Dependabot PRs (#144)
Dependabot-triggered runs read from the Dependabot secrets store, which
is empty, so the Google Cloud auth step receives an empty credential and
fails. Skip the preview job for Dependabot; CI still validates those PRs.

Also guard the PR comment step so it doesn't post 'Failed to read
preview output' when the preview step never ran.

Co-authored-by: Claude <noreply@anthropic.com>
2026-07-02 19:22:26 -07:00
claude[bot]
ef304d5573
Commit stub SDK manifest so Dependabot can resolve the file: dependency (#142)
Dependabot's npm updater fetches manifests directly from git and aborts on
every run because package.json declares
"@pulumi/googleworkspace": "file:sdks/googleworkspace" while sdks/ is
gitignored and only materialized by `pulumi install`.

Keep the generated SDK sources ignored, but commit
sdks/googleworkspace/package.json (name/version/dependencies matching the
existing package-lock.json entry) so the path dependency resolves from the
git tree. `pulumi install` removes and regenerates the whole SDK directory
before npm ci in CI, so CI behavior is unchanged.

Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Den Delimarsky <53200638+localden@users.noreply.github.com>
2026-07-02 19:04:10 -07:00
claude[bot]
b6e4b13668
Declare org website URL in org settings (#138)
Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Den Delimarsky <53200638+localden@users.noreply.github.com>
2026-07-02 19:01:47 -07:00
claude[bot]
16701aaa2d
Remove one-time #133 state-repair block and stale TEMP state delete (#141)
The "Verify GroupMember state healed (TEMP, #133)" step passed on deploy
run 28624873606 (attempt 4), meeting the documented removal criterion for
the one-time state surgery added in #139. Also removes the stale TEMP
pulumi state delete for experimental-ext-tasks (#125), whose
one-successful-deploy condition was met on 6/30.

Co-authored-by: Claude <noreply@anthropic.com>
2026-07-03 01:21:28 +00:00
claude[bot]
5917af2589
Declare allowExternalMembers on managed groups so deploys stop re-arming the external-member purge (#140)
* Declare allowExternalMembers on managed group settings

Every pulumi up was resetting the Google Workspace per-group setting
ALLOW_EXTERNAL_MEMBERS to false on all managed groups, because the
GroupSettings resources never declared allowExternalMembers and the
provider (SamuZad/googleworkspace 0.11.1) defaults the field to false.
Google then silently purges external-email members from affected groups
roughly 1-2 days after each apply, with no audit events.

Pin the setting to true for all managed groups. External membership
itself remains governed exclusively by config/users.ts entries; this
setting only permits it.

Part of the #133 incident.

* Scope allowExternalMembers per group, derived from membership config

Instead of permitting external members on every managed group, derive
allowExternalMembers per group: true only for groups whose membership
config (config/users.ts) resolves at least one member to a
non-@modelcontextprotocol.io email. Email resolution is factored into
resolveGoogleMemberEmail and shared with GroupMember creation so the
two cannot drift. The field stays declared on every group because the
provider defaults it to false on each apply, after which Google
silently purges external members (#133 incident).

With current config, exactly these groups derive true: maintainers,
registry-wg, antitrust, catch-all. A config test pins this set so
changes to it are always deliberate.

* Make allowExternalMembers an explicit per-role opt-in with config validation

Replace the derived per-group allowExternalMembers (computed from
membership config) with an explicit opt-in: group owners set
allowExternalMembers: true on the role's google config in
src/config/roles.ts, and src/google.ts passes it straight through to
GroupSettings (defaulting to false). The field stays declared on every
group because the provider resets an omitted field to false on each
apply, after which Google silently purges external members (#133).

Roles opting in, matching current membership: maintainers,
registry-maintainers (registry-wg), antitrust, catch-all.

A validate-config check replaces the old pinned-set test: it fails with
an actionable error whenever a group has a member resolving to a
non-@modelcontextprotocol.io email but its role does not opt in, naming
the group, the member email, and the exact config line to add.

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

---------

Co-authored-by: Claude <noreply@anthropic.com>
2026-07-03 01:19:16 +00:00
claude[bot]
89cb9de125
Repair corrupted GroupMember state so deploys stop failing (#139)
* Repair corrupted GroupMember state so deploys stop failing (#133)

Every Deploy to Production run since 2026-06-30 aborts about a minute
in with "googleapi: Error 409: Member already exists" and merged
changes (e.g. #134, #137) never apply. Two external-email GroupMember
records in the maintainers group are recorded in state with an empty
member ID ("groups/04f1mdlm38smb30/members/"), so each pulumi up plans
a create-before-delete replace whose create conflicts with the live
membership and fails the whole update. Five other records corrupted at
the same time were already healed by the 2026-07-02 deploy run.

Add a one-time TEMP block to the deploy workflow (same precedent as the
auth-maintainers repair and the experimental-ext-tasks state delete):
drop the two broken records, then re-import each membership by member
email so the provider records the numeric member ID. All commands are
|| true-guarded, and the block must be removed after one successful
deploy.

Fixes #133

Co-authored-by: Claude <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NazA3QKftRn72tdPG5vrpb

* Widen state repair to all seven corrupted GroupMember records (#133)

* Replace per-URN state deletes with export surgery; verify healing post-deploy (#133)

The committed repair used 'pulumi state delete <urn>' per record, but the
failed create-before-delete replaces left duplicate same-URN entries (a
live record plus a pending-delete leftover) for some of the seven
corrupted GroupMember records. 'pulumi state delete' fails on an
ambiguous URN, and the '|| true' guard hid that failure, making the
repair a silent no-op.

- Replace the per-URN deletes with state surgery: export the stack,
  drop every entry (including pending-delete duplicates) whose URN is
  one of the seven with jq, and re-import. Unguarded, so a surgery
  failure is loud; skips the import when nothing matches (idempotent).
- Keep the seven imports-by-email ('|| true' so a not-currently-live
  membership falls back to a create instead of blocking the deploy).
- Add a post-deploy verification step that fails if any GroupMember
  record still has an empty member ID or a duplicate URN. The pinned
  provider (SamuZad/googleworkspace 0.11.1) writes an empty member ID
  even on successful creates (fixed upstream in 0.11.2), so a green
  'make up' alone does not prove healing; the TEMP block must only be
  removed after this verification step passes.
- Correct the root-cause comment: Google-side membership removals ->
  refresh dropped the records -> re-create -> provider create bug wrote
  empty IDs.

* Bump googleworkspace provider 0.11.1 -> 0.11.2 (#133)

0.11.2 carries upstream commit "handle edge case with group
memberships" (SamuZad/terraform-provider-googleworkspace, 2026-03-12),
which fixes the create-path bug that stores an empty member ID for
external-email group members — the bug that corrupted the seven records
repaired by the TEMP block in deploy.yml and that would re-corrupt any
record restored via the fallback create path. CI regenerates the SDK
from this pin via 'pulumi install' and typechecks against it.

---------

Co-authored-by: Claude <noreply@anthropic.com>
2026-07-02 15:12:31 -07:00
claude[bot]
bcfc49fbb5
Record existing GWS accounts for ajribeiro and ochafik (#137)
Both Workspace accounts (ajr@ and ochafik@modelcontextprotocol.io) were
created manually in Google Workspace; mark them with existingGWSUser so
Pulumi skips creating the User resources.

Co-authored-by: Claude <noreply@anthropic.com>
2026-07-02 11:21:25 -07:00
Cliff Hall
721b95a943
Give inspector-maintainers admin access on inspector repo (#134)
Elevates the inspector-maintainers team from push to admin on the
inspector repository, in parity with the SDK teams and the
reference-servers-maintainers team, which hold admin on the repos
they own.


Claude-Session: https://claude.ai/code/session_01W6EqMj921DKTJJtiPpCGNE

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-01 19:04:58 +01:00
Tadas Antanavicius
b999f7011c
Add appeals@ Google Group for Code of Conduct ban appeals (#123)
Adds appeals@modelcontextprotocol.io as an email Google Group so banned
or external users have an out-of-band channel to appeal Code of Conduct
actions even after an org-level GitHub block. Mirrors the existing
antitrust@/catch-all@ email-group setup (isEmailGroup, no new GoogleConfig
fields).

Membership is curated explicitly (like the antitrust@ members) to the
current moderators and active lead maintainers, rather than derived from
the MODERATORS/LEAD_MAINTAINERS roles, since those roles include emeritus
and former members who should not receive appeals.

Co-authored-by: Tadas Antanavicius <tadas@modelcontextprotocol.io>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Co-authored-by: David Soria Parra <167242713+dsp-ant@users.noreply.github.com>
2026-06-30 11:11:20 +01:00
Mike Kistler
7d758c528e
Add David Ortinau with CSHARP_SDK and CSHARP_SDK_ADMIN roles (#127) 2026-06-29 16:40:21 +01:00
David Soria Parra
93edb2570d
ci: temp state delete for renamed experimental-ext-tasks repo (#126)
The repo was renamed to ext-tasks in #125, but Pulumi state still holds
the old RepositoryCollaborators resource. The first 'pulumi up' (which
runs before refresh) tries to delete it and 404s, blocking all deploys.

Drop it from state explicitly before 'make up'. Idempotent via '|| true';
remove this line after one successful deploy.
2026-06-25 20:14:46 +01:00
Den Delimarsky
a737bd72b1
Update repoAccess for experimental-ext-tasks rename to ext-tasks (#125) 2026-06-24 11:00:53 -07:00
Den Delimarsky
4edb39d62d
Add ddworken and OctavianGuzu as admins on python-sdk and typescript-sdk (#124) 2026-06-24 10:18:39 -07:00
Ola Hungerford
5c402e31af
Add olaservo to interceptors-wg (#122)
* Add evalstate and cliffhall to docs-maintaners team

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

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

* feat(users): add olaservo to interceptors-wg

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

---------

Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Den Delimarsky <53200638+localden@users.noreply.github.com>
2026-06-17 14:25:18 -07:00
Paul Carleton
9d584ea6cf Suppress googleworkspace permadiffs in preview output
- GroupSettings: ignoreChanges on isArchived (upstream
  hashicorp/terraform-provider-googleworkspace#398)
- OrgUnit: drop the stale import option; it was only needed for the
  initial adopt and now triggers a re-compare on every preview
2026-06-17 11:07:13 -07:00
Kurtis Van Gent
56df7dae4c
feat(users): add Transports Working Group members to transport-wg (#117) 2026-06-16 20:13:33 +00:00
Felix Weinberger
a9c40db421 Add felixweinberger and maxisbey as admins on access repo 2026-06-12 15:02:12 +01:00
Felix Weinberger
5840f3599e Add maxisbey to typescript-sdk-collaborators 2026-06-12 14:41:19 +01:00
Sambhav Kothari
33d099c217
Add sambhav to skills IG (#118)
* Add sambhav to skills IG

* Format memberOf array for better readability

* Fix formatting in users.ts for ROLE_IDS
2026-06-09 14:01:50 +01:00
Olivier Chafik
900bad98eb Add example-remote-server repository access
example-remote-server was missing from the repository access config, so
with the org default repository permission set to 'none', no team had
write access to it. Add it alongside its sibling example-remote-client,
mirroring the team grants used for ext-apps (the apps surface these
example servers belong to): core-maintainers push, moderators maintain,
mcp-apps-wg push, mcp-apps-sdk admin.
2026-06-05 10:54:35 -07:00
Tadas Antanavicius
448f401995
chore: align registry roster with WG charter (#115)
* chore: align registry roster with WG charter

Aligns GitHub teams / Discord roles / Google groups with the Registry
Working Group charter (https://modelcontextprotocol.io/community/registry/charter):

- Add REGISTRY_WG_COLLABORATORS role + registry-wg-collaborators GitHub
  team with push (not admin) on the registry repo, mirroring the
  typescript-sdk-collaborators model. No google config => no
  @modelcontextprotocol.io account (charter: Maintainer? No).
- Add Preeti (Pree) Dewani (@pree-dew) as a registry collaborator.
- Remove Adam Jones (@domdomegg) from REGISTRY_MAINTAINERS (he remains an
  active MCPB maintainer). His @modelcontextprotocol.io account is
  unaffected (existingGWSUser, not managed by this IaC).
- Remove Toby Padilla (@toby) entirely; registry was his only
  maintainership. His @modelcontextprotocol.io account is likewise
  unaffected by this change (existingGWSUser).

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

* chore: drop discord config and inline comments from collaborators role

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

* chore: annotate registry collaborators role id as GitHub only

Matches the typescript-sdk-collaborators convention in roleIds.ts.

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

* chore: keep Toby as registry emeritus with empty role membership

Instead of removing Toby Padilla's access entry entirely, retain it with an
empty memberOf and a comment noting he is an emeritus maintainer of the
Registry.

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

* chore: rename registry collaborators team to registry-collaborators

Drops the '-wg' infix for consistency: GitHub team slug
'registry-wg-collaborators' -> 'registry-collaborators' and the role id
constant REGISTRY_WG_COLLABORATORS -> REGISTRY_COLLABORATORS, keeping the
constant and slug mirrored as with typescript-sdk-collaborators.

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

---------

Co-authored-by: Tadas Antanavicius <tadas@modelcontextprotocol.io>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-03 13:53:52 +01:00
Mike Kistler
09a270db7a
Add PranavSenthilnathan to csharp-sdk team (#114) 2026-05-26 20:20:51 +00:00