docs(contrib): align main-first PR base and overlap attribution

This commit is contained in:
argenis de la rosa 2026-03-04 05:57:17 -05:00
parent 0aa4f94c86
commit dd51f6119c
3 changed files with 7 additions and 2 deletions

View File

@ -2,7 +2,7 @@
Describe this PR in 2-5 bullets:
- Base branch target (`main` or `dev`; direct `main` PRs are allowed):
- Base branch target (`main` by default; use `dev` only when maintainers explicitly request integration batching):
- Problem:
- Why it matters:
- What changed:
@ -27,6 +27,7 @@ Describe this PR in 2-5 bullets:
- Closes #
- Related #
- Depends on # (if stacked)
- Existing overlapping PR(s) reviewed for this issue (list `#<pr> by @<author>` or `N/A`):
- Supersedes # (if replacing older PR)
- Linear issue key(s) (required, e.g. `RMN-123`):
- Linear issue URL(s):

View File

@ -17,7 +17,8 @@ Welcome — contributions of all sizes are valued. If this is your first contrib
- Fork the repository and clone your fork
- Create a feature branch (`git checkout -b fix/my-change`)
- Make your changes and run `cargo fmt && cargo clippy && cargo test`
- Open a PR against `dev` using the PR template
- Open a PR against `main` using the PR template (`dev` is used only when maintainers explicitly request integration batching)
- If the issue already has an open PR, coordinate there first or mark your PR with `Supersedes #...` plus attribution when replacing it
4. **Start with Track A.** ZeroClaw uses three [collaboration tracks](#collaboration-tracks-risk-based) (A/B/C) based on risk. First-time contributors should target **Track A** (docs, tests, chore) — these require lighter review and are the fastest path to a merged PR.

View File

@ -113,6 +113,8 @@ Maintain these branch protection rules on `dev` and `main`:
### 4.1 Step A: Intake
- Contributor opens PR with full `.github/pull_request_template.md`.
- Normal contributor PR base is `main` by default; use `dev` only when maintainers explicitly request integration batching.
- If an issue already has open community PRs, reviewers/maintainers must acknowledge overlap and either continue that thread or document supersede rationale.
- `PR Labeler` applies scope/path labels + size labels + risk labels + module labels (for example `channel:telegram`, `provider:kimi`, `tool:shell`) and contributor tiers by merged PR count (`trusted` >=5, `experienced` >=10, `principal` >=20, `distinguished` >=50), while de-duplicating less-specific scope labels when a more specific module label is present.
- For all module prefixes, module labels are compacted to reduce noise: one specific module keeps `prefix:component`, but multiple specifics collapse to the base scope label `prefix`.
- Label ordering is priority-first: `risk:*` -> `size:*` -> contributor tier -> module/path labels.
@ -227,6 +229,7 @@ We do **not** require contributors to quantify AI-vs-human line ownership.
### 8.2 Backlog pressure controls
- If a new PR replaces an older open PR, require `Supersedes #...` and close the older one after maintainer confirmation.
- Replacement PRs must include attribution for materially integrated community work and explicitly state what was not carried forward.
- Mark dormant/redundant PRs with `stale-candidate` or `superseded` to reduce duplicate review effort.
### 8.3 Issue triage discipline