Skip to content

feat: default to exact CODEOWNERS matching#1

Merged
kpurdon merged 1 commit intomainfrom
kpurdon/exact-match-default
Feb 18, 2026
Merged

feat: default to exact CODEOWNERS matching#1
kpurdon merged 1 commit intomainfrom
kpurdon/exact-match-default

Conversation

@kpurdon
Copy link
Copy Markdown
Owner

@kpurdon kpurdon commented Feb 18, 2026

Why

Parent CODEOWNERS rules (e.g., /apps/) silently satisfy coverage checks for subdirectories (e.g., apps/autotune/services/autotune/), making it easy to forget adding explicit entries for new directories.

What

  • Default match mode is now exact — each configured directory must have its own CODEOWNERS rule, not just inherit from a parent
  • New match: coverage opt-out restores previous behavior per-directory
  • Error messages distinguish between "no coverage at all" and "only parent coverage"

Previously, directories were considered covered if any parent CODEOWNERS
rule matched them. This made it easy to miss adding explicit entries for
new subdirectories when a broad parent rule already existed.

The default match mode is now "exact", requiring each directory to have
its own CODEOWNERS rule. Users can opt out per-directory with
`match: coverage` to restore the previous behavior.

Co-Authored-By: Claude <noreply@anthropic.com>
@kpurdon kpurdon self-assigned this Feb 18, 2026
@kpurdon kpurdon marked this pull request as ready for review February 18, 2026 17:25
@kpurdon kpurdon merged commit c2ac4c2 into main Feb 18, 2026
2 checks passed
@kpurdon kpurdon deleted the kpurdon/exact-match-default branch February 18, 2026 17:25
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