Conversation
…actor team co-ownership Agent-Logs-Url: https://github.com/edx/enterprise-catalog/sessions/e8184494-7d99-4414-9188-82f19f50511c Co-authored-by: macdiesel <67862+macdiesel@users.noreply.github.com>
Copilot
AI
changed the title
[WIP] Add CODEOWNERS file for tiered code ownership
Set up tiered CODEOWNERS: enterprise-titans as backstop, contractor teams on app/docs
Apr 1, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Replaces the flat all-teams-own-everything CODEOWNERS rule with a tiered model that makes
@edx/enterprise-titansa required reviewer on anything not explicitly carved out, while giving@edx/enterprise-sunriseand@edx/enterprise-lakshyco-ownership over application code and low-risk docs/markdown.Ownership structure
*(catch-all)@edx/enterprise-titansonly/enterprise_catalog//docs/,*.md,*.rstNotes
catalog/ortests/directories exist in this repo — patterns limited to what's actually present@edx/enterprise-markhors(not in scope for this model)Original prompt
Goal
Set up a
.github/CODEOWNERSfile foredx/enterprise-catalogthat establishes tiered code ownership for contractor teams, using@edx/enterprise-titansas the internal backstop and giving contractor teams (@edx/enterprise-sunrise,@edx/enterprise-lakshy) ownership over application code.Context
We are onboarding multiple external contractor teams and want to gradually hand over merge ownership to them. All three teams already exist in the
edxGitHub org:@edx/enterprise-titans— internal team, backstop owners for everything@edx/enterprise-sunrise— contractor team 1@edx/enterprise-lakshy— contractor team 2The repo's default branch is
master.What to implement
Create
.github/CODEOWNERSwith the following structure:*(catch-all) →@edx/enterprise-titansonly. This ensures titans are always a required reviewer for anything not explicitly matched below, and serve as the safety net.Application code directories (the Django app code) →
@edx/enterprise-titans @edx/enterprise-sunrise @edx/enterprise-lakshy. Both contractor teams should own and be able to review/merge application code.catalog/directory (the primary Django app package for this repo).enterprise_catalog/if it exists (it may contain settings/wsgi/urls).Docs, tests, and markdown →
@edx/enterprise-titans @edx/enterprise-sunrise @edx/enterprise-lakshy. Lower-risk areas all contractor teams can own./docs//tests/*.md*.rstAcceptance criteria
.github/CODEOWNERSfile is created (it does not currently exist in this repo)*rule points only to@edx/enterprise-titans*must come first)Important notes
catalog/,enterprise_catalog/, or similar top-level Python package directories)masteras its default branchThe following is the prior conversation context from the user's chat exploration (may be truncated):
User: I"ve been working on this plan with chat GPT. What do you think?
Below is a Claude-ready implementation plan you can paste into Claude (or use as a task brief). It includes: team definitions, repo list + URLs, the policy intent, the exact CODEOWNERS templates to create, and the branch protection / permissions checklist.
Implementation Plan: Phased Merge Autonomy for Enterprise Repos (Claude Task Brief)
Date: 2026-04-01
Goal: Gradually delegate PR review + merge autonomy to contractor teams while keeping a “master” team with full approval/merge authority across all enterprise repos.
1) Organizations in scope
openedxedx2) Teams (existing)
These teams already exist and must be used as the starting point:
2.1 Master / can do everything
enterprise-titans2.2 Newly onboard teams (can open PRs)
enterprise-sunriseenterprise-lakshy2.3 Ownership by domain
enterprise-lakshyowns:enterprise-sunriseowns:3) Repositories in scope (high priority for CODEOWNERS)
Microservices / Backend Services
This pull request was created from Copilot chat.