Files
the-nexus/CODEOWNERS
Line: 4: incorrect format Line: 6: incorrect format Line: 7: incorrect format Line: 8: incorrect codeowner user: true Line: 8: no users/groups matched Line: 9: incorrect format Line: 10: incorrect codeowner organization: "ci/unit-tests" Line: 10: no users/groups matched Line: 11: incorrect codeowner organization: "ci/integration" Line: 11: no users/groups matched Line: 12: incorrect format Line: 13: incorrect codeowner user: 1 Line: 13: no users/groups matched Line: 14: incorrect codeowner user: true Line: 14: no users/groups matched Line: 15: incorrect codeowner user: true Line: 15: no users/groups matched Line: 16: incorrect format Line: 17: incorrect format Line: 19: incorrect codeowner user: timmy-core Line: 19: no users/groups matched Line: 20: incorrect codeowner user: true Line: 20: no users/groups matched Line: 21: incorrect codeowner user: false Line: 21: no users/groups matched Line: 22: incorrect codeowner user: true Line: 22: no users/groups matched Line: 25: incorrect format Line: 26: incorrect codeowner user: *base Line: 26: no users/groups matched Line: 27: incorrect format Line: 28: incorrect format Line: 29: incorrect codeowner organization: "ci/unit-tests" Line: 29: no users/groups matched Line: 30: incorrect codeowner organization: "ci/integration" Line: 30: no users/groups matched Line: 31: incorrect codeowner organization: "ci/performance" Line: 31: no users/groups matched Line: 33: incorrect format Line: 34: incorrect codeowner user: *base Line: 34: no users/groups matched Line: 35: incorrect format Line: 36: incorrect codeowner user: [] Line: 36: no users/groups matched Line: 37: incorrect codeowner user: false Line: 37: no users/groups matched Line: 39: incorrect format Line: 40: incorrect codeowner user: *base Line: 40: no users/groups matched Line: 41: incorrect format Line: 42: incorrect codeowner user: [] Line: 42: no users/groups matched Line: 43: incorrect codeowner user: false Line: 43: no users/groups matched Line: 45: incorrect format Line: 46: incorrect codeowner user: *base Line: 46: no users/groups matched Line: 47: incorrect format Line: 48: incorrect codeowner user: [] Line: 48: no users/groups matched Line: 49: incorrect codeowner user: false Line: 49: no users/groups matched Line: 50: incorrect codeowner user: replace Line: 50: no users/groups matched Line: 51: incorrect format Line: 53: incorrect format Line: 54: incorrect format Line: 55: incorrect codeowner user: search Line: 55: no users/groups matched Line: 87: incorrect codeowner user: replace Line: 87: no users/groups matched Line: 88: incorrect format Line: 90: incorrect format Line: 91: incorrect format Line: 92: incorrect codeowner user: search Line: 92: no users/groups matched Line: 97: incorrect codeowner regexp: error parsing regexp: invalid nested repetition operator: `**` Line: 99: incorrect codeowner user: Rule Line: 99: incorrect codeowner user: | Line: 99: incorrect codeowner user: Status Line: 99: incorrect codeowner user: | Line: 99: incorrect codeowner user: Rationale Line: 99: incorrect codeowner user: | Line: 99: no users/groups matched Line: 100: incorrect format Line: 101: incorrect codeowner user: Require Line: 101: incorrect codeowner user: PR Line: 101: incorrect codeowner user: for Line: 101: incorrect codeowner user: merge Line: 101: incorrect codeowner user: | Line: 101: incorrect codeowner user: ✅ Line: 101: incorrect codeowner user: Enabled Line: 101: incorrect codeowner user: | Line: 101: incorrect codeowner user: Prevent Line: 101: incorrect codeowner user: direct Line: 101: incorrect codeowner user: commits Line: 101: incorrect codeowner user: | Line: 101: no users/groups matched Line: 102: incorrect codeowner user: Required Line: 102: incorrect codeowner user: approvals Line: 102: incorrect codeowner user: | Line: 102: incorrect codeowner user: 1+ Line: 102: incorrect codeowner user: | Line: 102: incorrect codeowner user: Minimum Line: 102: incorrect codeowner user: review Line: 102: incorrect codeowner user: threshold Line: 102: incorrect codeowner user: | Line: 102: no users/groups matched Line: 103: incorrect codeowner user: Dismiss Line: 103: incorrect codeowner user: stale Line: 103: incorrect codeowner user: approvals Line: 103: incorrect codeowner user: | Line: 103: incorrect codeowner user: ✅ Line: 103: incorrect codeowner user: Enabled Line: 103: incorrect codeowner user: | Line: 103: incorrect codeowner user: Re-review Line: 103: incorrect codeowner user: after Line: 103: incorrect codeowner user: new Line: 103: incorrect codeowner user: commits Line: 103: incorrect codeowner user: | Line: 103: no users/groups matched Line: 104: incorrect codeowner user: Require Line: 104: incorrect codeowner user: CI Line: 104: incorrect codeowner user: to Line: 104: incorrect codeowner user: pass Line: 104: incorrect codeowner user: | Line: 104: incorrect codeowner user: ⚠ Line: 104: incorrect codeowner user: Conditional Line: 104: incorrect codeowner user: | Line: 104: incorrect codeowner user: Only Line: 104: incorrect codeowner user: where Line: 104: incorrect codeowner user: CI Line: 104: incorrect codeowner user: exists Line: 104: incorrect codeowner user: | Line: 104: no users/groups matched Line: 105: incorrect codeowner user: Block Line: 105: incorrect codeowner user: force Line: 105: incorrect codeowner user: push Line: 105: incorrect codeowner user: | Line: 105: incorrect codeowner user: ✅ Line: 105: incorrect codeowner user: Enabled Line: 105: incorrect codeowner user: | Line: 105: incorrect codeowner user: Protect Line: 105: incorrect codeowner user: commit Line: 105: incorrect codeowner user: history Line: 105: incorrect codeowner user: | Line: 105: no users/groups matched Line: 106: incorrect codeowner user: Block Line: 106: incorrect codeowner user: branch Line: 106: incorrect codeowner user: deletion Line: 106: incorrect codeowner user: | Line: 106: incorrect codeowner user: ✅ Line: 106: incorrect codeowner user: Enabled Line: 106: incorrect codeowner user: | Line: 106: incorrect codeowner user: Prevent Line: 106: incorrect codeowner user: accidental Line: 106: incorrect codeowner user: deletion Line: 106: incorrect codeowner user: | Line: 106: no users/groups matched Line: 108: incorrect codeowner regexp: error parsing regexp: invalid nested repetition operator: `**` Line: 109: incorrect codeowner user: (all Line: 109: incorrect codeowner user: repositories Line: 109: incorrect codeowner user: - Line: 109: incorrect codeowner user: QA Line: 109: incorrect codeowner user: gate) Line: 110: incorrect codeowner user: (hermes-agent Line: 110: incorrect codeowner user: only Line: 110: incorrect codeowner user: - Line: 110: incorrect codeowner user: owner Line: 110: incorrect codeowner user: gate) Line: 112: incorrect codeowner regexp: error parsing regexp: invalid nested repetition operator: `**` Line: 113: incorrect codeowner user: hermes-agent: Line: 113: incorrect codeowner user: Full Line: 113: incorrect codeowner user: CI Line: 113: incorrect codeowner user: enforcement Line: 113: no users/groups matched Line: 114: incorrect codeowner user: the-nexus: Line: 114: incorrect codeowner user: CI Line: 114: incorrect codeowner user: pending Line: 114: incorrect codeowner user: runner Line: 114: incorrect codeowner user: restoration Line: 114: incorrect codeowner user: ( Line: 114: no users/groups matched Line: 115: incorrect codeowner user: timmy-home: Line: 115: incorrect codeowner user: No Line: 115: incorrect codeowner user: CI Line: 115: incorrect codeowner user: enforcement Line: 115: no users/groups matched Line: 116: incorrect codeowner user: timmy-config: Line: 116: incorrect codeowner user: Limited Line: 116: incorrect codeowner user: CI Line: 116: no users/groups matched Line: 118: incorrect codeowner regexp: error parsing regexp: invalid nested repetition operator: `**` Line: 119: incorrect codeowner user: [x] Line: 119: incorrect codeowner user: hermes-agent Line: 119: incorrect codeowner user: protection Line: 119: incorrect codeowner user: enabled Line: 119: no users/groups matched Line: 120: incorrect codeowner user: [x] Line: 120: incorrect codeowner user: the-nexus Line: 120: incorrect codeowner user: protection Line: 120: incorrect codeowner user: enabled Line: 120: no users/groups matched Line: 121: incorrect codeowner user: [x] Line: 121: incorrect codeowner user: timmy-home Line: 121: incorrect codeowner user: protection Line: 121: incorrect codeowner user: enabled Line: 121: no users/groups matched Line: 122: incorrect codeowner user: [x] Line: 122: incorrect codeowner user: timmy-config Line: 122: incorrect codeowner user: protection Line: 122: incorrect codeowner user: enabled Line: 122: no users/groups matched Line: 124: incorrect codeowner user: This Line: 124: incorrect codeowner user: policy Line: 124: incorrect codeowner user: replaces Line: 124: incorrect codeowner user: all Line: 124: incorrect codeowner user: previous Line: 124: incorrect codeowner user: ad-hoc Line: 124: incorrect codeowner user: workflows. Line: 124: incorrect codeowner user: Any Line: 124: incorrect codeowner user: exceptions Line: 124: incorrect codeowner user: require Line: 124: incorrect codeowner user: written Line: 124: incorrect codeowner user: approval Line: 124: incorrect codeowner user: from Line: 124: incorrect codeowner user: and Line: 124: incorrect codeowner user: perplexity. Line: 126: incorrect codeowner user: Rule Line: 126: incorrect codeowner user: | Line: 126: incorrect codeowner user: Status Line: 126: incorrect codeowner user: | Line: 126: incorrect codeowner user: Rationale Line: 126: incorrect codeowner user: | Line: 126: no users/groups matched Line: 127: incorrect format Line: 128: incorrect codeowner user: Require Line: 128: incorrect codeowner user: PR Line: 128: incorrect codeowner user: for Line: 128: incorrect codeowner user: merge Line: 128: incorrect codeowner user: | Line: 128: incorrect codeowner user: ✅ Line: 128: incorrect codeowner user: Enabled Line: 128: incorrect codeowner user: | Line: 128: incorrect codeowner user: Prevent Line: 128: incorrect codeowner user: direct Line: 128: incorrect codeowner user: commits Line: 128: incorrect codeowner user: | Line: 128: no users/groups matched Line: 129: incorrect codeowner user: Required Line: 129: incorrect codeowner user: approvals Line: 129: incorrect codeowner user: | Line: 129: incorrect codeowner user: ✅ Line: 129: incorrect codeowner user: 1+ Line: 129: incorrect codeowner user: | Line: 129: incorrect codeowner user: Minimum Line: 129: incorrect codeowner user: review Line: 129: incorrect codeowner user: threshold Line: 129: incorrect codeowner user: | Line: 129: no users/groups matched Line: 130: incorrect codeowner user: Dismiss Line: 130: incorrect codeowner user: stale Line: 130: incorrect codeowner user: approvals Line: 130: incorrect codeowner user: | Line: 130: incorrect codeowner user: ✅ Line: 130: incorrect codeowner user: Enabled Line: 130: incorrect codeowner user: | Line: 130: incorrect codeowner user: Re-review Line: 130: incorrect codeowner user: after Line: 130: incorrect codeowner user: new Line: 130: incorrect codeowner user: commits Line: 130: incorrect codeowner user: | Line: 130: no users/groups matched Line: 131: incorrect codeowner user: Require Line: 131: incorrect codeowner user: CI Line: 131: incorrect codeowner user: to Line: 131: incorrect codeowner user: pass Line: 131: incorrect codeowner user: | Line: 131: incorrect codeowner user: � Line: 131: incorrect codeowner user: Conditional Line: 131: incorrect codeowner user: | Line: 131: incorrect codeowner user: Only Line: 131: incorrect codeowner user: where Line: 131: incorrect codeowner user: CI Line: 131: incorrect codeowner user: exists Line: 131: incorrect codeowner user: | Line: 131: no users/groups matched Line: 132: incorrect codeowner user: Block Line: 132: incorrect codeowner user: force Line: 132: incorrect codeowner user: push Line: 132: incorrect codeowner user: | Line: 132: incorrect codeowner user: ✅ Line: 132: incorrect codeowner user: Enabled Line: 132: incorrect codeowner user: | Line: 132: incorrect codeowner user: Protect Line: 132: incorrect codeowner user: commit Line: 132: incorrect codeowner user: history Line: 132: incorrect codeowner user: | Line: 132: no users/groups matched Line: 133: incorrect codeowner user: Block Line: 133: incorrect codeowner user: branch Line: 133: incorrect codeowner user: deletion Line: 133: incorrect codeowner user: | Line: 133: incorrect codeowner user: ✅ Line: 133: incorrect codeowner user: Enabled Line: 133: incorrect codeowner user: | Line: 133: incorrect codeowner user: Prevent Line: 133: incorrect codeowner user: accidental Line: 133: incorrect codeowner user: deletion Line: 133: incorrect codeowner user: | Line: 133: no users/groups matched Line: 137: incorrect codeowner regexp: error parsing regexp: invalid nested repetition operator: `**` Line: 138: incorrect codeowner user: ✅ Line: 138: incorrect codeowner user: All Line: 138: incorrect codeowner user: protections Line: 138: incorrect codeowner user: enabled Line: 138: no users/groups matched Line: 139: incorrect codeowner user: 🔒 Line: 139: incorrect codeowner user: Required Line: 139: incorrect codeowner user: reviewer: Line: 139: incorrect codeowner user: `@Timmy` Line: 139: incorrect codeowner user: (owner Line: 139: incorrect codeowner user: gate) Line: 139: no users/groups matched Line: 140: incorrect codeowner user: 🧪 Line: 140: incorrect codeowner user: CI: Line: 140: incorrect codeowner user: Enabled Line: 140: incorrect codeowner user: (currently Line: 140: incorrect codeowner user: functional) Line: 140: no users/groups matched Line: 142: incorrect codeowner regexp: error parsing regexp: invalid nested repetition operator: `**` Line: 143: incorrect codeowner user: ✅ Line: 143: incorrect codeowner user: All Line: 143: incorrect codeowner user: protections Line: 143: incorrect codeowner user: enabled Line: 143: no users/groups matched Line: 144: incorrect codeowner user: � Line: 144: incorrect codeowner user: CI: Line: 144: incorrect codeowner user: Disabled Line: 144: incorrect codeowner user: (runner Line: 144: incorrect codeowner user: dead Line: 144: incorrect codeowner user: - Line: 144: incorrect codeowner user: see Line: 144: no users/groups matched Line: 145: incorrect codeowner user: 🧪 Line: 145: incorrect codeowner user: CI: Line: 145: incorrect codeowner user: Re-enable Line: 145: incorrect codeowner user: when Line: 145: incorrect codeowner user: runner Line: 145: incorrect codeowner user: restored Line: 145: no users/groups matched Line: 147: incorrect codeowner regexp: error parsing regexp: invalid nested repetition operator: `**` Line: 148: incorrect codeowner user: ✅ Line: 148: incorrect codeowner user: PR Line: 148: incorrect codeowner user: + Line: 148: incorrect codeowner user: 1 Line: 148: incorrect codeowner user: approval Line: 148: incorrect codeowner user: required Line: 148: no users/groups matched Line: 149: incorrect codeowner user: 🧪 Line: 149: incorrect codeowner user: CI: Line: 149: incorrect codeowner user: No Line: 149: incorrect codeowner user: CI Line: 149: incorrect codeowner user: configured Line: 149: no users/groups matched Line: 151: incorrect codeowner regexp: error parsing regexp: invalid nested repetition operator: `**` Line: 152: incorrect codeowner user: ✅ Line: 152: incorrect codeowner user: PR Line: 152: incorrect codeowner user: + Line: 152: incorrect codeowner user: 1 Line: 152: incorrect codeowner user: approval Line: 152: incorrect codeowner user: required Line: 152: no users/groups matched Line: 153: incorrect codeowner user: 🧪 Line: 153: incorrect codeowner user: CI: Line: 153: incorrect codeowner user: Limited Line: 153: incorrect codeowner user: CI Line: 153: no users/groups matched Line: 157: incorrect codeowner user: repositories Line: 157: incorrect codeowner user: must: Line: 157: no users/groups matched Line: 158: incorrect codeowner user: 🧑‍ Line: 158: incorrect codeowner user: Default Line: 158: incorrect codeowner user: reviewer: Line: 158: incorrect codeowner user: `@perplexity` Line: 158: incorrect codeowner user: (QA Line: 158: incorrect codeowner user: gate) Line: 158: no users/groups matched Line: 159: incorrect codeowner user: 🧑 Line: 159: incorrect codeowner user: Required Line: 159: incorrect codeowner user: reviewer: Line: 159: incorrect codeowner user: `@Timmy` Line: 159: incorrect codeowner user: for Line: 159: incorrect codeowner organization: `hermes-agent/` Line: 159: incorrect codeowner user: only Line: 159: no users/groups matched Line: 163: incorrect codeowner user: Go Line: 163: incorrect codeowner user: to Line: 163: incorrect codeowner user: Gitea Line: 163: incorrect codeowner user: > Line: 163: incorrect codeowner user: Settings Line: 163: incorrect codeowner user: > Line: 163: incorrect codeowner user: Branches Line: 163: incorrect codeowner user: > Line: 163: incorrect codeowner user: Branch Line: 163: incorrect codeowner user: Protection Line: 163: no users/groups matched Line: 164: incorrect codeowner user: For Line: 164: incorrect codeowner user: each Line: 164: incorrect codeowner user: repo: Line: 164: no users/groups matched Line: 165: incorrect codeowner user: [ Line: 165: incorrect codeowner user: ] Line: 165: incorrect codeowner user: Enable Line: 165: incorrect codeowner user: "Require Line: 165: incorrect codeowner user: PR Line: 165: incorrect codeowner user: for Line: 165: incorrect codeowner user: merge" Line: 165: no users/groups matched Line: 166: incorrect codeowner user: [ Line: 166: incorrect codeowner user: ] Line: 166: incorrect codeowner user: Set Line: 166: incorrect codeowner user: "Required Line: 166: incorrect codeowner user: approvals" Line: 166: incorrect codeowner user: to Line: 166: incorrect codeowner user: 1 Line: 166: no users/groups matched Line: 167: incorrect codeowner user: [ Line: 167: incorrect codeowner user: ] Line: 167: incorrect codeowner user: Enable Line: 167: incorrect codeowner user: "Dismiss Line: 167: incorrect codeowner user: stale Line: 167: incorrect codeowner user: approvals" Line: 167: no users/groups matched Line: 168: incorrect codeowner user: [ Line: 168: incorrect codeowner user: ] Line: 168: incorrect codeowner user: Enable Line: 168: incorrect codeowner user: "Block Line: 168: incorrect codeowner user: force Line: 168: incorrect codeowner user: push" Line: 168: no users/groups matched Line: 169: incorrect codeowner user: [ Line: 169: incorrect codeowner user: ] Line: 169: incorrect codeowner user: Enable Line: 169: incorrect codeowner user: "Block Line: 169: incorrect codeowner user: branch Line: 169: incorrect codeowner user: deletion" Line: 169: no users/groups matched Line: 170: incorrect codeowner user: [ Line: 170: incorrect codeowner user: ] Line: 170: incorrect codeowner user: Enable Line: 170: incorrect codeowner user: "Require Line: 170: incorrect codeowner user: CI Line: 170: incorrect codeowner user: to Line: 170: incorrect codeowner user: pass" Line: 170: incorrect codeowner user: if Line: 170: incorrect codeowner user: CI Line: 170: incorrect codeowner user: exists Line: 170: no users/groups matched Line: 174: incorrect codeowner user: [ Line: 174: incorrect codeowner user: ] Line: 174: incorrect codeowner user: All Line: 174: incorrect codeowner user: four Line: 174: incorrect codeowner user: repositories Line: 174: incorrect codeowner user: have Line: 174: incorrect codeowner user: protection Line: 174: incorrect codeowner user: rules Line: 174: incorrect codeowner user: applied Line: 174: no users/groups matched Line: 175: incorrect codeowner user: [ Line: 175: incorrect codeowner user: ] Line: 175: incorrect codeowner user: Default Line: 175: incorrect codeowner user: reviewers Line: 175: incorrect codeowner user: configured Line: 175: incorrect codeowner user: per Line: 175: incorrect codeowner user: matrix Line: 175: incorrect codeowner user: above Line: 175: no users/groups matched Line: 176: incorrect codeowner user: [ Line: 176: incorrect codeowner user: ] Line: 176: incorrect codeowner user: This Line: 176: incorrect codeowner user: document Line: 176: incorrect codeowner user: updated Line: 176: incorrect codeowner user: in Line: 176: incorrect codeowner user: all Line: 176: incorrect codeowner user: repositories Line: 176: no users/groups matched Line: 177: incorrect codeowner user: [ Line: 177: incorrect codeowner user: ] Line: 177: incorrect codeowner user: Policy Line: 177: incorrect codeowner user: enforced Line: 177: incorrect codeowner user: for Line: 177: incorrect codeowner user: 72 Line: 177: incorrect codeowner user: hours Line: 177: incorrect codeowner user: with Line: 177: incorrect codeowner user: no Line: 177: incorrect codeowner user: unreviewed Line: 177: incorrect codeowner user: merges Line: 177: no users/groups matched Line: 179: incorrect codeowner user: This Line: 179: incorrect codeowner user: policy Line: 179: incorrect codeowner user: replaces Line: 179: incorrect codeowner user: all Line: 179: incorrect codeowner user: previous Line: 179: incorrect codeowner user: ad-hoc Line: 179: incorrect codeowner user: workflows. Line: 179: incorrect codeowner user: Any Line: 179: incorrect codeowner user: exceptions Line: 179: incorrect codeowner user: require Line: 179: incorrect codeowner user: written Line: 179: incorrect codeowner user: approval Line: 179: incorrect codeowner user: from Line: 179: incorrect codeowner user: and Line: 179: incorrect codeowner user: perplexity. Line: 192: incorrect codeowner user: replace Line: 192: no users/groups matched Line: 193: incorrect format Line: 195: incorrect format Line: 199: incorrect codeowner user: replace Line: 199: incorrect codeowner user: the Line: 199: incorrect codeowner user: placeholder Line: 199: incorrect codeowner user: documentation Line: 199: incorrect codeowner user: with Line: 199: incorrect codeowner user: a Line: 199: incorrect codeowner user: clear, Line: 199: incorrect codeowner user: actionable Line: 199: incorrect codeowner user: policy Line: 199: incorrect codeowner user: summary. Line: 199: no users/groups matched Line: 201: incorrect format Line: 202: incorrect format Line: 203: incorrect codeowner user: search Line: 203: no users/groups matched Line: 247: incorrect codeowner user: replace Line: 247: no users/groups matched Line: 248: incorrect format Line: 250: incorrect format Line: 251: incorrect format Line: 252: incorrect codeowner user: search Line: 252: no users/groups matched Line: 267: incorrect codeowner user: replace Line: 267: no users/groups matched Line: 268: incorrect format Line: 270: incorrect format Line: 271: incorrect format Line: 272: incorrect codeowner user: search Line: 272: no users/groups matched Line: 277: incorrect codeowner user: repositories Line: 277: incorrect codeowner user: must Line: 277: incorrect codeowner user: enforce Line: 277: incorrect codeowner user: these Line: 277: incorrect codeowner user: rules Line: 277: incorrect codeowner user: on Line: 277: incorrect codeowner user: the Line: 277: incorrect codeowner user: `main` Line: 277: incorrect codeowner user: branch: Line: 277: no users/groups matched
Groq Agent b3c639e6c9
Some checks failed
Deploy Nexus / deploy (push) Has been cancelled
CI / test (pull_request) Failing after 6s
CI / validate (pull_request) Failing after 3s
[groq] [QA][POLICY] Branch Protection + Mandatory Review Policy for All Repos (#918) (#1023)
2026-04-07 10:15:04 +00:00

336 lines
7.8 KiB
Plaintext
Raw Blame History

# 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
# 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
# Owner gates for critical systems
hermes-agent/ @Timmy
# Owner gates
hermes-agent/ @Timmy
# QA reviewer for all PRs
* @perplexity
# 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
# Contribution & Code Review Policy
## 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
> This policy replaces all previous ad-hoc workflows. Any exceptions require written approval from @Timmy and @perplexity.
| 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.
# 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
````
---
### ✅ Updated `README.md` Policy Documentation
We'll replace the placeholder documentation with a clear, actionable policy summary.
`README.md`
````
<<<<<<< search
# 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
# 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
timmy-home/ @perplexity
timmy-config/ @perplexity
# Owner gates
hermes-agent/ @Timmy
# 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
# 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:
# 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
# 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
# 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
# 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