Skip to content

Establish tiered CODEOWNERS for enterprise-access#120

Draft
Copilot wants to merge 2 commits intomainfrom
copilot/add-codeowners-file
Draft

Establish tiered CODEOWNERS for enterprise-access#120
Copilot wants to merge 2 commits intomainfrom
copilot/add-codeowners-file

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented Apr 1, 2026

Replaces the flat single-rule CODEOWNERS (all teams on everything) with a three-tier ownership model aligned to the contractor access rollout policy.

Ownership tiers

  • Catch-all (*)@edx/enterprise-titans only; backstop for any path not matched below
  • Application code (/enterprise_access/) — Titans + @edx/enterprise-sunrise-maintainers + @edx/enterprise-lakshy-maintainers; uses trusted maintainer subteams so only designated engineers (not the full contractor team) can satisfy CODEOWNERS review
  • Docs & markup (/docs/, *.md, *.rst) — Titans + full @edx/enterprise-sunrise + @edx/enterprise-lakshy; lower-risk content where broader contractor participation is acceptable
# Catch-all: only Titans can approve/merge anything not matched below.
* @edx/enterprise-titans

# Application code: Titans + trusted maintainer subteams from each contractor.
/enterprise_access/ @edx/enterprise-titans @edx/enterprise-sunrise-maintainers @edx/enterprise-lakshy-maintainers

# Docs, markdown, and RST files: Titans + full contractor teams.
/docs/ @edx/enterprise-titans @edx/enterprise-sunrise @edx/enterprise-lakshy
*.md @edx/enterprise-titans @edx/enterprise-sunrise @edx/enterprise-lakshy
*.rst @edx/enterprise-titans @edx/enterprise-sunrise @edx/enterprise-lakshy

Note: @edx/enterprise-markhors (present in the old file) has been removed; confirm this team is no longer required before merging.

Original prompt

Problem / Goal

Establish a .github/CODEOWNERS file for edx/enterprise-access to enforce tiered code review and merge permissions for contractor subteams, following the finalized company access model:

  • Catch-all: Only @edx/enterprise-titans.
  • Application code: @edx/enterprise-titans, @edx/enterprise-sunrise-maintainers, @edx/enterprise-lakshy-maintainers.
  • Docs/tests/markdown: All three full teams, including titans and both contractors.

Requirements

  • Place CODEOWNERS: .github/CODEOWNERS (creating directory/file if needed).
  • Use these patterns, confirmed against the repo layout:
    • * @edx/enterprise-titans
    • /enterprise_access/ @edx/enterprise-titans @edx/enterprise-sunrise-maintainers @edx/enterprise-lakshy-maintainers (assuming main code is in enterprise_access/)
    • /docs/ @edx/enterprise-titans @edx/enterprise-sunrise @edx/enterprise-lakshy
    • *.md @edx/enterprise-titans @edx/enterprise-sunrise @edx/enterprise-lakshy
    • *.rst @edx/enterprise-titans @edx/enterprise-sunrise @edx/enterprise-lakshy
  • Add comments to separate sections (and a summary at top if desired).
  • Double-check main code directory; if app does NOT use enterprise_access, use the correct Python package dir.
  • The repo's default branch is main.
  • Reference this rollout policy in the PR description.

Acceptance criteria

  • No unused team or path references
  • Obeys GitHub CODEOWNERS syntax and priority rules

The 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

  • GitHub org: openedx
  • GitHub org: edx

2) Teams (existing)

These teams already exist and must be used as the starting point:

2.1 Master / can do everything

  • Team: enterprise-titans
  • Intended behavior:
    • Can approve and merge anything in all listed repos
    • Acts as ultimate override / backstop

2.2 Newly onboard teams (can open PRs)

  • Team: enterprise-sunrise
  • Team: enterprise-lakshy

2.3 Ownership by domain

  • enterprise-lakshy owns:
    • Reporting
    • Admin portal
  • enterprise-sunrise owns:
    • Integrations
    • Checkout

IMPORTANT DECISION REQUIRED DURING IMPLEMENTATION
If you need “trusted engineers only” to be able to satisfy CODEOWNERS approvals within Sunrise/Lakshy domains, create two new sub-teams and use them in CODEOWNERS instead of the full contractor teams:

  • enterprise-lakshy-maintainers (trusted Lakshy engineers only)
  • enterprise-sunrise-maintainers (trusted Sunrise engineers only)

If these teams are not created, then any member of enterprise-sunrise/enterprise-lakshy (with sufficient repo permission) could satisfy CODEOWNERS review for their owned areas.


3) Repositories in scope (high priority for CODEOWNERS)

Microservices / Backend Services

Repo URL Notes
openedx/enterprise-catalog https://github.com/openedx/enterprise-catalog Core service
openedx/edx-enterprise https://github.com/openedx/edx-enterprise LMS plugin
openedx/enterprise-access https://github.com/openedx/enterprise-access Access policies
openedx/enterprise-subsidy https://github.com/openedx/enterprise-subsidy Subsidy transactions
openedx/enterprise-integrated-channels https://github.com/openedx/enterprise-integrated-channels Sunrise-owned integrations
openedx/edx-enterprise-data https://github.com/openedx/edx-enterprise-data Lakshy-owned reporting
openedx/course-discovery https://github.com/openedx/course-discovery Shared source of truth
openedx/edx-enterprise-subsidy-client https://github.com/openedx/edx-enterprise-subsidy-client Shared client lib

Frontend Applications

Repo URL Notes
openedx/frontend-app-admin-portal https://github.com/openedx/frontend-app-admin-portal Lakshy-owned admin portal
openedx/frontend-app-learner-portal-enterprise https://github.com/openedx/frontend-app-learner-portal-enterprise Learner portal
openedx/frontend-app-enterprise-public-catalog https://github.com/openedx/frontend-app-enterprise-public-catalog Public catalog
openedx/frontend-enterprise https://github.com/openedx/frontend-enterprise Shared frontend lib
edx/frontend-app-enterprise-checkout https://github.com/edx/frontend-app-enterprise-checkout *...

This pull request was created from Copilot chat.

Copilot AI changed the title [WIP] Add CODEOWNERS file for tiered code review Establish tiered CODEOWNERS for enterprise-access Apr 1, 2026
Copilot AI requested a review from macdiesel April 1, 2026 15:04
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