Skip to content

feat(governance): add approval requirements policy - #1617

Merged
RUKAYAT-CODER merged 2 commits into
rinafcode:mainfrom
olakunleakinyele4-max:fix/1517-approval-requirements-policy
Sep 27, 2026
Merged

RUKAYAT-CODER merged 2 commits into
rinafcode:mainfrom
olakunleakinyele4-max:fix/1517-approval-requirements-policy

Conversation

@olakunleakinyele4-max

Copy link
Copy Markdown
Contributor

Overview

Adds the missing Approval Requirements Policy to the Governance/ folder. The new document defines the minimum number of approvals required per change type, the checks that must pass alongside them, and the narrow override rules, closing the governance gap the issue describes. A companion regression test pins the document's guarantees so they cannot silently regress.

Related Issue

Closes #1517

Changes

  • [ADD] Governance/policies/APPROVAL_REQUIREMENTS.md

    • Documents minimum approvals per change type: governance-only and docs changes (one maintainer), routine application changes (one maintainer + one independent), breaking changes (two maintainers), security-sensitive changes (two approvals, one security-accountable), release/hotfix changes, and dependency/build changes (two approvals).
    • Spells out that a pull request spanning several types collects the highest floor and that splitting cannot route a governed change past its approvals.
    • Specifies the required checks (type-check, lint, build, test) on both the approved and head commits, plus companion governance tests and gap disclosure.
    • Defines the override rules: emergency hotfix, reviewer unavailability, delegation, and the non-overridable rules (no self-approval, no waiving independence, no merging with a failing check, no dropping a security change below two approvals).
    • Follows the house governance document structure (Purpose / Scope / body / Ownership and Review / Success) and stays within the 82-column line limit.
  • [ADD] Governance/policies/APPROVAL_REQUIREMENTS.test.ts

    • Mirrors the existing REVIEW_POLICY.test.ts harness (vitest + readFileSync) to assert the document's sections, per-type approval floors, required checks, and override guarantees.

Verification Results

Implemented via GitHub Contents/Git API (no local clone).
No local clone was used; files were written through the GitHub Contents API. The companion test's assertions were executed offline against the checked-in document with a minimal vitest-equivalent harness: 21/21 assertions pass. Longest document line is 80 columns (limit 82).
Acceptance Criteria Status
Governance requirement is implemented successfully ✅ APPROVAL_REQUIREMENTS.md documents minimum approvals per change type, required checks, and override rules
Scope is limited to a maximum of two files ✅ exactly two new files
No changes are made outside the Governance folder ✅ both files live under Governance/policies/
No regression in existing functionality ✅ additive documentation and test only; no application code touched
Tests pass and code follows project standards ✅ harness matches REVIEW_POLICY.test.ts; assertions verified offline (21/21)
Change is documented ✅ the policy document itself is the deliverable, described in this PR

Closes #1517

@drips-wave

drips-wave Bot commented Sep 27, 2026

Copy link
Copy Markdown

@olakunleakinyele4-max Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits.

You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀

Learn more about application limits

@RUKAYAT-CODER

Copy link
Copy Markdown
Contributor

Thank you for contributing to the project.

@RUKAYAT-CODER
RUKAYAT-CODER merged commit 2f16238 into rinafcode:main Sep 27, 2026
4 of 5 checks passed
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.

Add PR approval requirements for TeachLink Web

2 participants