[groq] [QA][POLICY] Branch Protection + Mandatory Review Policy for All Repos (#918) #1022
@@ -1,39 +1,53 @@
|
||||
# Contribution Workflow
|
||||
# Contribution & Code Review Policy
|
||||
|
||||
## Mandatory Review Process
|
||||
## Branch Protection & Review Policy
|
||||
|
||||
All changes to protected branches require:
|
||||
1. Open a Pull Request with clear description
|
||||
2. At least one approval from:
|
||||
- @perplexity (required)
|
||||
- @Timmy (required for hermes-agent)
|
||||
- Area owners (optional)
|
||||
3. Passing CI/CD checks (where available)
|
||||
4. No force pushes to protected branches
|
||||
All repositories enforce these rules on the `main` branch:
|
||||
- ✅ Require Pull Request for merge
|
||||
- ✅ Require 1 approval before merge
|
||||
- ✅ Dismiss stale approvals on new commits
|
||||
- <EFBFBD>️ Require CI to pass (where CI exists)
|
||||
- ✅ Block force pushes to `main`
|
||||
- ✅ Block deletion of `main` branch
|
||||
|
||||
## Branch Protection Rules
|
||||
### Default Reviewer Assignments
|
||||
|
||||
The following rules are enforced by Gitea:
|
||||
- Direct pushes to main: ❌ Disallowed
|
||||
- Minimum 1 approval required
|
||||
- Stale reviews auto-dismissed
|
||||
- CI/CD must pass
|
||||
- Force pushes blocked
|
||||
- Branch deletion blocked
|
||||
| Repository | Required Reviewers |
|
||||
|------------------|---------------------------------|
|
||||
| `hermes-agent` | `@perplexity`, `@Timmy` |
|
||||
| `the-nexus` | `@perplexity` |
|
||||
| `timmy-home` | `@perplexity` |
|
||||
| `timmy-config` | `@perplexity` |
|
||||
|
||||
## Code Ownership
|
||||
### CI Enforcement Status
|
||||
|
||||
Default reviewers by repository:
|
||||
- hermes-agent: @perplexity, @Timmy
|
||||
- the-nexus: @perplexity
|
||||
- timmy-home: @perplexity
|
||||
- timmy-config: @perplexity
|
||||
| Repository | CI Status |
|
||||
|------------------|---------------------------------|
|
||||
| `hermes-agent` | ✅ Active |
|
||||
| `the-nexus` | <20>️ CI runner pending (#915) |
|
||||
| `timmy-home` | ❌ No CI |
|
||||
| `timmy-config` | ❌ Limited CI |
|
||||
|
||||
## PR Maintenance
|
||||
### Workflow Requirements
|
||||
|
||||
Abandoned PRs will be:
|
||||
- Labeled "stale" after 7 days
|
||||
- Auto-closed after 30 days
|
||||
1. Create feature branch from `main`
|
||||
2. Submit PR with clear description
|
||||
3. Wait for @perplexity review
|
||||
4. Address feedback if any
|
||||
5. Merge after approval and passing CI
|
||||
|
||||
### Emergency Exceptions
|
||||
Hotfixes require:
|
||||
- ✅ @Timmy approval
|
||||
- ✅ Post-merge documentation
|
||||
- ✅ Follow-up PR for full review
|
||||
|
||||
### Abandoned PR Policy
|
||||
- PRs inactive >7 day: 🧹 archived
|
||||
- Unreviewed PRs >14 days: ❌ closed
|
||||
|
||||
### Policy Enforcement
|
||||
These rules are enforced by Gitea branch protection settings. Direct pushes to main will be blocked.
|
||||
- Require rebase to re-enable
|
||||
|
||||
## Enforcement
|
||||
|
||||
Reference in New Issue
Block a user