Skip to content

Ownership Map

Last updated: 2026-03-22 Source of truth: .github/CODEOWNERS


Overview

Ownership determines who must review a PR before it can be merged. GitHub enforces this automatically when branch protection is enabled.

All paths not listed below are owned by @senolcolak (catchall).


1. Area Map

PathHuman owner(s)Agent authorizedRisk tier
backend/src/ (non-protected)@senolcolakbackend-agentstandard
backend/src/auth/**@senolcolakbackend-agent ⚠️ explicit approvalelevated
backend/src/api/v4/**@senolcolak + @zoorphabackend-agent ⚠️ co-approvalelevated
backend/src/mattermost_compat/**@senolcolak + @zoorphabackend-agent ⚠️ co-approvalelevated
backend/src/a2a/**@senolcolakbackend-agent ⚠️ senior reviewelevated
backend/src/realtime/**@senolcolakbackend-agentelevated
backend/migrations/**@senolcolakbackend-agentelevated
backend/tests/**@senolcolakbackend-agentstandard
backend/compat/**@senolcolak + @zoorphacompat-agent (read)elevated
push-proxy/**@senolcolakbackend-agentstandard
frontend/**@senolcolakfrontend-agentstandard
tools/mm-compat/**@senolcolak + @zoorphacompat-agent (read)elevated
.github/**@senolcolaknonestandard
.github/CODEOWNERS@senolcolak + @zoorphanoneelevated
.governance/**@senolcolak + @zoorphanonearchitectural
docker/**@senolcolaknonestandard
scripts/**@senolcolaknonestandard
docs/**@senolcolakcompat-agent (specs/plans only)standard
AGENTS.md@senolcolaknonestandard
* (everything else)@senolcolakstandard

2. Dual-Owner Areas

The following areas require both owners to approve:

AreaOwnersWhy
backend/compat/**@senolcolak + @zoorphaCompat contracts must have compat-reviewer sign-off
backend/src/api/v4/**@senolcolak + @zoorphaMattermost HTTP compat surface
backend/src/mattermost_compat/**@senolcolak + @zoorphaCompat utilities
tools/mm-compat/**@senolcolak + @zoorphaCompat analysis tooling
.github/CODEOWNERS@senolcolak + @zoorphaOwnership changes affect review routing
.governance/**@senolcolak + @zoorphaArchitectural tier — 2 reviewers required

3. Risk Tier Auto-Elevation

Changes to any path in .governance/protected-paths.yml are automatically elevated to the minimum tier listed. A PR touching backend/src/api/v4/ is always elevated regardless of how trivial the change appears.

See .governance/protected-paths.yml for the full list.


4. Agent Boundaries

AgentAuthorized areasProhibited
backend-agentbackend/src/, backend/tests/, backend/migrations/, push-proxy/frontend/, .governance/, and protected sub-paths without approval
frontend-agentfrontend/src/, frontend/e2e/backend/, .governance/
compat-agentRead: compat surface. Write: docs/superpowers/, previous-analyses/All production code paths

For full contract details see .governance/agent-contracts.yml and docs/agent-operating-model.md.


5. How to Update Ownership

Changing CODEOWNERS is an elevated risk tier change (automatic per protected-paths.yml). It requires:

  1. Edit .github/CODEOWNERS
  2. Both @senolcolak and @zoorpha must approve the PR
  3. Verify branch protection is still correct after the change

CODEOWNERS uses last-match wins semantics — the catchall * rule is placed first so specific rules below it take precedence.

RustChat Documentation