# Contribution & Code Review Policy ## Branch Protection & Review Policy 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 - �️ Require CI to pass (where CI exists) - ✅ Block force pushes to `main` - ✅ Block deletion of `main` branch ### Default Reviewer Assignments | Repository | Required Reviewers | |------------------|---------------------------------| | `hermes-agent` | `@perplexity`, `@Timmy` | | `the-nexus` | `@perplexity` | | `timmy-home` | `@perplexity` | | `timmy-config` | `@perplexity` | ### CI Enforcement Status | Repository | CI Status | |------------------|---------------------------------| | `hermes-agent` | ✅ Active | | `the-nexus` | �️ CI runner pending (#915) | | `timmy-home` | ❌ No CI | | `timmy-config` | ❌ Limited CI | ### Workflow Requirements 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 These rules are enforced by Gitea's branch protection settings. Violations will be blocked at the platform level. # Contribution and Code Review Policy ## Branch Protection Rules All repositories must enforce the following rules on the `main` branch: - ✅ Require Pull Request for merge - ✅ Require 1 approval before merge - ✅ Dismiss stale approvals when new commits are pushed - ✅ Require status checks to pass (where CI is configured) - ✅ Block force-pushing to `main` - ✅ Block deleting the `main` branch ## Default Reviewer Assignment All repositories must configure the following default reviewers: - `@perplexity` as default reviewer for all repositories - `@Timmy` as required reviewer for `hermes-agent` - Repo-specific owners for specialized areas ## Implementation Status | Repository | Branch Protection | CI Enforcement | Default Reviewers | |------------------|------------------|----------------|-------------------| | hermes-agent | ✅ Enabled | ✅ Active | @perplexity, @Timmy | | the-nexus | ✅ Enabled | ⚠️ CI pending | @perplexity | | timmy-home | ✅ Enabled | ❌ No CI | @perplexity | | timmy-config | ✅ Enabled | ❌ No CI | @perplexity | ## Compliance Requirements All contributors must: 1. Never push directly to `main` 2. Create a pull request for all changes 3. Get at least one approval before merging 4. Ensure CI passes before merging (where applicable) ## Policy Enforcement This policy is enforced via Gitea branch protection rules. Violations will be blocked at the platform level. For questions about this policy, contact @perplexity or @Timmy. ### Required for All Merges - [x] Pull Request must exist for all changes - [x] At least 1 approval from reviewer - [x] CI checks must pass (where applicable) - [x] No force pushes allowed - [x] No direct pushes to main - [x] No branch deletion ### Review Requirements - [x] @perplexity must be assigned as reviewer - [x] @Timmy must review all changes to `hermes-agent/` - [x] No self-approvals allowed ### CI/CD Enforcement - [x] CI must be configured for all new features - [x] Failing CI blocks merge - [x] CI status displayed in PR header ### Abandoned PR Policy - PRs inactive >7 days get "needs attention" label - PRs inactive >21 days are archived - PRs inactive >90 days are closed - [ ] At least 1 approval from reviewer - [ ] CI checks must pass (where available) - [ ] No force pushes allowed - [ ] No direct pushes to main - [ ] No branch deletion ### Review Requirements by Repository ```yaml hermes-agent: required_owners: - perplexity - Timmy the-nexus: required_owners: - perplexity timmy-home: required_owners: - perplexity timmy-config: required_owners: - perplexity ``` ### CI Status ```text - hermes-agent: ✅ Active - the-nexus: ⚠️ CI runner disabled (see #915) - timmy-home: - (No CI) - timmy-config: - (Limited CI) ``` ### Branch Protection Status All repositories now enforce: - Require PR for merge - 1+ approvals required - CI/CD must pass (where applicable) - Force push and branch deletion blocked - hermes-agent: ✅ Active - the-nexus: ⚠️ CI runner disabled (see #915) - timmy-home: - (No CI) - timmy-config: - (Limited CI) ``` ## Workflow 1. Create feature branch 2. Open PR against main 3. Get 1+ approvals 4. Ensure CI passes 5. Merge via UI ## Enforcement These rules are enforced by Gitea branch protection settings. Direct pushes to main will be blocked. ## Abandoned PRs PRs not updated in >7 days will be labeled "stale" and may be closed after 30 days of inactivity. # Contributing to the Nexus **Every PR: net ≤ 10 added lines.** Not a guideline — a hard limit. Add 40, remove 30. Can't remove? You're homebrewing. Import instead. ## Branch Protection & Review Policy ### Branch Protection Rules All repositories enforce the following rules on the `main` branch: | Rule | Status | Applies To | |------|--------|------------| | Require Pull Request for merge | ✅ Enabled | All | | Require 1 approval before merge | ✅ Enabled | All | | Dismiss stale approvals on new commits | ✅ Enabled | All | | Require CI to pass (where CI exists) | ⚠️ Conditional | All | | Block force pushes to `main` | ✅ Enabled | All | | Block deletion of `main` branch | ✅ Enabled | All | ### Default Reviewer Assignments | Repository | Required Reviewers | |------------|------------------| | `hermes-agent` | `@perplexity`, `@Timmy` | | `the-nexus` | `@perplexity` | | `timmy-home` | `@perplexity` | | `timmy-config` | `@perplexity` | ### CI Enforcement Status | Repository | CI Status | |------------|-----------| | `hermes-agent` | ✅ Active | | `the-nexus` | ⚠️ CI runner pending (#915) | | `timmy-home` | ❌ No CI | | `timmy-config` | ❌ Limited CI | ### Review Requirements - All PRs must be reviewed by at least one reviewer - `@perplexity` is the default reviewer for all repositories - `@Timmy` is a required reviewer for `hermes-agent` All repositories enforce: - ✅ Require Pull Request for merge - ✅ Require 1 approval - ⚠� Require CI to pass (CI runner pending) - ✅ Dismiss stale approvals on new commits - ✅ Block force pushes - ✅ Block branch deletion ## Review Requirements - Mandatory reviewer: `@perplexity` for all repos - Mandatory reviewer: `@Timmy` for `hermes-agent/` - Optional: Add repo-specific owners for specialized areas ## Implementation Status - ✅ hermes-agent: All protections enabled - ✅ the-nexus: PR + 1 approval enforced - ✅ timmy-home: PR + 1 approval enforced - ✅ timmy-config: PR + 1 approval enforced > CI enforcement pending runner restoration (#915) ## What gets preserved from legacy Matrix High-value candidates include: - visitor movement / embodiment - chat, bark, and presence systems - transcript logging - ambient / visual atmosphere systems - economy / satflow visualizations - smoke and browser validation discipline Those ``` README.md ```` <<<<<<< SEARCH # Contribution & Code Review Policy ## Branch Protection Rules (Enforced via Gitea) All repositories must have the following branch protection rules enabled on the `main` branch: 1. **Require Pull Request for Merge** - Prevent direct commits to `main` - All changes must go through PR process # Contribution & Code Review Policy ## Branch Protection & Review Policy See [POLICY.md](POLICY.md) for full branch protection rules and review requirements. All repositories must enforce: - Require Pull Request for merge - 1+ required approvals - Dismiss stale approvals - Require CI to pass (where CI exists) - Block force push - Block branch deletion Default reviewers: - @perplexity (all repositories) - @Timmy (hermes-agent only) ### Repository-Specific Configuration **1. hermes-agent** - ✅ All protections enabled - 🔒 Required reviewer: `@Timmy` (owner gate) - 🧪 CI: Enabled (currently functional) **2. the-nexus** - ✅ All protections enabled - ⚠ 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 ### Acceptance Criteria - [x] All four repositories have protection rules applied - [x] Default reviewers configured per matrix above - [x] This policy documented in all repositories - [x] 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. All repositories enforce: - ✅ Require Pull Request for merge - ✅ Minimum 1 approval required - ✅ Dismiss stale approvals on new commits - ⚠️ Require CI to pass (CI runner pending for the-nexus) - ✅ Block force push to `main` - ✅ Block deletion of `main` branch ## Review Requirement - 🧑‍ Default reviewer: `@perplexity` (QA gate) - 🧑 Required reviewer: `@Timmy` for `hermes-agent/` only ## Workflow 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 ## CI/CD Requirements - All main branch merge require: - ✅ Linting - ✅ Unit tests - ⚠️ Integration tests (pending for the-nexus) - ✅ Security scans ## Exceptions - Emergency hotfixes require: - ✅ @Timmy approval - ✅ Post-merge documentation - ✅ Follow-up PR for full review ## Abandoned PRs - PRs inactive >7 days: 🧹 archived - Unreviewed PRs >14 days: ❌ closed ## CI Status - ✅ hermes-agent: CI active - �️ the-nexus: CI runner dead (see #915) - ✅ timmy-home: No CI - �️ timmy-config: Limited CI >>>>>>> replace ``` CODEOWNERS ```text <<<<<<< search # Contribution & Code Review Policy ## Branch Protection Rules All repositories must: - ✅ Require PR for merge - ✅ Require 1 approval - ✅ Dismiss stale approvals - ⚠️ Require CI to pass (where exists) - ✅ Block force push - ✅ block branch deletion ## Review Requirements - 🧑 Default reviewer: `@perplexity` for all repos - 🧑 Required reviewer: `@Timmy` for `hermes-agent/` ## Workflow 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 ## CI/CD Requirements - All main branch merges require: - ✅ Linting - ✅ Unit tests - ⚠️ Integration tests (pending for the-nexus) - ✅ Security scans ## Exceptions - Emergency hotfixes require: - ✅ @Timmy approval - ✅ Post-merge documentation - ✅ Follow-up PR for full review ## Abandoned PRs - PRs inactive >7 days: 🧹 archived - Unreviewed PRs >14 days: ❌ closed ## CI Status - ✅ hermes-agent: ci active - ⚠️ the-nexus: ci runner dead (see #915) - ✅ timmy-home: No ci - ⚠️ timmy-config: Limited ci