Skip to content

Release governance gap: admin self-merge bypass and v0.1.0 tag churn (follow-up to #81) #124

Description

@waterbro-8
schemaVersion: requirement-record.v1
revision: R4
status: ready
priority: P1
productOwner: "@PeterGuy326"
technicalOwner: "@PeterGuy326"
implementationOwner: "@waterbro-8"
automatedPreReviewOwner: "GitHub Actions"
humanReviewOwner: "@Bindy-lbb"
userOutcome: "Release-blocking pull requests retain independent CODEOWNER review while no single reviewer creates an avoidable availability bottleneck."
requirements:
  - REQ-001
  - REQ-002
  - REQ-003
acceptanceCriteria:
  - AC-001
  - AC-002
  - AC-003
parent: null
dependencies: []
supersedes:
  - "R1 free-form governance record"
lastDecisionAt: "2026-08-31T12:09:30Z"

User problem and observable outcome

The repository already requires a current independent CODEOWNER approval and
strict CI, but only two owners made every author-owned release candidate depend
on the one remaining reviewer. The owner-approved third reviewer is available
as a bounded availability improvement, not as a relaxation of protections.

Observable outcome: .github/CODEOWNERS lists exactly
@PeterGuy326 @Bindy-lbb @waterbro-8 for the repository, and a current-head
candidate is independently reviewed under the unchanged branch protections.

Requirements

  • REQ-001: Add only @waterbro-8 as the third CODEOWNER in the existing global
    rule.
  • REQ-002: Preserve strict required checks, code-owner review, last-push
    approval, linear history, conversation resolution, no force pushes, no
    deletions, and admin enforcement.
  • REQ-003: Preserve release-tag authority boundaries; the code-owner change does
    not grant tag creation, update, deletion, or new repository roles.

Acceptance criteria

  • AC-001: The exact candidate diff changes only .github/CODEOWNERS to the
    approved three-owner line.
  • AC-002: All required CI is green on an up-to-date exact head.
  • AC-003: A non-author, non-last-pusher current CODEOWNER gives the final
    approval; no admin bypass or self-approval occurs.

Scope and non-goals

  • Scope: the single CODEOWNERS line and its review evidence.
  • Non-goals: changing branch protections, collaborator roles, tag rulesets,
    required-approval counts, or GOVERNANCE.md release guidance.
  • Related work: docs(governance): add GOVERNANCE.md release governance charter #125 remains a separate documentation candidate and must be
    corrected independently to match the live configuration.

Lifecycle, priority, blockers, and open decisions

Evidence plan and latest evidence

AC Planned evidence Current result
AC-001 Exact pull-request file diff Candidate currently has one CODEOWNERS-line change; re-read after sync
AC-002 Required check URLs on current head NOT VERIFIED: #132 is behind main
AC-003 GitHub review record and protection read-back NOT VERIFIED: final reviewer waits for a stable green synchronized head

Decisions and revision history

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

area:infraCI, release, packaging, and repository infrastructureevidence:e3-reproducedMaintainer reproduced with deterministic stepsstatus:readyScope and acceptance criteria are ready for developmenttype:maintenanceMaintenance, tooling, refactoring, or repository work

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions