Tài liệu này định nghĩa cách ZeroClaw xử lý khối lượng PR lớn trong khi vẫn duy trì:
- Hiệu suất cao
- Hiệu quả cao
- Tính ổn định cao
- Khả năng mở rộng cao
- Tính bền vững cao
- Bảo mật cao
Tài liệu liên quan:
docs/README.md— phân loại và điều hướng tài liệu.docs/ci-map.md— quyền sở hữu từng workflow, trigger và luồng triage.docs/reviewer-playbook.md— hướng dẫn thực thi cho reviewer hàng ngày.
- Mục đích: cung cấp mô hình vận hành PR mang tính quyết định và dựa trên rủi ro cho cộng tác thông lượng cao.
- Đối tượng: contributor, maintainer và reviewer có hỗ trợ agent.
- Phạm vi: cài đặt repository, vòng đời PR, hợp đồng sẵn sàng, phân tuyến rủi ro, kỷ luật hàng đợi và giao thức phục hồi.
- Ngoài phạm vi: thay thế cấu hình branch protection hoặc file CI workflow làm nguồn triển khai chính thức.
Dùng phần này để phân tuyến nhanh trước khi review sâu toàn bộ.
- Yêu cầu hoàn thiện template và bằng chứng còn thiếu trong một comment dạng checklist.
- Dừng review sâu cho đến khi các vấn đề intake được giải quyết.
Xem tiếp:
- Phân tuyến lỗi qua CI map và ưu tiên sửa các gate mang tính quyết định trước.
- Chỉ đánh giá lại rủi ro sau khi CI trả về tín hiệu rõ ràng.
Xem tiếp:
- Chuyển sang luồng review sâu.
- Yêu cầu rollback rõ ràng, bằng chứng về failure mode và kiểm tra ranh giới bảo mật.
Xem tiếp:
- Yêu cầu liên kết supersede rõ ràng và dọn dẹp hàng đợi.
- Đóng PR bị supersede sau khi maintainer xác nhận.
Xem tiếp:
- Giữ thông lượng merge có thể dự đoán được khi tải PR lớn.
- Giữ chất lượng tín hiệu CI ở mức cao (phản hồi nhanh, ít false positive).
- Giữ review bảo mật rõ ràng đối với các bề mặt rủi ro.
- Giữ các thay đổi dễ suy luận và dễ hoàn tác.
- Giữ các artifact trong repository không bị rò rỉ dữ liệu cá nhân/nhạy cảm.
Workflow này được phân lớp có chủ đích để giảm tải cho reviewer trong khi vẫn đảm bảo trách nhiệm rõ ràng:
- Phân loại intake: nhãn theo đường dẫn/kích thước/rủi ro/module phân tuyến PR đến độ sâu review phù hợp.
- Validation mang tính quyết định: merge gate phụ thuộc vào các kiểm tra tái tạo được, không phải comment mang tính chủ quan.
- Độ sâu review theo rủi ro: đường dẫn rủi ro cao kích hoạt review sâu; đường dẫn rủi ro thấp được xử lý nhanh.
- Hợp đồng merge ưu tiên rollback: mọi đường dẫn merge đều bao gồm các bước phục hồi cụ thể.
Tự động hóa hỗ trợ việc triage và bảo vệ, nhưng trách nhiệm merge cuối cùng vẫn thuộc về maintainer và tác giả PR.
Duy trì các quy tắc branch protection sau trên master:
- Yêu cầu status check trước khi merge.
- Yêu cầu check
CI Required Gate. - Yêu cầu review pull request trước khi merge.
- Yêu cầu review CODEOWNERS cho các đường dẫn được bảo vệ.
- Với
.github/workflows/**, yêu cầu phê duyệt từ owner quaCI Required Gate(WORKFLOW_OWNER_LOGINS) và giới hạn quyền bypass branch/ruleset cho org owner. - Danh sách workflow-owner mặc định được cấu hình qua biến repository
WORKFLOW_OWNER_LOGINS(xem CODEOWNERS cho maintainer hiện tại). - Hủy bỏ approval cũ khi có commit mới được đẩy lên.
- Hạn chế force-push trên các branch được bảo vệ.
- Tất cả PR của contributor nhắm trực tiếp vào
master.
- Contributor mở PR với
.github/pull_request_template.mdđầy đủ. PR Labeleráp dụng nhãn phạm vi/đường dẫn + nhãn kích thước + nhãn rủi ro + nhãn module (ví dụchannel:telegram,provider:kimi,tool:shell) và bậc contributor theo số PR đã merge (trusted>=5,experienced>=10,principal>=20,distinguished>=50), đồng thời loại bỏ trùng lặp nhãn phạm vi ít cụ thể hơn khi đã có nhãn module cụ thể hơn.- Đối với tất cả các tiền tố module, nhãn module được nén gọn để giảm nhiễu: một module cụ thể giữ
prefix:component, nhưng nhiều module cụ thể thu gọn thành nhãn phạm vi cơ sởprefix. - Thứ tự nhãn ưu tiên đầu tiên:
risk:*->size:*-> bậc contributor -> nhãn module/đường dẫn. - Maintainer có thể chạy
PR Labelerthủ công (workflow_dispatch) ở chế độauditđể kiểm tra drift hoặc chế độrepairđể chuẩn hóa metadata nhãn được quản lý trên toàn repository. - Di chuột qua nhãn trên GitHub hiển thị mô tả được quản lý tự động (tóm tắt quy tắc/ngưỡng).
- Màu nhãn được quản lý được sắp xếp theo thứ tự hiển thị để tạo gradient mượt mà trên các hàng nhãn dài.
PR Auto Responderđăng hướng dẫn lần đầu, xử lý phân tuyến dựa trên nhãn cho các mục tín hiệu thấp và tự động áp dụng bậc contributor cho issue với cùng ngưỡng nhưPR Labeler(trusted>=5,experienced>=10,principal>=20,distinguished>=50).
CI Required Gatelà merge gate.- PR chỉ thay đổi tài liệu sử dụng fast-path và bỏ qua các Rust job nặng.
- PR không phải tài liệu phải vượt qua lint, test và kiểm tra smoke release build.
- PR ảnh hưởng Rust sử dụng cùng bộ gate bắt buộc như push lên
master(không có shortcut chỉ build trên PR).
- Reviewer ưu tiên theo nhãn rủi ro và kích thước.
- Các đường dẫn nhạy cảm về bảo mật (
src/security,src/runtime,src/gatewayvà CI workflow) yêu cầu sự chú ý của maintainer. - PR lớn (
size: L/size: XL) nên được chia nhỏ trừ khi có lý do thuyết phục.
- Ưu tiên squash merge để giữ lịch sử gọn gàng.
- Tiêu đề PR nên theo phong cách Conventional Commit.
- Chỉ merge khi đường dẫn rollback đã được ghi lại.
- Template PR đã hoàn thiện đầy đủ.
- Ranh giới phạm vi rõ ràng (những gì đã thay đổi / những gì không thay đổi).
- Bằng chứng validation đã đính kèm (không chỉ là "CI sẽ kiểm tra").
- Các trường bảo mật và rollback đã hoàn thành cho các đường dẫn rủi ro.
- Kiểm tra tính riêng tư/vệ sinh dữ liệu đã hoàn thành và ngôn ngữ test trung lập/theo phạm vi dự án.
- Nếu có ngôn ngữ giống danh tính trong test/ví dụ, cần được chuẩn hóa về nhãn gốc ZeroClaw/dự án.
CI Required Gateđã xanh.- Các reviewer bắt buộc đã phê duyệt (bao gồm các đường dẫn CODEOWNERS).
- Nhãn phân loại rủi ro khớp với các đường dẫn đã chạm.
- Tác động migration/tương thích đã được ghi lại.
- Đường dẫn rollback cụ thể và nhanh chóng.
size: XS<= 80 dòng thay đổisize: S<= 250 dòng thay đổisize: M<= 500 dòng thay đổisize: L<= 1000 dòng thay đổisize: XL> 1000 dòng thay đổi
- Mặc định hướng đến
XS/S/M. - PR
L/XLcần lý do biện minh rõ ràng và bằng chứng test chặt chẽ hơn. - Nếu tính năng lớn không thể tránh khỏi, chia thành các stacked PR.
PR Labeleráp dụng nhãnsize:*từ số dòng thay đổi thực tế.- PR chỉ tài liệu/nặng lockfile được chuẩn hóa để tránh thổi phồng kích thước.
PR có sự hỗ trợ AI được chào đón, và review cũng có thể được hỗ trợ bằng agent.
- Tóm tắt PR rõ ràng với ranh giới phạm vi.
- Bằng chứng test/validation cụ thể.
- Ghi chú tác động bảo mật và rollback cho các thay đổi rủi ro.
- Ghi chú ngắn gọn về tool/workflow khi tự động hóa ảnh hưởng đáng kể đến thay đổi.
- Đoạn prompt/kế hoạch tùy chọn để tái tạo được.
Chúng tôi không yêu cầu contributor định lượng quyền sở hữu dòng AI-vs-human.
- Tương thích hợp đồng.
- Ranh giới bảo mật.
- Xử lý lỗi và hành vi fallback.
- Hồi quy hiệu suất và bộ nhớ.
- Mục tiêu triage maintainer đầu tiên: trong vòng 48 giờ.
- Nếu PR bị chặn, maintainer để lại một checklist hành động được.
- Tự động hóa
staleđược dùng để giữ hàng đợi lành mạnh; maintainer có thể áp dụngno-stalekhi cần. - Tự động hóa
pr-hygienekiểm tra các PR mở mỗi 12 giờ và đăng nhắc nhở khi PR không có commit mới trong 48+ giờ và rơi vào một trong hai trường hợp: đang tụt hậu so vớimasterhoặc thiếu/thất bạiCI Required Gatetrên head commit.
- Sử dụng ngân sách hàng đợi review: giới hạn số PR đang được review sâu đồng thời mỗi maintainer và giữ phần còn lại ở trạng thái triage.
- Đối với công việc stacked, yêu cầu
Depends on #...rõ ràng để thứ tự review mang tính quyết định.
- Nếu một PR mới thay thế một PR cũ đang mở, yêu cầu
Supersedes #...và đóng PR cũ sau khi maintainer xác nhận. - Đánh dấu các PR ngủ đông/dư thừa bằng
stale-candidatehoặcsupersededđể giảm nỗ lực review trùng lặp.
r:needs-reprocho báo cáo lỗi chưa đầy đủ (yêu cầu repro mang tính quyết định trước khi triage sâu).r:supportcho các mục sử dụng/trợ giúp nên xử lý ngoài bug backlog.- Nhãn
invalid/duplicatekích hoạt tự động hóa đóng chỉ issue kèm hướng dẫn.
PR Auto Responderloại bỏ trùng lặp comment dựa trên nhãn để tránh spam.- Các luồng đóng tự động chỉ giới hạn cho issue, không phải PR.
- Maintainer có thể đóng băng tính toán lại rủi ro tự động bằng
risk: manualkhi ngữ cảnh yêu cầu ghi đè thủ công.
Các thay đổi ở những khu vực này yêu cầu review chặt chẽ hơn và bằng chứng test mạnh hơn:
src/security/**- Quản lý tiến trình runtime.
- Hành vi ingress/xác thực gateway (
src/gateway/**). - Ranh giới truy cập filesystem.
- Hành vi mạng/xác thực.
- GitHub workflow và pipeline release.
- Các tool có khả năng thực thi (
src/tools/**).
- Tuyên bố mối đe dọa/rủi ro.
- Ghi chú biện pháp giảm thiểu.
- Các bước rollback.
- Bao gồm một test tập trung chứng minh hành vi ranh giới.
- Bao gồm một kịch bản failure mode rõ ràng và sự suy giảm mong đợi.
Đối với các đóng góp có hỗ trợ agent, reviewer cũng nên xác minh rằng tác giả hiểu hành vi runtime và blast radius.
Nếu một PR đã merge gây ra hồi quy:
- Revert PR ngay lập tức trên
master. - Mở issue theo dõi với phân tích nguyên nhân gốc.
- Chỉ đưa lại bản sửa lỗi khi có test hồi quy.
Ưu tiên khôi phục nhanh chất lượng dịch vụ hơn là bản vá hoàn hảo nhưng chậm trễ.
- Phạm vi tập trung và dễ hiểu.
- CI gate đã xanh.
- Kiểm tra chất lượng tài liệu đã xanh khi tài liệu thay đổi.
- Các trường tác động bảo mật đã hoàn thành.
- Các trường tính riêng tư/vệ sinh dữ liệu đã hoàn thành và bằng chứng đã được biên tập/ẩn danh.
- Ghi chú workflow agent đủ để tái tạo (nếu tự động hóa được sử dụng).
- Kế hoạch rollback rõ ràng.
- Tiêu đề commit theo Conventional Commits.
Để giữ chất lượng review ổn định khi khối lượng PR cao, sử dụng mô hình review hai làn.
- Xác nhận độ đầy đủ của template PR.
- Xác nhận tín hiệu CI gate (
CI Required Gate). - Xác nhận phân loại rủi ro qua nhãn và các đường dẫn đã chạm.
- Xác nhận tuyên bố rollback tồn tại.
- Xác nhận phần tính riêng tư/vệ sinh dữ liệu và các yêu cầu diễn đạt trung lập đã được thỏa mãn.
- Xác nhận bất kỳ ngôn ngữ giống danh tính nào đều sử dụng thuật ngữ gốc ZeroClaw/dự án.
Bắt buộc cho các thay đổi rủi ro cao (security/runtime/gateway/CI):
- Xác thực giả định mô hình mối đe dọa.
- Xác thực hành vi failure mode và suy giảm.
- Xác thực tương thích ngược và tác động migration.
- Xác thực tác động observability/logging.
size: XS/size: S+ sửa lỗi/bảo mật.size: Mthay đổi tập trung.size: L/size: XLyêu cầu chia nhỏ hoặc review theo giai đoạn.
- Nhãn đường dẫn xác định quyền sở hữu hệ thống con nhanh chóng.
- Nhãn kích thước điều hướng chiến lược lô.
- Nhãn rủi ro điều hướng độ sâu review (
risk: low/medium/high). - Nhãn module (
<module>: <component>) cải thiện phân tuyến reviewer cho các thay đổi cụ thể theo integration và các module mới được thêm vào trong tương lai. risk: manualcho phép maintainer bảo tồn phán đoán rủi ro của con người khi tự động hóa thiếu ngữ cảnh.no-staleđược dành riêng cho công việc đã được chấp nhận nhưng bị chặn.
Khi một agent bàn giao cho agent khác (hoặc cho maintainer), bao gồm:
- Ranh giới phạm vi (những gì đã thay đổi / những gì không thay đổi).
- Bằng chứng validation.
- Rủi ro mở và những điều chưa biết.
- Hành động tiếp theo được đề xuất.
Điều này giữ cho tổn thất ngữ cảnh ở mức thấp và tránh việc phải đào sâu lặp lại.
- README.md — phân loại và điều hướng tài liệu.
- ci-map.md — bản đồ quyền sở hữu và triage CI workflow.
- reviewer-playbook.md — mô hình thực thi của reviewer.
- actions-source-policy.md — chính sách allowlist nguồn action.
- Chủ sở hữu: các maintainer chịu trách nhiệm về quản trị cộng tác và chất lượng merge.
- Kích hoạt cập nhật: thay đổi branch protection, thay đổi chính sách nhãn/rủi ro, cập nhật quản trị hàng đợi hoặc thay đổi quy trình review agent.
- Lần review cuối: 2026-02-18.