security(codeowners): replace the unowned @high-texas handle with @JG2547 - #184
Merged
Merged
Conversation
…2547 @high-texas (id 124146493) is NOT an account this organization controls. It is an empty third-party account -- created 2023-02-01, no name, no bio, 0 public repos, 0 followers -- that happens to hold a handle resembling the org's name. It is not an org member, holds no collaborator access in any estate repo, and never did: GitHub silently ignores CODEOWNERS entries for users without write access, so all 9 entries have been inert since they were written. The risk is that the entry LOOKS like a valid second owner. Acting on that appearance produces a write-access invitation to a stranger -- which would have carried approval authority over all 9 protected paths, including /.github/CODEOWNERS itself and /build/. One such invitation was created and revoked today before acceptance; no access was ever granted. Replaces all 9 occurrences with @JG2547 (id 130007713), an org member with admin access. NOTE for reviewers: this does NOT change who can approve a PR that JG2547 authors -- GitHub never counts an author's own approval. On JG2547-authored PRs, @patricktobias86 remains the only effective codeowner.
Applies the operator-specified CODEOWNERS content verbatim. Two defects fixed: 1. @high-texas (id 124146493) is an empty third-party account, not an org member, with no collaborator access anywhere in the estate. GitHub silently ignores CODEOWNERS entries for users without write access, so all 9 entries naming it have been inert since written. Replaced with @JG2547 (admin). 2. There was no default rule, so any path outside the 9 listed patterns had NO code owner at all -- which is why PR #182 has no requested reviewer. Adds '* @JG2547 @patricktobias86'. Does not weaken require_code_owner_review, required_approving_review_count, require_last_push_approval, or require_extra_approval_for_unattributed_changes. No access was granted to @high-texas.
patricktobias86
approved these changes
Aug 25, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Applies the operator-specified CODEOWNERS content. Fixes two defects.
Defect 1 —
@high-texasis an unowned handle, and every entry naming it is inertGitHub's own CODEOWNERS validation is the proof, not an inference:
Measured identity:
high-texasis an empty third-party account holding a handle that resembles the org's name. Across all 8 estate repos it has no collaborator access, no pending invitation, and no org membership in1132-Fixer,Botify-Network, orTHEVIPROOM. Thereadthe API reports on public repos is ordinary public visibility.Because GitHub silently ignores CODEOWNERS entries for users without write access, all 9 entries have been inert since they were written —
@patricktobias86has always been the sole effective owner. Nothing broke, which is why it went unnoticed.The hazard is that the entry looks like a valid second owner, and acting on that appearance produces a write-access invitation to a stranger — carrying approval authority over
/build/and over/.github/CODEOWNERSitself, which is self-amending.Bounded statement of that incident: invitation
330298548was created with write permission and later successfully revoked. Current pending invitations are zero andhigh-texashas no current granted access. Acceptance during the short interval is not historically provable, because organization audit logs are unavailable on this plan —GET /orgs/1132-Fixer/audit-logreturns 404, the org isplan=free, and the querying account is an org owner, so this is a plan gate rather than a permissions failure.Defect 2 — there was no default rule, so most of the repo had no owner at all
The old file had 9 path patterns and no
*rule, so any path outside them had no code owner. That is exactly why #182 had no requested reviewer while #179–#181 had one. Adds:Effect on the four blocked PRs
#179–#182 are all authored by
JG2547, and GitHub never counts an author's own approval.@patricktobias86remains the only effective approver on them, before and after this change. All four now explicitly requestpatricktobias86(#182 previously requested nobody).What this change does buy: when a bot or another contributor authors a PR, either owner can satisfy code-owner review; and every path in the repo now has an owner rather than only 9 of them.
Not changed
require_code_owner_review,required_approving_review_count: 1,require_last_push_approval, andrequire_extra_approval_for_unattributed_changesare untouched. No access was granted to@high-texas. This PR does not waive #182's failingBuild & Test, nor resolve the #181/#182 product-choice conflict./.github/CODEOWNERSis itself a codeowned path, so this PR requires@patricktobias86's approval by design.🤖 Generated with Claude Code