You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
CODEOWNERS has no default * catch-all pattern — files not matched by a path rule will have no owner and require_code_owner_review will not apply to them
Self-review PR (comment-only change, no issues found)
Check CI (queued — comment-only change, no failures expected) and tag code owners (@don-petry)
Finding: The .github/CODEOWNERS file already had the required * @petry-projects/org-leads catch-all (added in #172, 2026-05-04). Issue #178 was a false positive — the compliance audit had an API-fetch failure on that run, as evidenced by issue #177 showing raw 404 JSON as "owner-line content." Added explanatory comments to make the catch-all's compliance purpose explicit.
Detail: CODEOWNERS has no default * catch-all pattern — files not matched by a path rule will have no owner and require_code_owner_review will not apply to them
Detail: CODEOWNERS has no default * catch-all pattern — files not matched by a path rule will have no owner and require_code_owner_review will not apply to them
Detail: CODEOWNERS has no default * catch-all pattern — files not matched by a path rule will have no owner and require_code_owner_review will not apply to them
Detail: CODEOWNERS has no default * catch-all pattern — files not matched by a path rule will have no owner and require_code_owner_review will not apply to them
Detail: CODEOWNERS has no default * catch-all pattern — files not matched by a path rule will have no owner and require_code_owner_review will not apply to them
Detail: CODEOWNERS has no default * catch-all pattern — files not matched by a path rule will have no owner and require_code_owner_review will not apply to them
Detail: CODEOWNERS has no default * catch-all pattern — files not matched by a path rule will have no owner and require_code_owner_review will not apply to them
Detail: CODEOWNERS has no default * catch-all pattern — files not matched by a path rule will have no owner and require_code_owner_review will not apply to them
Verify the root CODEOWNERS against the exact check_codeowners logic in petry-projects/.githubscripts/compliance-audit.sh and bring it into compliance with the catch-all (*) requirement.
Investigation Finding
The audit's codeowners-no-catchall check extracts non-comment owner lines, takes the first whitespace token (the path pattern) of each, and warns only if none equals exactly *:
This already provides the * catch-all, lists @petry-projects/org-leads as the FIRST (and only) owner, and uses no individual users — satisfying all four check_codeowners rules. The finding appears to have been resolved by a prior change after the issue was filed (2026-05-08).
Implementation Checklist
Re-confirm root CODEOWNERS passes the exact catch-all check
Confirm no competing .github/CODEOWNERS / docs/CODEOWNERS shadows it (audit reads root first, then breaks)
Run the required repo lint (.dev-lead/scripts/dev-lead-lint.sh)
Tests to Write
N/A — config-only compliance verification with no observable behavioral change (TDD exception per workflow Phase 2). The behavior is covered upstream by test/scripts/compliance-audit/codeowners-catchall.bats in petry-projects/.github.
Dev-Lead: Implementation Complete — Already Compliant (no code change required)
Conclusion
The codeowners-no-catchall finding is already resolved. The root CODEOWNERS contains the required default * catch-all rule. No source change was needed, and none was made (the working tree is clean) — fabricating a change to an already-correct config file would be out of scope.
Plan Execution
Re-confirmed root CODEOWNERS passes the exact catch-all check from petry-projects/.githubscripts/compliance-audit.sh (check_codeowners)
Confirmed no competing .github/CODEOWNERS / docs/CODEOWNERS exists (audit reads root first, then breaks)
Ran the required repo lint — passes
Evidence
Current root CODEOWNERS:
# CODEOWNERS
# Standard: use the @petry-projects/org-leads team for all code owner
# assignments. See petry-projects/.github standards/codeowners-standard.md
* @petry-projects/org-leads
Applying the audit's exact catch-all logic to the non-comment owner lines:
owner_lines = [* @petry-projects/org-leads]
awk '{print $1}' -> *
grep -qxF '*' -> match => catch-all PRESENT => no finding
This also satisfies the other check_codeowners rules: @petry-projects/org-leads is the FIRST owner, and there are no forbidden individual-user owners.
Test Results
$ bash ".dev-lead/scripts/dev-lead-lint.sh"
[lint] shellcheck on 2 file(s)...
[lint] validating CODEOWNERS...
OK: CODEOWNERS
[lint] all checks passed
exit: 0
$ git status --porcelain
(clean — no changes)
TDD note (workflow Phase 2 exception): this is a config-only compliance verification with no observable behavioral change, so no new test was added. The catch-all behavior is covered upstream by test/scripts/compliance-audit/codeowners-catchall.bats in petry-projects/.github.
Files Changed
None. The repository was already in compliance.
Notes
Timeline: issue filed 2026-05-08; the standard's migration history records broodly#172 migrating to * @petry-projects/org-leads (2026-05-04), and the catch-all is present in current main (last touched in commit 2209de2, 2026-06-18). The finding is stale.
Recommendation: this issue can be closed as already-resolved. No PR is necessary since there is no diff.
@petry-projects/org-leads is the first (and only) owner
No individual named users listed as owners
Files Changed
None — the repository is already in compliance. No tests were written (behavior-preserving / no-op exception per Phase 2, since there is no code change to make).
Recommendation
This issue can be closed. The next weekly compliance audit will no longer report this finding.
Activity
don-petry commentedon May 8, 2026
Claude finished @don-petry's task in 6m 1s —— View job •
claude/issue-178-20260508-1418• Create PR ➔Fixing CODEOWNERS catch-all compliance issue
@don-petry)Finding: The
.github/CODEOWNERSfile already had the required* @petry-projects/org-leadscatch-all (added in #172, 2026-05-04). Issue #178 was a false positive — the compliance audit had an API-fetch failure on that run, as evidenced by issue #177 showing raw 404 JSON as "owner-line content." Added explanatory comments to make the catch-all's compliance purpose explicit.PR opened: #184
don-petry commentedon May 11, 2026
Weekly Compliance Audit (2026-05-11)
This finding is still open.
Detail: CODEOWNERS has no default
*catch-all pattern — files not matched by a path rule will have no owner andrequire_code_owner_reviewwill not apply to themStandard: standards/codeowners-standard.md
don-petry commentedon May 12, 2026
Weekly Compliance Audit (2026-05-12)
This finding is still open.
Detail: CODEOWNERS has no default
*catch-all pattern — files not matched by a path rule will have no owner andrequire_code_owner_reviewwill not apply to themStandard: standards/codeowners-standard.md
don-petry commentedon May 12, 2026
Weekly Compliance Audit (2026-05-12)
This finding is still open.
Detail: CODEOWNERS has no default
*catch-all pattern — files not matched by a path rule will have no owner andrequire_code_owner_reviewwill not apply to themStandard: standards/codeowners-standard.md
don-petry commentedon May 12, 2026
Weekly Compliance Audit (2026-05-12)
This finding is still open.
Detail: CODEOWNERS has no default
*catch-all pattern — files not matched by a path rule will have no owner andrequire_code_owner_reviewwill not apply to themStandard: standards/codeowners-standard.md
don-petry commentedon May 12, 2026
Weekly Compliance Audit (2026-05-12)
This finding is still open.
Detail: CODEOWNERS has no default
*catch-all pattern — files not matched by a path rule will have no owner andrequire_code_owner_reviewwill not apply to themStandard: standards/codeowners-standard.md
don-petry commentedon May 12, 2026
Weekly Compliance Audit (2026-05-12)
This finding is still open.
Detail: CODEOWNERS has no default
*catch-all pattern — files not matched by a path rule will have no owner andrequire_code_owner_reviewwill not apply to themStandard: standards/codeowners-standard.md
don-petry commentedon May 13, 2026
Weekly Compliance Audit (2026-05-13)
This finding is still open.
Detail: CODEOWNERS has no default
*catch-all pattern — files not matched by a path rule will have no owner andrequire_code_owner_reviewwill not apply to themStandard: standards/codeowners-standard.md
don-petry commentedon May 15, 2026
Weekly Compliance Audit (2026-05-15)
This finding is still open.
Detail: CODEOWNERS has no default
*catch-all pattern — files not matched by a path rule will have no owner andrequire_code_owner_reviewwill not apply to themStandard: standards/codeowners-standard.md
39 remaining items
don-petry commentedon Jun 19, 2026
Dev-Lead Implementation Plan
Issue: #178 — Compliance: codeowners-no-catchall
Scope
Verify the root
CODEOWNERSagainst the exactcheck_codeownerslogic inpetry-projects/.githubscripts/compliance-audit.shand bring it into compliance with the catch-all (*) requirement.Investigation Finding
The audit's
codeowners-no-catchallcheck extracts non-comment owner lines, takes the first whitespace token (the path pattern) of each, and warns only if none equals exactly*:The current root
CODEOWNERSis:This already provides the
*catch-all, lists@petry-projects/org-leadsas the FIRST (and only) owner, and uses no individual users — satisfying all fourcheck_codeownersrules. The finding appears to have been resolved by a prior change after the issue was filed (2026-05-08).Implementation Checklist
CODEOWNERSpasses the exact catch-all check.github/CODEOWNERS/docs/CODEOWNERSshadows it (audit reads root first, then breaks).dev-lead/scripts/dev-lead-lint.sh)Tests to Write
test/scripts/compliance-audit/codeowners-catchall.batsinpetry-projects/.github.Test Command
bash ".dev-lead/scripts/dev-lead-lint.sh"don-petry commentedon Jun 19, 2026
Dev-Lead: Implementation Complete — Already Compliant (no code change required)
Conclusion
The
codeowners-no-catchallfinding is already resolved. The rootCODEOWNERScontains the required default*catch-all rule. No source change was needed, and none was made (the working tree is clean) — fabricating a change to an already-correct config file would be out of scope.Plan Execution
CODEOWNERSpasses the exact catch-all check frompetry-projects/.githubscripts/compliance-audit.sh(check_codeowners).github/CODEOWNERS/docs/CODEOWNERSexists (audit reads root first, thenbreaks)Evidence
Current root
CODEOWNERS:Applying the audit's exact catch-all logic to the non-comment owner lines:
This also satisfies the other
check_codeownersrules:@petry-projects/org-leadsis the FIRST owner, and there are no forbidden individual-user owners.Test Results
Files Changed
Notes
* @petry-projects/org-leads(2026-05-04), and the catch-all is present in currentmain(last touched in commit 2209de2, 2026-06-18). The finding is stale.don-petry commentedon Jun 19, 2026
Dev-Lead: Already Compliant — No Changes Required
This finding is stale. The repository already satisfies the
codeowners-no-catchallcheck.Verification
The root
CODEOWNERSfile contains a default*catch-all owned by the org-leads team:Running the exact logic from
compliance-audit.shcheck_codeowners(line 741) against the current file:The repo also passes
.dev-lead/scripts/dev-lead-lint.sh:Timeline
CODEOWNERSwith the*catch-all is present on this branch (file authored in commit2209de2, 2026-06-18)Compliance against codeowners-standard.md
*catch-all pattern present@petry-projects/org-leadsis the first (and only) ownerFiles Changed
None — the repository is already in compliance. No tests were written (behavior-preserving / no-op exception per Phase 2, since there is no code change to make).
Recommendation
This issue can be closed. The next weekly compliance audit will no longer report this finding.
don-petry commentedon Jun 19, 2026
Resolved! This check is now passing as of 2026-06-19. Closing automatically.
feat: implement issue #178 — Compliance: codeowners-no-catchall (#209)
feat: implement issue #178 — Compliance: codeowners-no-catchall (#209)
feat: implement issue #178 — Compliance: codeowners-no-catchall (#209)
feat: implement issue #178 — Compliance: codeowners-no-catchall (#209)
feat: implement issue #407 — Compliance: ruleset-drift-pr-quality-req…
feat: implement issue #178 — Compliance: codeowners-no-catchall (#209)
feat: implement issue #178 — Compliance: codeowners-no-catchall (#209)
feat: implement issue #409 — Compliance: ruleset-drift-pr-quality-req…