From a449e1722858a078e4ddf305cc62b90366782d68 Mon Sep 17 00:00:00 2001 From: Jake Fineman Date: Fri, 11 Sep 2026 14:33:36 -0400 Subject: [PATCH 1/2] chore: make CODEOWNERS resolvable and move it to .github/ The previous CODEOWNERS named a team GitHub could not resolve on this repository, so every line was reported as "Unknown owner" and any rule requiring Code Owner review had no one who could satisfy it. Replace it with an owner that has verified write access, move it to .github/CODEOWNERS (the highest-precedence location), and add explicit entries for the release-critical surfaces present here (workflows, package manifest, release scripts). Co-Authored-By: Claude Fable 5.1 --- .github/CODEOWNERS | 14 ++++++++++++++ CODEOWNERS | 2 -- 2 files changed, 14 insertions(+), 2 deletions(-) create mode 100644 .github/CODEOWNERS delete mode 100644 CODEOWNERS diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS new file mode 100644 index 0000000..b6e0c82 --- /dev/null +++ b/.github/CODEOWNERS @@ -0,0 +1,14 @@ +# CODEOWNERS - GitHub auto-requests review from the listed owners on matching paths. +# Every handle here must be a user or team with write access to this repository; +# an unresolvable handle is silently ignored and any "require Code Owner review" +# rule becomes unsatisfiable. Validate after editing: +# gh api repos/wave-av/examples/codeowners/errors # expect {"errors":[]} +# Later rules take precedence over earlier ones. + +# Default owner for everything. +* @yakimoto + +# Release-critical surfaces: CI/CD, package manifest, release tooling, ownership. +/.github/workflows/ @yakimoto +/package.json @yakimoto +/.github/CODEOWNERS @yakimoto diff --git a/CODEOWNERS b/CODEOWNERS deleted file mode 100644 index cae37bc..0000000 --- a/CODEOWNERS +++ /dev/null @@ -1,2 +0,0 @@ -* @wave-av/core-team -/.github/ @wave-av/core-team From 017df98b2f4099a455f616e80bcdb5414ae689f6 Mon Sep 17 00:00:00 2001 From: Jake Fineman Date: Sat, 12 Sep 2026 11:09:04 -0400 Subject: [PATCH 2/2] chore(codeowners): pin /scripts/, validate the edited ref, document the single-maintainer constraint Addresses the review threads on this PR on the merits: - The "release tooling" comment named a scope the rules did not pin: scripts/ holds the release/validation tooling and had no explicit line. Add `/scripts/ @yakimoto` so the explicit rules match the stated scope instead of relying on the `*` default. - The validation hint called `codeowners/errors` without `ref`, which inspects the DEFAULT branch, so it could report `{"errors":[]}` for a branch whose CODEOWNERS is broken. Pass `?ref=`. - The repository has one collaborator with write access. GitHub does not count a PR author's own approval toward a Code Owner review, so a "require review from Code Owners" rule would be unsatisfiable for that author's PRs. Branch protection has no required-review rule today (`required_pull_request_reviews` is null); this file only drives review requests. Record that constraint in the file so the rule is not enabled before a second write-access owner exists. Listing a handle without write access would be the unresolvable-owner defect the header warns about, so no second owner is added here. Validated on the branch: `gh api 'repos///codeowners/errors?ref=chore/codeowners'` returns `{"errors":[]}`. Co-Authored-By: Claude Fable 5.1 --- .github/CODEOWNERS | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index b6e0c82..174339f 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -1,9 +1,15 @@ # CODEOWNERS - GitHub auto-requests review from the listed owners on matching paths. # Every handle here must be a user or team with write access to this repository; # an unresolvable handle is silently ignored and any "require Code Owner review" -# rule becomes unsatisfiable. Validate after editing: -# gh api repos/wave-av/examples/codeowners/errors # expect {"errors":[]} +# rule becomes unsatisfiable. Validate after editing — pass the edited ref, because +# without `ref` the endpoint inspects the default branch, not your change: +# gh api 'repos/wave-av/examples/codeowners/errors?ref=' # expect {"errors":[]} # Later rules take precedence over earlier ones. +# +# This repository has a single maintainer. GitHub does not let a pull request's +# author satisfy a Code Owner review of their own change, so "require review from +# Code Owners" must NOT be enabled on the branch protection until a second owner +# with write access is added below; today the file only drives review requests. # Default owner for everything. * @yakimoto @@ -11,4 +17,5 @@ # Release-critical surfaces: CI/CD, package manifest, release tooling, ownership. /.github/workflows/ @yakimoto /package.json @yakimoto +/scripts/ @yakimoto /.github/CODEOWNERS @yakimoto