Skip to content

ci: default CODEOWNER for repo overlays go to respective platform teams - #160

Draft
MajorLift wants to merge 1 commit into
mainfrom
jongsun/ci/codeowners-repo-overlays
Draft

MajorLift wants to merge 1 commit into
mainfrom
jongsun/ci/codeowners-repo-overlays

Conversation

@MajorLift

Copy link
Copy Markdown
Contributor

Motivation

A repo overlay, repos/<client>.md, is the client-specific half of a skill. Today its owner is whatever its domain line says, so in the domains both platform teams co-own, an extension-only file is owned by both teams, and in coding by @MetaMask/core-platform as well. The team responsible for the client does not own the text written about it.

Overview

Adds a default owner for overlays, one per client: metamask-extension to @MetaMask/extension-platform, metamask-mobile to @MetaMask/mobile-platform, core to @MetaMask/core-platform.

The defaults sit after the domain block rather than at the top. The last matching pattern wins, so placed first they would be overridden by every domain rule and never apply.

Domains with their own team keep their overlays through a per-domain override: assets, perps, swaps, testing and ui. Removing one of those lines is the lever if a platform team should own that domain's overlays too.

This does not depend on the open domain PRs. #44 (platform), #69 (typescript), #76 (observability), #81 (stability) and #83 (security) each carry per-domain overlay rules that this makes redundant. They are harmless, and can be removed once both land.

Showcase

Ownership of every overlay file on main, before and after: 52 files, 24 change owner, all within coding, performance and pr-workflow. Each moves from both platform teams to its own client's team. None move away from a domain-owned team. The perps overlay stays with @MetaMask/perps, which also confirms the override matches, since without it that file would land on extension-platform.

Three coding overlays lose @MetaMask/core-platform as a reviewer. That is the design working, and it is a real removal of a reviewer.

The before-and-after ownership comes from a pattern matcher written for this change, not from GitHub. GitHub's own checker covers whether the patterns parse: GET /repos/MetaMask/skills/codeowners/errors reports 38 errors on this branch against 30 on main, all Unknown owner, which is team visibility to the querying token. The difference of 8 is exactly the owner references added. No error of any other kind appears.

A `repos/<client>.md` overlay is the client-specific half of a skill, so the
client's platform team owns it by default: `metamask-extension` to
extension-platform, `metamask-mobile` to mobile-platform, `core` to
core-platform. Domains with their own team keep their overlays through a
per-domain override.

The defaults sit after the domain block because the last matching pattern
wins. Placed first, every domain rule below would override them and they
would never apply.

Of 52 overlay files on `main`, 24 change owner, all inside `coding`,
`performance` and `pr-workflow`, where each moves from both platform teams
to its own client's team. None move away from a domain-owned team.
@MajorLift MajorLift changed the title ci: default repo overlay ownership to each client's platform team ci: default CODEOWNER for repo overlays go to respective platform teams Sep 14, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant