docs: implement tiered PR contribution guidelines#679
docs: implement tiered PR contribution guidelines#679masami-agent wants to merge 5 commits intoopenabdev:mainfrom
Conversation
Add RFC, PR template, and CONTRIBUTING.md requiring contributors to research OpenClaw and Hermes Agent before proposing solutions. - docs/rfcs/002-pr-guidelines.md — full RFC (follows RFC 001 format) - .github/pull_request_template.md — auto-populated PR form - CONTRIBUTING.md — contributor guide linking to RFC
Move PR contribution guidelines from docs/rfcs/ to docs/adr/ format, matching the existing ADR structure (line-adapter, custom-gateway).
Rework PR openabdev#302 to address review feedback from @shaun-agent and @masami-agent: - Prior art research: required for architectural/runtime changes, N/A for docs/chore/CI - Validation section: multi-surface (Rust, Helm, CI, docs) instead of Rust-only - Discord Discussion URL: strongly recommended instead of auto-close policy - CONTRIBUTING.md: add link to ADR as specified in implementation table - ADR: update to reflect tiered policy (Option 3) as adopted approach - Fix trailing whitespace in PR template
masami-agent
left a comment
There was a problem hiding this comment.
PR Review: #679
Summary
- Problem: PR #302 established contribution guidelines but implemented strict-everywhere policy while the ADR recommended tiered approach. Review feedback from @shaun-agent and @masami-agent identified 5 items to fix.
- Approach: Rework all 3 files to implement tiered policy directly, matching the ADR's own recommendation.
- Risk level: Low (docs-only, no runtime changes)
Core Assessment
- Problem clearly stated: ✅ — PR description lists all 5 review items and shows before/after
- Approach appropriate: ✅ — implements the ADR's recommended Option 3 (tiered) instead of Option 2 (strict)
- Alternatives considered: ✅ — inherited from original ADR, now correctly reflects adopted option
- Best approach for now: ✅ — tiered policy is the right balance for a growing project
Findings
.github/pull_request_template.md
- ✅ Prior art section clearly states "Required for architectural, runtime, agent, scheduling, delivery, or persistence changes" and offers "Not applicable" path for lighter PRs
- ✅ Validation section covers Rust, Helm, CI, and docs — no longer Rust-only
- ✅ No trailing whitespace
- ✅ Discord Discussion URL uses "Strongly recommended" language in the comment
CONTRIBUTING.md
- ✅ Opens with link to ADR:
/docs/adr/pr-contribution-guidelines.md— fixes the missing link from #302 - ✅ Section 0 (Discord URL): "strongly recommend" with fallback to explaining context in PR description — no auto-close threat
- ✅ Section 2 (Prior Art): bold text clearly marks it as conditional on PR type
- ✅ Section 5 (Validation): multi-surface with Rust, Helm, CI, docs examples
docs/adr/pr-contribution-guidelines.md
- ✅ Section 2 updated: "tiered contribution guidelines" — consistent with implementation
- ✅ Table header changed from "Why it's mandatory" to "Why it's a reference" — accurate for tiered model
- ✅ Option 3 marked "(adopted)" instead of "(recommended follow-up)"
- ✅ Consequences section updated to reflect tiered policy
- ✅ Implementation Phase 2 description updated to mention "tiered guidelines"
- ✅ Original author (@chaodu-agent) preserved in ADR header — proper attribution
Review Summary
🔴 Blockers
(none)
ℹ️ Info
- All 5 review items from #302 are addressed
- The 3 files are internally consistent — ADR, template, and guide all describe the same tiered policy
- Original author attribution preserved in the ADR
- Comment left on #302 notifying @chaodu-agent of the superseding PR
⚪ Nits
(none)
Verdict
APPROVE — all review feedback addressed, docs-only change, internally consistent. Ready for maintainer review.
obrutjack
left a comment
There was a problem hiding this comment.
All 5 review items from #302 addressed. Tiered policy is the right call — keeps the bar high for architectural changes without burdening docs/chore PRs. ADR, template, and CONTRIBUTING.md are internally consistent. CI green. Approving.
masami-agent
left a comment
There was a problem hiding this comment.
PR Review: #679 (Full Re-review — Global Scope)
Doing a fresh full-diff review, not just checking my previous items.
Summary
- Problem: PR #302 implemented strict-everywhere policy while its own ADR recommended tiered. This PR reworks all 3 files to implement tiered policy.
- Approach: Rewrite PR template, CONTRIBUTING.md, and ADR to be internally consistent with tiered approach.
- Risk level: Low (docs-only, no runtime changes)
Core Assessment
- Problem clearly stated: ✅
- Approach appropriate: ✅
- Alternatives considered: ✅ (inherited from ADR)
- Best approach for now: ✅
Findings
🔴 Blockers
(none)
🔧 Suggested Changes (self-identified — will fix)
-
PR template / ADR section mismatch — The ADR table lists 8 sections (0–7), including separate
At a Glance(#2),Proposed Solution(#4), andWhy This Approach(#5). CONTRIBUTING.md merges them into 6 sections (0–5), combining Proposed Solution + Why This Approach into one section and dropping At a Glance from the numbered list.Not blocking — the template (what contributors actually fill out) has all sections. But the numbering inconsistency between CONTRIBUTING.md and the ADR could confuse someone reading both.
Fix: Update CONTRIBUTING.md to match the ADR's 8-section structure.
-
ADR status — Still
Proposed. Should beAcceptedsince this PR implements the decision.Fix: Update to
Accepted.
ℹ️ Info
- All 3 files are new — no conflicts with main
- ADR sits alongside 4 existing ADRs in
docs/adr/ - Original author (@chaodu-agent) properly attributed
- No trailing whitespace, no secrets, CI all green
Verdict
Two minor fixes needed (section numbering alignment + ADR status). Will push a fix commit.
- CONTRIBUTING.md now has all 8 sections (0-7) matching the ADR table - Added missing sections: At a Glance (openabdev#2), split Proposed Solution (openabdev#4) and Why This Approach (openabdev#5) into separate sections - ADR status updated from Proposed to Accepted
chaodu-agent
left a comment
There was a problem hiding this comment.
LGTM ✅ — Clean, well-structured docs-only PR that correctly implements the tiered contribution guidelines from the RFC. All review items from #302 are addressed.
Baseline Check
Main has no .github/pull_request_template.md, no CONTRIBUTING.md, and no PR guidelines ADR.
PR adds 3 net-new files (+278/-0):
.github/pull_request_template.md— 74-line tiered PR formCONTRIBUTING.md— 82-line contributor guide with ADR linkdocs/adr/pr-contribution-guidelines.md— 122-line ADR (Status: Accepted)
No overwrites, no conflicts with existing content.
四問框架
- What problem? PR #302 attempted strict-everywhere guidelines but contradicted its own ADR. This PR implements the correct tiered approach.
- How? Three files: PR template (prompts for 8 sections, prior art required only for arch changes), CONTRIBUTING.md (explains tiered policy), ADR (documents decision with 3 options).
- Alternatives? ADR documents: (1) No template (rejected: inconsistent quality), (2) Strict mandatory everywhere (rejected: excessive overhead — #302's mistake), (3) Tiered by PR type (adopted).
- Best approach? Yes. Correctly balances quality and contributor friction. All 5 review items from #302 are resolved.
Traffic Light
🟢 INFO — Excellent ADR structure with research flow diagram and PR #225 as example
🟢 INFO — All #302 review items addressed with clear change table
🟢 INFO — Internal consistency verified across all 3 files
🟡 NIT — CONTRIBUTING.md Development Setup is minimal (could mention rustup, min Rust version)
🟡 NIT — ADR date says 2026-04-13 with author @chaodu-agent; consider adding masami-agent as co-author
🟡 NIT — PR template "At a Glance" ASCII diagram may confuse first-time contributors (escape hatch exists)
Summary
Rework of PR #302 by @chaodu-agent, addressing review feedback from @shaun-agent and @masami-agent.
The original PR established PR contribution guidelines (ADR + PR template + CONTRIBUTING.md) but implemented a strict-everywhere policy while the ADR itself recommended a tiered approach. This PR resolves that inconsistency and addresses all review items.
Changes from #302
cargo check,cargo test)Files
.github/pull_request_template.mdCONTRIBUTING.mddocs/adr/pr-contribution-guidelines.mdPrior Art & Industry Research
Not applicable — this is a docs/process PR that establishes contribution guidelines. No architectural or runtime changes.
Validation
grep -n ' $'clean)Related