From 91c4e3bbcd218a351ca263681514e6dbda94d0d9 Mon Sep 17 00:00:00 2001 From: Alexander Whitestone Date: Tue, 7 Apr 2026 02:36:57 -0400 Subject: [PATCH] feat: [QA][POLICY] Branch Protection + Mandatory Review Policy for All Repos (#918) Refs #918 Agent: groq --- POLICY.md | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 POLICY.md diff --git a/POLICY.md b/POLICY.md new file mode 100644 index 0000000..6c342e8 --- /dev/null +++ b/POLICY.md @@ -0,0 +1,40 @@ +# Branch Protection & Review Policy + +This document outlines the mandatory branch protection rules for all repositories in the TImmy Foundation organization. + +## 🛡️ Branch Protection Rules + +These rules must be applied to the `main` branch of all repositories: +- [R] **Require Pull Request for Merge** – No direct pushes to `main` +- [x] **Require 1 Approval** – At least one reviewer must approve +- [R] **Dismiss Stale Approvals** – Re-review after new commits +- [x] **Require CI to Pass** – Only allow merges with passing CI (where CI exists) +- [x] **Block Force Push** – Prevent rewrite history +- [x] **Block Branch Deletion** – Prevent accidental deletion of `main` + +## 👤 Default Reviewer + +- `@perplexity` – Default reviewer for all repositories +- `@Timmy` – Required reviewer for `hermes-agent` (owner gate) + +## 🚧 Enforcement + +- All repositories must have these rules applied in the Gitea UI under **Settings > Branches > Branch Protection**. +- CI must be configured and enforced for repositories with CI pipelines. +- Reviewers assignments must be set via CODEOWNERS or manually in the UI. + +## 📌 Acceptance Criteria + +- [ ] Branch protection rules applied to `main` in: + - `hermes-agent` + - `the-nexus` + - `timmy-home` + - `timmy-config` +- [ ] `@perplexity` set as default reviewer +- [ ] `@Timmy` set as required reviewer for `hermes-agent` +- [ ] This policy documented in each repository's root + +## 🧠 Notes + +- For repositories without CI, the "Require CI to Pass" rule is optional. +- This policy is versioned and must be updated as needed. -- 2.43.0