Skip to content

fix: derive CODEOWNERS from MAINTAINERS.md - #480

Merged
pdettori merged 1 commit into
mainfrom
fix/codeowners-stale-teams
Oct 9, 2026
Merged

pdettori merged 1 commit into
mainfrom
fix/codeowners-stale-teams

Conversation

@mrsabath

@mrsabath mrsabath commented Oct 9, 2026 •

Copy link
Copy Markdown
Member

Summary

Every team named in CODEOWNERS was unresolvable, so the whole file was inert — this repo has had no effective review assignment.

GitHub silently ignores a CODEOWNERS rule naming a team that does not exist or that lacks write access. There is no warning; the matched paths simply end up with no owner.

$ gh api orgs/rossoctl/teams/moca-maintainers   # 404 -- never existed
$ gh api orgs/kagenti/teams/platform            # 404 -- the pre-rename org

The fix: owners derived from MAINTAINERS.md

Rather than a blanket team, the owners come from the project's source of truth for maintainership, rossoctl/rossoctl/MAINTAINERS.md, matched to this repo's subject areas:

Path Owners MAINTAINERS.md responsibility
* @pdettori Serverless Harness; Agent Sandboxing; microVM sandbox density experiments; Helm & Installer
deploy/ + @cwiklik Agent Lifecycle Management; sandbox CRDs & warm pools

Both hold admin on this repository, so every rule resolves — verified per handle, not assumed.

The split matches where the work actually happens: @pdettori authored 1455 of roughly 1500 commits here.

Documentation deliberately gets no rule of its own. It falls to the default owner, who is also the author of 9 of the last 10 commits under docs/; a separate docs/ @pdettori would only restate the * line.

Why this file cannot point at MAINTAINERS.md

This was the original request and it is worth recording, so the header comment does.

Unlike the community-health files — SECURITY.md, CODE_OF_CONDUCT.md, CONTRIBUTING.md, SUPPORT.md, which GitHub genuinely does inherit from the org .github repo (see rossoctl/.github#129) — CODEOWNERS has no inheritance and accepts no file references. It takes only user and team handles, and is read only from this repository's root, .github/, or docs/.

So these names are a copy that must be resynced when MAINTAINERS.md changes, not a pointer that cannot drift. The header says so, and tells an editor to re-confirm access, since that is the failure mode this PR is repairing.

Possibly worth a follow-up

While verifying, two other repos reference teams that do not exist either:

Repo Dead reference Effect
cortex @rossoctl/platform .github/ has no owner
examples @rossoctl/platform, @rossoctl/agents .github/, Makefile, a2a/, mcp/ have no owner

Their * default is @rossoctl/maintainers, which does resolve, so they are less exposed than this repo was. Either those teams get created or the files need the same treatment. Out of scope here.

@mrsabath
mrsabath force-pushed the fix/codeowners-stale-teams branch 2 times, most recently from 83297a2 to 1e77299 Compare October 9, 2026 19:03
@mrsabath mrsabath changed the title fix: point CODEOWNERS at teams that exist fix: derive CODEOWNERS from MAINTAINERS.md Oct 9, 2026
Every team named in this file was unresolvable, so the whole file was
inert: GitHub silently ignores a rule naming a team that does not exist
or that lacks write access, which left moca with no effective review
assignment and no warning.

  @rossoctl/moca-maintainers  404 -- never existed
  @kagenti/platform           404 -- the pre-rename org

Replaces them with the handles the project's MAINTAINERS.md assigns to
this repository's subject areas, rather than a blanket team:

  *        @pdettori    Serverless Harness, Agent Sandboxing, microVM
                        density, Helm & Installer
  deploy/  + @cwiklik   Agent Lifecycle Management, sandbox CRDs &
                        warm pools

Both hold admin on this repository, so every rule resolves. The split
matches where the work actually happens: pdettori authored 1455 of
roughly 1500 commits here.

Documentation gets no rule of its own: it falls to the default owner,
which is the same person who wrote 9 of the last 10 commits under docs/.
A separate `docs/ @pdettori` would only restate that.

CODEOWNERS cannot defer to MAINTAINERS.md the way the community-health
files defer to rossoctl/rossoctl -- it accepts only user and team
handles, and is read only from this repository's root, .github/ or
docs/. The header records that, so the next person knows these names are
a copy that has to be resynced rather than a pointer that cannot drift.

Assisted-By: Claude (Anthropic AI) <noreply@anthropic.com>
Signed-off-by: Mariusz Sabath <mrsabath@gmail.com>

@pdettori pdettori left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@pdettori
pdettori merged commit efd925f into main Oct 9, 2026
13 checks passed
@pdettori
pdettori deleted the fix/codeowners-stale-teams branch October 9, 2026 19:59
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.

2 participants