@damphuquy/agent-init 1.4.4 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,24 +1,101 @@
1
- # Giao Thức Phân Công & Điều Phối Subagent (Orchestration Protocol)
1
+ # Giao Thức Phân Công & Điều Phối Subagent (Subagent Orchestration Protocol)
2
2
 
3
- <orchestration_protocol version="1.0">
3
+ <orchestration_protocol version="2.0">
4
4
 
5
5
  <description>
6
- Hướng dẫn phân công nhiệm vụ, cách ly và phối hợp subagent trong các task phức tạp.
6
+ Hướng dẫn kỹ thuật phân công nhiệm vụ, lập phạm vi và phối hợp subagent trong các tác vụ phức tạp nhiều giai đoạn. Dùng chung cho mọi dự án.
7
7
  </description>
8
8
 
9
- ## 1. Nguyên Tắc Phân Công (Delegation Principles)
10
- <delegation_rules>
11
- <rule id="explicit_scope">
12
- Luôn chỉ định danh sách file chính xác, chữ ký hàm (function signatures) và định dạng đầu ra có cấu trúc kỳ vọng.
9
+ ---
10
+
11
+ ## 1. Tiêu Chí Phân Công & Phân Luồng Tác Vụ (Delegation Criteria)
12
+
13
+ <delegation_criteria>
14
+ Subagent chỉ nên được khởi tạo có chủ đích cho các tác vụ con có ranh giới rõ ràng, đòn bẩy cao. TUYỆT ĐỐI KHÔNG khởi tạo subagent cho các bước thực thi nhỏ nhặt, tầm thường.
15
+
16
+ ### Khi nào NÊN ủy quyền cho Subagent:
17
+ - **Khảo sát chuyên sâu độc lập (Research Spikes):** Tìm hiểu thư viện lạ, kiểm toán hệ thống cũ (legacy), hoặc đọc tài liệu mà không làm rác cửa sổ ngữ cảnh của Agent cha.
18
+ - **Kiểm toán chất lượng chuyên biệt:** Kiểm toán lỗ hổng bảo mật độc lập, đánh giá khả năng tiếp cận (accessibility - a11y), hoặc rà soát lint/format nghiêm ngặt.
19
+ - **Viết kiểm thử trực giao độc lập:** Viết các bài kiểm thử đơn vị độc lập hoặc fixtures khung test cho một hợp đồng giao diện đã được đóng băng.
20
+ - **Thực thi các lát cắt song song, không chồng chéo:** Triển khai các thành phần độc lập tác động lên các ranh giới tệp riêng biệt hoàn toàn.
21
+
22
+ ### Khi nào Agent cha BẮT BUỘC tự thực hiện (KHÔNG phân công):
23
+ - **Đánh đổi & Ra quyết định kiến trúc:** Soạn thảo các phương án trong `decision.md` và trình ký Gate 1.
24
+ - **Hợp đồng Task Master & Lập kế hoạch:** Định nghĩa `task.md`, hợp đồng lát cắt trong `plan.md` và trình ký Gate 2.
25
+ - **Cổng chất lượng & Phê duyệt của người dùng:** Thực hiện kiểm toán Gate 3 và sinh bản bàn giao cuối cùng `handoff.md`.
26
+ - **Tương tác làm rõ với người dùng:** Bất kỳ trao đổi nào cần sự định hướng hoặc phê duyệt trực tiếp từ con người.
27
+ </delegation_criteria>
28
+
29
+ ---
30
+
31
+ ## 2. Ranh Giới Ngữ Cảnh & Quy Tắc Khoanh Vùng (Context Containment)
32
+
33
+ <context_containment>
34
+ <rule id="explicit_file_manifest">
35
+ Luôn cung cấp cho subagent danh sách đường dẫn tệp cụ thể cần đọc hoặc chỉnh sửa. Tuyệt đối không ra lệnh mơ hồ như "hãy khám phá dự án" hay "quét toàn bộ codebase".
36
+ </rule>
37
+
38
+ <rule id="port_and_interface_focus">
39
+ Giới hạn dữ liệu đầu vào của subagent trong phạm vi các giao diện cổng (port interfaces), thực thể domain và bộ test đi kèm. Tránh đưa các chi tiết hạ tầng không cần thiết vào prompt của subagent.
40
+ </rule>
41
+
42
+ <rule id="structured_output_contract">
43
+ Luôn yêu cầu định dạng đầu ra có cấu trúc từ subagent (ví dụ: unified git diff, danh sách phát hiện phân loại theo Confirmed/Observed/Hypothesized, hoặc bảng markdown).
44
+ </rule>
45
+ </context_containment>
46
+
47
+ ---
48
+
49
+ ## 3. Đồng Thời, Cách Ly & Quyền Ghi File (Concurrency & Isolation)
50
+
51
+ <concurrency_and_isolation>
52
+ <rule id="zero_write_collision">
53
+ Nhiều subagent TUYỆT ĐỐI KHÔNG BAO GIỜ được cấp quyền ghi vào cùng một file hoặc cùng một bảng cơ sở dữ liệu đồng thời. Sửa đè file gây ra xung đột merge và lỗi hồi quy âm thầm.
54
+ </rule>
55
+
56
+ <rule id="read_only_by_default">
57
+ Mặc định subagent ở chế độ CHỈ ĐỌC (read-only) bất cứ khi nào có thể (khảo sát, đọc code, kiểm toán). Chỉ cấp quyền ghi khi các file mục tiêu hoàn toàn độc lập và thuộc quyền quản lý của riêng subagent đó.
58
+ </rule>
59
+
60
+ <rule id="workspace_isolation">
61
+ Nếu môi trường hỗ trợ không gian làm việc cách ly (branch hoặc worktree mode), hãy sử dụng để thử nghiệm các spike thăm dò nhằm bảo vệ cây làm việc chính luôn sạch sẽ.
62
+ </rule>
63
+ </concurrency_and_isolation>
64
+
65
+ ---
66
+
67
+ ## 4. Đồng Bộ Trạng Thái & Tích Hợp Lại Về Agent Cha (State Synchronization)
68
+
69
+ <state_synchronization>
70
+ <rule id="parent_owns_master_state">
71
+ Subagent TUYỆT ĐỐI KHÔNG trực tiếp chỉnh sửa các artifact quản lý của Agent cha (`task.md`, `state.md`, `review.md`). Chỉ Agent cha mới có thẩm quyền tổng hợp kết quả của subagent vào các tệp trạng thái master.
72
+ </rule>
73
+
74
+ <rule id="verification_before_acceptance">
75
+ Khi subagent trả về mã nguồn đã sửa đổi hoặc kết quả khảo sát, Agent cha phải trực tiếp kiểm tra git diff và chạy lệnh verifier của lát cắt tương ứng trước khi chấp nhận kết quả.
76
+ </rule>
77
+
78
+ <rule id="evidence_crystallization">
79
+ Trích xuất các bằng chứng đã xác minh từ báo cáo của subagent và ghi vào `state.md > <verification_evidence>`. Loại bỏ các log hội thoại tạm thời của subagent để bảo vệ sự tinh gọn của ngữ cảnh.
80
+ </rule>
81
+ </state_synchronization>
82
+
83
+ ---
84
+
85
+ ## 5. Điều Phối Phản Ứng, Giới Hạn & Phục Hồi Lỗi (Coordination & Recovery)
86
+
87
+ <coordination_and_recovery>
88
+ <rule id="no_polling_loops">
89
+ Tuyệt đối không viết vòng lặp kiểm tra trạng thái (`while true; sleep 5; check_status`) để chờ subagent. Dựa vào cơ chế đánh thức qua tin nhắn phản ứng (reactive message wakeup) của hệ thống khi subagent hoàn thành.
13
90
  </rule>
14
91
 
15
- <rule id="context_containment">
16
- Không cấp quyền truy cập repository không giới hạn; giới hạn ngữ cảnh của subagent trong phạm vi các bộ test suite liên quanhợp đồng giao diện cổng.
92
+ <rule id="retry_budget_enforcement">
93
+ Nếu subagent gặp lỗi công cụ hoặc thất bại lặp đi lặp lại, áp dụng nghiêm ngặt ngân sách thử lại tối đa 3 lần. Nếu cạn ngân sách, ghi dấu vết lỗi vào `state.md > <failure_memory>` dừng lại báo cáo người dùng.
17
94
  </rule>
18
95
 
19
- <rule id="no_polling">
20
- Dựa vào chế đánh thức qua tin nhắn phản ứng (reactive message wakeup) của hệ thống khi subagent hoàn thành việc thực thi.
96
+ <rule id="teardown_and_cleanup">
97
+ Giải phóng sạch sẽ các subagent nhàn rỗi hoặc bị lỗi. Đảm bảo toàn bộ tệp nháp tạm thời (scratch) hoặc branch thử nghiệm do subagent tạo ra được dọn dẹp trước khi hoàn thành lát cắt.
21
98
  </rule>
22
- </delegation_rules>
99
+ </coordination_and_recovery>
23
100
 
24
101
  </orchestration_protocol>