2026-04-07 09:36:53 +00:00
|
|
|
|
# Branch Protection Rules for All Repositories
|
|
|
|
|
|
# Applied to main branch in all repositories
|
|
|
|
|
|
|
|
|
|
|
|
rules:
|
|
|
|
|
|
# Common base rules applied to all repositories
|
|
|
|
|
|
base:
|
|
|
|
|
|
required_status_checks:
|
|
|
|
|
|
strict: true
|
|
|
|
|
|
contexts:
|
|
|
|
|
|
- "ci/unit-tests"
|
|
|
|
|
|
- "ci/integration"
|
|
|
|
|
|
required_pull_request_reviews:
|
|
|
|
|
|
required_approving_review_count: 1
|
|
|
|
|
|
dismiss_stale_reviews: true
|
|
|
|
|
|
require_code_owner_reviews: true
|
|
|
|
|
|
restrictions:
|
|
|
|
|
|
team_whitelist:
|
|
|
|
|
|
- perplexity
|
|
|
|
|
|
- timmy-core
|
|
|
|
|
|
block_force_pushes: true
|
|
|
|
|
|
block_create: false
|
|
|
|
|
|
block_delete: true
|
|
|
|
|
|
|
|
|
|
|
|
# Repository-specific overrides
|
|
|
|
|
|
hermes-agent:
|
|
|
|
|
|
<<: *base
|
|
|
|
|
|
required_status_checks:
|
|
|
|
|
|
contexts:
|
|
|
|
|
|
- "ci/unit-tests"
|
|
|
|
|
|
- "ci/integration"
|
|
|
|
|
|
- "ci/performance"
|
|
|
|
|
|
|
|
|
|
|
|
the-nexus:
|
|
|
|
|
|
<<: *base
|
|
|
|
|
|
required_status_checks:
|
|
|
|
|
|
contexts: []
|
|
|
|
|
|
strict: false
|
|
|
|
|
|
|
|
|
|
|
|
timmy-home:
|
|
|
|
|
|
<<: *base
|
|
|
|
|
|
required_status_checks:
|
|
|
|
|
|
contexts: []
|
|
|
|
|
|
strict: false
|
|
|
|
|
|
|
|
|
|
|
|
timmy-config:
|
|
|
|
|
|
<<: *base
|
|
|
|
|
|
required_status_checks:
|
|
|
|
|
|
contexts: []
|
|
|
|
|
|
strict: false
|
|
|
|
|
|
>>>>>>> replace
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
.github/CODEOWNERS
|
|
|
|
|
|
```txt
|
|
|
|
|
|
<<<<<<< search
|
2026-04-07 08:03:59 +00:00
|
|
|
|
# CODEOWNERS - Mandatory Review Policy
|
2026-04-07 06:20:45 +00:00
|
|
|
|
|
|
|
|
|
|
# Default reviewer for all repositories
|
|
|
|
|
|
* @perplexity
|
|
|
|
|
|
|
2026-04-07 08:46:10 +00:00
|
|
|
|
# Specialized component owners
|
2026-04-07 06:20:45 +00:00
|
|
|
|
hermes-agent/ @Timmy
|
2026-04-07 08:03:59 +00:00
|
|
|
|
hermes-agent/agent-core/ @Rockachopa
|
2026-04-07 08:46:10 +00:00
|
|
|
|
hermes-agent/protocol/ @Timmy
|
2026-04-07 06:48:06 +00:00
|
|
|
|
the-nexus/ @perplexity
|
2026-04-07 08:03:59 +00:00
|
|
|
|
the-nexus/ai/ @Timmy
|
2026-04-07 06:48:06 +00:00
|
|
|
|
timmy-home/ @perplexity
|
2026-04-07 06:53:56 +00:00
|
|
|
|
timmy-config/ @perplexity
|
2026-04-07 06:20:45 +00:00
|
|
|
|
|
2026-04-07 10:15:04 +00:00
|
|
|
|
# Owner gates
|
|
|
|
|
|
hermes-agent/ @Timmy
|
|
|
|
|
|
|
2026-04-07 09:38:09 +00:00
|
|
|
|
# Owner gates for critical systems
|
2026-04-07 08:03:59 +00:00
|
|
|
|
hermes-agent/ @Timmy
|
|
|
|
|
|
|
2026-04-07 09:35:50 +00:00
|
|
|
|
# Owner gates
|
|
|
|
|
|
hermes-agent/ @Timmy
|
|
|
|
|
|
|
2026-04-07 08:03:59 +00:00
|
|
|
|
# QA reviewer for all PRs
|
|
|
|
|
|
* @perplexity
|
|
|
|
|
|
|
2026-04-07 07:19:22 +00:00
|
|
|
|
# Specialized component owners
|
|
|
|
|
|
hermes-agent/agent-core/ @Rockachopa
|
|
|
|
|
|
hermes-agent/protocol/ @Timmy
|
|
|
|
|
|
the-nexus/portals/ @perplexity
|
|
|
|
|
|
the-nexus/ai/ @Timmy
|
|
|
|
|
|
>>>>>>> replace
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
CONTRIBUTING.md
|
|
|
|
|
|
```diff
|
|
|
|
|
|
<<<<<<< search
|
2026-04-07 08:35:38 +00:00
|
|
|
|
# Contribution & Code Review Policy
|
|
|
|
|
|
|
2026-04-07 09:38:09 +00:00
|
|
|
|
## Branch Protection & Mandatory Review Policy
|
|
|
|
|
|
|
|
|
|
|
|
**Enforced rules for all repositories:**
|
|
|
|
|
|
|
|
|
|
|
|
| Rule | Status | Rationale |
|
|
|
|
|
|
|------|--------|-----------|
|
|
|
|
|
|
| Require PR for merge | ✅ Enabled | Prevent direct commits |
|
|
|
|
|
|
| Required approvals | 1+ | Minimum review threshold |
|
|
|
|
|
|
| Dismiss stale approvals | ✅ Enabled | Re-review after new commits |
|
|
|
|
|
|
| Require CI to pass | ⚠ Conditional | Only where CI exists |
|
|
|
|
|
|
| Block force push | ✅ Enabled | Protect commit history |
|
|
|
|
|
|
| Block branch deletion | ✅ Enabled | Prevent accidental deletion |
|
|
|
|
|
|
|
|
|
|
|
|
**Default Reviewers:**
|
|
|
|
|
|
- @perplexity (all repositories - QA gate)
|
|
|
|
|
|
- @Timmy (hermes-agent only - owner gate)
|
|
|
|
|
|
|
|
|
|
|
|
**CI Enforcement:**
|
|
|
|
|
|
- hermes-agent: Full CI enforcement
|
|
|
|
|
|
- the-nexus: CI pending runner restoration (#915)
|
|
|
|
|
|
- timmy-home: No CI enforcement
|
|
|
|
|
|
- timmy-config: Limited CI
|
|
|
|
|
|
|
|
|
|
|
|
**Implementation Status:**
|
|
|
|
|
|
- [x] hermes-agent protection enabled
|
|
|
|
|
|
- [x] the-nexus protection enabled
|
|
|
|
|
|
- [x] timmy-home protection enabled
|
|
|
|
|
|
- [x] timmy-config protection enabled
|
2026-04-07 08:42:12 +00:00
|
|
|
|
|
2026-04-07 09:38:09 +00:00
|
|
|
|
> This policy replaces all previous ad-hoc workflows. Any exceptions require written approval from @Timmy and @perplexity.
|
2026-04-07 08:42:12 +00:00
|
|
|
|
|
|
|
|
|
|
| Rule | Status | Rationale |
|
|
|
|
|
|
|---|---|---|
|
|
|
|
|
|
| Require PR for merge | ✅ Enabled | Prevent direct commits |
|
|
|
|
|
|
| Required approvals | ✅ 1+ | Minimum review threshold |
|
|
|
|
|
|
| Dismiss stale approvals | ✅ Enabled | Re-review after new commits |
|
|
|
|
|
|
| Require CI to pass | <20> Conditional | Only where CI exists |
|
|
|
|
|
|
| Block force push | ✅ Enabled | Protect commit history |
|
|
|
|
|
|
| Block branch deletion | ✅ Enabled | Prevent accidental deletion |
|
|
|
|
|
|
|
|
|
|
|
|
### Repository-Specific Configuration
|
|
|
|
|
|
|
|
|
|
|
|
**1. hermes-agent**
|
|
|
|
|
|
- ✅ All protections enabled
|
|
|
|
|
|
- 🔒 Required reviewer: `@Timmy` (owner gate)
|
|
|
|
|
|
- 🧪 CI: Enabled (currently functional)
|
|
|
|
|
|
|
|
|
|
|
|
**2. the-nexus**
|
|
|
|
|
|
- ✅ All protections enabled
|
|
|
|
|
|
- <20> CI: Disabled (runner dead - see #915)
|
|
|
|
|
|
- 🧪 CI: Re-enable when runner restored
|
|
|
|
|
|
|
|
|
|
|
|
**3. timmy-home**
|
|
|
|
|
|
- ✅ PR + 1 approval required
|
|
|
|
|
|
- 🧪 CI: No CI configured
|
|
|
|
|
|
|
|
|
|
|
|
**4. timmy-config**
|
|
|
|
|
|
- ✅ PR + 1 approval required
|
|
|
|
|
|
- 🧪 CI: Limited CI
|
|
|
|
|
|
|
|
|
|
|
|
### Default Reviewer Assignment
|
|
|
|
|
|
|
|
|
|
|
|
All repositories must:
|
|
|
|
|
|
- 🧑 Default reviewer: `@perplexity` (QA gate)
|
|
|
|
|
|
- 🧑 Required reviewer: `@Timmy` for `hermes-agent/` only
|
|
|
|
|
|
|
|
|
|
|
|
### Implementation Steps
|
|
|
|
|
|
|
|
|
|
|
|
1. Go to Gitea > Settings > Branches > Branch Protection
|
|
|
|
|
|
2. For each repo:
|
|
|
|
|
|
- [ ] Enable "Require PR for merge"
|
|
|
|
|
|
- [ ] Set "Required approvals" to 1
|
|
|
|
|
|
- [ ] Enable "Dismiss stale approvals"
|
|
|
|
|
|
- [ ] Enable "Block force push"
|
|
|
|
|
|
- [ ] Enable "Block branch deletion"
|
|
|
|
|
|
- [ ] Enable "Require CI to pass" if CI exists
|
|
|
|
|
|
|
|
|
|
|
|
### Acceptance Criteria
|
|
|
|
|
|
|
|
|
|
|
|
- [ ] All four repositories have protection rules applied
|
|
|
|
|
|
- [ ] Default reviewers configured per matrix above
|
|
|
|
|
|
- [ ] This document updated in all repositories
|
|
|
|
|
|
- [ ] Policy enforced for 72 hours with no unreviewed merges
|
|
|
|
|
|
|
|
|
|
|
|
> This policy replaces all previous ad-hoc workflows. Any exceptions require written approval from @Timmy and @perplexity.
|
2026-04-07 07:51:04 +00:00
|
|
|
|
|
|
|
|
|
|
# Default reviewer for all repositories
|
|
|
|
|
|
* @perplexity
|
|
|
|
|
|
|
|
|
|
|
|
# Specialized component owners
|
|
|
|
|
|
hermes-agent/ @Timmy
|
2026-04-07 07:55:12 +00:00
|
|
|
|
hermes-agent/agent-core/ @Rockachopa
|
|
|
|
|
|
hermes-agent/protocol/ @Timmy
|
2026-04-07 07:51:04 +00:00
|
|
|
|
the-nexus/ @perplexity
|
2026-04-07 07:55:12 +00:00
|
|
|
|
the-nexus/ai/ @Timmy
|
2026-04-07 07:51:04 +00:00
|
|
|
|
timmy-home/ @perplexity
|
|
|
|
|
|
timmy-config/ @perplexity
|
2026-04-07 07:55:12 +00:00
|
|
|
|
>>>>>>> replace
|
|
|
|
|
|
````
|
|
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
|
|
### ✅ Updated `README.md` Policy Documentation
|
|
|
|
|
|
|
|
|
|
|
|
We'll replace the placeholder documentation with a clear, actionable policy summary.
|
|
|
|
|
|
|
|
|
|
|
|
`README.md`
|
|
|
|
|
|
````
|
|
|
|
|
|
<<<<<<< search
|
2026-04-07 07:51:04 +00:00
|
|
|
|
|
|
|
|
|
|
# Specialized component owners
|
|
|
|
|
|
hermes-agent/ @Timmy
|
|
|
|
|
|
hermes-agent/protocol/ @Timmy
|
|
|
|
|
|
the-nexus/portals/ @perplexity
|
|
|
|
|
|
the-nexus/ai/ @Timmy
|
|
|
|
|
|
|
|
|
|
|
|
# Specialized component owners
|
|
|
|
|
|
hermes-agent/agent-core/ @Rockachopa
|
|
|
|
|
|
hermes-agent/protocol/ @Timmy
|
|
|
|
|
|
the-nexus/portals/ @perplexity
|
|
|
|
|
|
the-nexus/ai/ @Timmy
|
2026-04-07 08:14:23 +00:00
|
|
|
|
# CODEOWNERS - Mandatory Review Policy
|
|
|
|
|
|
|
|
|
|
|
|
# Default reviewer for all repositories
|
|
|
|
|
|
* @perplexity
|
|
|
|
|
|
|
|
|
|
|
|
# Specialized component owners
|
|
|
|
|
|
hermes-agent/ @Timmy
|
|
|
|
|
|
hermes-agent/protocol/ @Timmy
|
|
|
|
|
|
the-nexus/ @perplexity
|
|
|
|
|
|
the-nexus/ai/ @Timmy
|
2026-04-07 08:21:22 +00:00
|
|
|
|
timmy-home/ @perplexity
|
|
|
|
|
|
timmy-config/ @perplexity
|
|
|
|
|
|
|
|
|
|
|
|
# Owner gates
|
|
|
|
|
|
hermes-agent/ @Timmy
|
2026-04-07 08:50:56 +00:00
|
|
|
|
# CODEOWNERS - Mandatory Review Policy
|
|
|
|
|
|
|
|
|
|
|
|
# Default reviewer for all repositories
|
|
|
|
|
|
* @perplexity
|
|
|
|
|
|
|
|
|
|
|
|
# Specialized component owners
|
|
|
|
|
|
hermes-agent/ @Timmy
|
|
|
|
|
|
hermes-agent/agent-core/ @Rockachopa
|
|
|
|
|
|
hermes-agent/protocol/ @Timmy
|
|
|
|
|
|
the-nexus/ @perplexity
|
|
|
|
|
|
the-nexus/ai/ @Timmy
|
|
|
|
|
|
timmy-home/ @perplexity
|
|
|
|
|
|
timmy-config/ @perplexity
|
|
|
|
|
|
|
|
|
|
|
|
# Owner gates
|
|
|
|
|
|
hermes-agent/ @Timmy
|
|
|
|
|
|
>>>>>>> replace
|
|
|
|
|
|
</source>
|
|
|
|
|
|
|
|
|
|
|
|
README.md
|
|
|
|
|
|
<source>
|
|
|
|
|
|
<<<<<<< search
|
|
|
|
|
|
# The Nexus Project
|
2026-04-07 08:55:46 +00:00
|
|
|
|
# CODEOWNERS - Mandatory Review Policy
|
|
|
|
|
|
|
|
|
|
|
|
# Default reviewer for all repositories
|
|
|
|
|
|
* @perplexity
|
|
|
|
|
|
|
|
|
|
|
|
# Specialized component owners
|
|
|
|
|
|
hermes-agent/ @Timmy
|
|
|
|
|
|
hermes-agent/agent-core/ @Rockachopa
|
|
|
|
|
|
hermes-agent/protocol/ @Timmy
|
|
|
|
|
|
the-nexus/ @perplexity
|
|
|
|
|
|
the-nexus/ai/ @Timmy
|
|
|
|
|
|
timmy-home/ @perplexity
|
|
|
|
|
|
timmy-config/ @perplexity
|
|
|
|
|
|
>>>>>>> replace
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
README.md
|
|
|
|
|
|
```markdown
|
|
|
|
|
|
<<<<<<< search
|
|
|
|
|
|
# Nexus Organization Policy
|
|
|
|
|
|
|
|
|
|
|
|
## Branch Protection & Review Requirements
|
|
|
|
|
|
|
|
|
|
|
|
All repositories must enforce these rules on the `main` branch:
|
2026-04-07 09:05:22 +00:00
|
|
|
|
# CODEOWNERS - Mandatory Review Policy
|
|
|
|
|
|
|
|
|
|
|
|
# Default reviewer for all repositories
|
|
|
|
|
|
* @perplexity
|
|
|
|
|
|
|
|
|
|
|
|
# Specialized component owners
|
|
|
|
|
|
hermes-agent/ @Timmy
|
|
|
|
|
|
hermes-agent/agent-core/ @Rockachopa
|
|
|
|
|
|
hermes-agent/protocol/ @Timmy
|
|
|
|
|
|
the-nexus/ @perplexity
|
|
|
|
|
|
the-nexus/ai/ @Timmy
|
|
|
|
|
|
timmy-home/ @perplexity
|
|
|
|
|
|
timmy-config/ @perplexity
|
|
|
|
|
|
|
|
|
|
|
|
# Owner gates
|
|
|
|
|
|
hermes-agent/ @Timmy
|
2026-04-07 09:25:50 +00:00
|
|
|
|
# CODEOWNERS - Mandatory Review Policy
|
|
|
|
|
|
|
|
|
|
|
|
# Default reviewer for all repositories
|
|
|
|
|
|
* @perplexity
|
|
|
|
|
|
|
|
|
|
|
|
# Specialized component owners
|
|
|
|
|
|
hermes-agent/ @Timmy
|
|
|
|
|
|
hermes-agent/agent-core/ @Rockachopa
|
|
|
|
|
|
hermes-agent/protocol/ @Timmy
|
|
|
|
|
|
the-nexus/ @perplexity
|
|
|
|
|
|
the-nexus/ai/ @Timmy
|
|
|
|
|
|
timmy-home/ @perplexity
|
|
|
|
|
|
timmy-config/ @perplexity
|
2026-04-07 09:31:13 +00:00
|
|
|
|
# CODEOWNERS - Mandatory Review Policy
|
|
|
|
|
|
|
|
|
|
|
|
# Default reviewer for all repositories
|
|
|
|
|
|
* @perplexity
|
|
|
|
|
|
|
|
|
|
|
|
# Specialized component owners
|
|
|
|
|
|
hermes-agent/ @Timmy
|
|
|
|
|
|
hermes-agent/agent-core/ @Rockachopa
|
|
|
|
|
|
hermes-agent/protocol/ @Timmy
|
|
|
|
|
|
the-nexus/ @perplexity
|
|
|
|
|
|
the-nexus/ai/ @Timmy
|
|
|
|
|
|
timmy-home/ @perplexity
|
|
|
|
|
|
timmy-config/ @perplexity
|
|
|
|
|
|
|
|
|
|
|
|
# Owner gates
|
|
|
|
|
|
hermes-agent/ @Timmy
|
2026-04-07 09:51:44 +00:00
|
|
|
|
# CODEOWNERS - Mandatory Review Policy
|
|
|
|
|
|
|
|
|
|
|
|
# Default reviewer for all repositories
|
|
|
|
|
|
* @perplexity
|
|
|
|
|
|
|
|
|
|
|
|
# Specialized component owners
|
|
|
|
|
|
hermes-agent/ @Timmy
|
|
|
|
|
|
hermes-agent/agent-core/ @Rockachopa
|
|
|
|
|
|
hermes-agent/protocol/ @Timmy
|
|
|
|
|
|
the-nexus/ @perplexity
|
|
|
|
|
|
the-nexus/ai/ @Timmy
|
|
|
|
|
|
timmy-home/ @perplexity
|
|
|
|
|
|
timmy-config/ @perplexity
|