414 lines
12 KiB
Markdown
414 lines
12 KiB
Markdown
# 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
|
||
- <20>️ 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` | <20>️ 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
|
||
- <20>️ the-nexus: CI runner dead (see #915)
|
||
- ✅ timmy-home: No CI
|
||
- <20>️ 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
|