@damphuquy/agent-init 2.3.0 → 3.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.
Files changed (36) hide show
  1. package/README.md +17 -9
  2. package/README.vi.md +17 -9
  3. package/dist/cli.d.ts.map +1 -1
  4. package/dist/cli.js +49 -2
  5. package/dist/cli.js.map +1 -1
  6. package/dist/config.d.ts.map +1 -1
  7. package/dist/config.js +4 -2
  8. package/dist/config.js.map +1 -1
  9. package/dist/scaffolder.d.ts +4 -1
  10. package/dist/scaffolder.d.ts.map +1 -1
  11. package/dist/scaffolder.js +234 -0
  12. package/dist/scaffolder.js.map +1 -1
  13. package/dist/types.d.ts +26 -0
  14. package/dist/types.d.ts.map +1 -1
  15. package/dist/ui.d.ts.map +1 -1
  16. package/dist/ui.js +4 -0
  17. package/dist/ui.js.map +1 -1
  18. package/package.json +1 -1
  19. package/templates/en/.agents/guardrails.md +22 -0
  20. package/templates/en/AGENTS.md +26 -12
  21. package/templates/en/instruction-version.json +5 -4
  22. package/templates/en/process/_seeds/_GUIDE.md +10 -1
  23. package/templates/en/process/_seeds/plan-template.md.seed +6 -5
  24. package/templates/en/process/_seeds/review-template.md.seed +2 -0
  25. package/templates/en/process/_seeds/task-lite.md.seed +88 -0
  26. package/templates/en/process/_seeds/task-template.md.seed +8 -0
  27. package/templates/en/process/development-protocols/orchestration.md +19 -0
  28. package/templates/vi/.agents/guardrails.md +22 -0
  29. package/templates/vi/AGENTS.md +26 -12
  30. package/templates/vi/instruction-version.json +5 -4
  31. package/templates/vi/process/_seeds/_GUIDE.md +10 -1
  32. package/templates/vi/process/_seeds/plan-template.md.seed +6 -5
  33. package/templates/vi/process/_seeds/review-template.md.seed +2 -0
  34. package/templates/vi/process/_seeds/task-lite.md.seed +88 -0
  35. package/templates/vi/process/_seeds/task-template.md.seed +8 -0
  36. package/templates/vi/process/development-protocols/orchestration.md +19 -0
@@ -37,24 +37,32 @@
37
37
  <foundations>
38
38
  <!-- Trụ cột 1: Task & Specification -->
39
39
  <pillar id="task_spec" title="Task & Đặc tả (Specification)">
40
- <rule>Nguồn sự thật duy nhất (Single Source of Truth): Tệp task đang thực thi trong [`process/features/active/{feature}/task.md`](process/features/) hoặc [`process/general-plans/active/{task}/task.md`](process/general-plans/) (khởi tạo từ [`process/_seeds/task-template.md.seed`](process/_seeds/task-template.md.seed)).</rule>
41
- <rule>Khởi tạo qua Prompt & Lệnh Gạch Chéo (Prompt & Slash Command Initialization): Người dùng có thể yêu cầu tạo và chạy task trực tiếp bằng prompt hoặc tiền tố lệnh gạch chéo (Pseudo-Slash Commands). Agent tự động định tuyến thư mục và khởi tạo `task.md` từ [`process/_seeds/task-template.md.seed`](process/_seeds/task-template.md.seed):
42
- - pháp `/feature`, `/big-task`, `/epic` hoặc các từ khóa `big task`, `feature`, `big changes`: định tuyến vào `process/features/active/{task-slug}/task.md` (chế độ PAIR).
43
- - pháp `/task`, `/small-task`, `/bug` hoặc các từ khóa `small task`, `general changes`, `small changes`: định tuyến vào `process/general-plans/active/{task-slug}/task.md` (chế độ PAIR).
44
- - pháp `/hotfix`: định tuyến vào `process/general-plans/active/{task-slug}/task.md` và chạy chế độ DELEGATED.
40
+ <rule>Nguồn sự thật duy nhất (Single Source of Truth): Tệp task đang thực thi trong [`process/features/active/{feature}/task.md`](process/features/) (Full Track) hoặc [`process/general-plans/active/{task}/task-lite.md`](process/general-plans/) (Lite Track).</rule>
41
+ <rule> chế Định tuyến Đôi (Dual-Track Routing):
42
+ - **Full Track (7 artifacts):** Dành cho tính năng phức tạp, epic lớn, tái cấu trúc kiến trúc. Khởi tạo từ [`process/_seeds/task-template.md.seed`](process/_seeds/task-template.md.seed) tại `process/features/active/{task-slug}/`. Chuỗi: `task.md research.md → decision.md → plan.md → state.md → review.md → handoff.md`.
43
+ - **Lite Track (1 artifact):** Dành cho tác vụ nhanh, sửa lỗi (bugfix), micro-tasks, hotfix. Khởi tạo từ [`process/_seeds/task-lite.md.seed`](process/_seeds/task-lite.md.seed) tại `process/general-plans/active/{task-slug}/task-lite.md`. Gom toàn bộ spec, phạm vi file, kế hoạch cắt lát và cổng kiểm chứng vào duy nhất 1 file để triệt tiêu chi phí ngữ cảnh (token tax).</rule>
44
+ <rule>Khởi tạo qua Prompt & Lệnh Gạch Chéo (Prompt & Slash Command Initialization): Người dùng có thể yêu cầu tạo và chạy task trực tiếp:
45
+ - Cú pháp `/feature`, `/big-task`, `/epic` hoặc từ khóa `big task`, `feature`, `big changes`: định tuyến Full Track vào `process/features/active/{task-slug}/task.md` (chế độ PAIR).
46
+ - Cú pháp `/task`, `/small-task`, `/bug` hoặc từ khóa `small task`, `bug`: định tuyến Lite Track vào `process/general-plans/active/{task-slug}/task-lite.md` (chế độ PAIR).
47
+ - Cú pháp `/hotfix`: định tuyến Lite Track vào `process/general-plans/active/{task-slug}/task-lite.md` và chạy chế độ DELEGATED.
45
48
  - Cú pháp `/fast-track`, `/delegated`: chạy tự trị liên tục qua toàn bộ chu trình.
46
- - Cú pháp `/update`: kiểm tra phiên bản mới của quy chuẩn chỉ dẫn (qua `instruction-version.json` registry); nếu có phiên bản mới thì thực hiện cập nhật bảo toàn cấu hình dự án, nếu không có phiên bản mới hơn thì thông báo "nothing changed".
47
- Agent tự tạo thư mục, điền mục tiêu & tiêu chí AC từ prompt vào `task.md` bắt đầu ngay pha RESEARCH.</rule>
48
- <rule>Định nghĩa thay đổi thông qua Mục tiêu (Goal), Hành vi hiện tại (Current Behavior), Hành vi kỳ vọng (Expected Behavior), Bất biến (Invariants) Ngoài phạm vi (`<out_of_scope>`).</rule>
49
- <rule>Tiêu chí nghiệm thu (Acceptance Criteria - AC) phải ràng, kiểm chứng được dưới dạng checkbox markdown (`- [ ]`).</rule>
50
- <rule>Mỗi task đều có bản hợp đồng master (`task.md`) và chuỗi artifact hoàn chỉnh: `research.md → decision.md → plan.md → state.md → review.md → handoff.md`.</rule>
49
+ - Cú pháp `/sync`: thực thi `npx @damphuquy/agent-init sync` để ánh xạ `AGENTS.md` sang `.cursor/rules/`, `CLAUDE.md`,`.windsurfrules`.
50
+ - pháp `/verify-gate [G2|G3]`: kiểm tra git diff, đảm bảo không file nào bị sửa ngoài `<allowed_files>`.
51
+ - pháp `/update`: kiểm tra nâng cấp phiên bản quy chuẩn chỉ dẫn (qua `instruction-version.json`); nếu đã bản mới nhất thì xuất ra "nothing changed".</rule>
52
+ <rule>Định nghĩa thay đổi thông qua Mục tiêu (Goal), Bất biến (Invariants), Hợp đồng phạm vi (`<scope_contract>`), Tiêu chí nghiệm thu (AC).</rule>
51
53
  </pillar>
52
54
 
53
- <!-- Trụ cột 2: Context Navigation -->
54
- <pillar id="context" title="Điều hướng & Nạp ngữ cảnh (Context Navigation)">
55
+ <!-- Trụ cột 2: Context Navigation & Model Context Protocol (MCP) -->
56
+ <pillar id="context" title="Điều hướng ngữ cảnh & MCP">
55
57
  <rule>Chỉ thu thập ngữ cảnh tối thiểu đủ dùng (Minimum Sufficient Context). Tuyệt đối không quét toàn bộ repo hay tự ý refactor ngoài phạm vi.</rule>
56
58
  <rule>Tuân thủ thứ tự ưu tiên thông tin được định nghĩa trong [`.agents/behavior.md`](.agents/behavior.md).</rule>
57
59
  <rule>Định tuyến ngữ cảnh dự án thông qua [`process/context/all-context.md`](process/context/all-context.md).</rule>
60
+ <mcp_tools>
61
+ Khi môi trường có sẵn Model Context Protocol (MCP), agent phải ưu tiên sử dụng MCP tools:
62
+ - Database MCP: Truy vấn schema và dữ liệu trực tiếp, không giả định schema mò mẫm.
63
+ - Git MCP: Đọc log/diff chính xác, tránh parsing lệnh shell tự do.
64
+ - Browser/DevTools MCP: Khảo sát live DOM / cây accessibility khi nghiệm thu giao diện.
65
+ </mcp_tools>
58
66
  </pillar>
59
67
 
60
68
  <!-- Trụ cột 3: Engineering Harness & Guardrails -->
@@ -65,6 +73,12 @@
65
73
  # Node/TS: npm run test && npm run typecheck && npm run lint
66
74
  # Go: go test ./... && go vet ./...
67
75
  </validation_commands>
76
+ <action_governance>
77
+ Agent vận hành dưới cơ chế kiểm soát và ngăn chặn vi phạm nghiêm ngặt:
78
+ - Chống vượt ranh giới (Anti-Escape): Tuyệt đối không sửa đổi file ngoài danh sách `<allowed_files>` hoặc cấu hình gốc dự án chưa được duyệt (`package.json`, CI workflow) trừ khi được chỉ định rõ trong `plan.md`.
79
+ - Danh sách cấm an toàn (Safety Blacklist): Tuyệt đối không thực thi các lệnh phá hủy (`git push -f`, `git reset --hard`, xóa đệ quy không giới hạn, `DROP TABLE`).
80
+ - Nghiệm thu phi triển khai (Non-Implementer Review): Người trực tiếp viết code không được tự ý đơn phương nghiệm thu; việc nghiệm thu bắt buộc phải qua thẩm định độc lập.
81
+ </action_governance>
68
82
  <architecture_guardrail>
69
83
  Clean Architecture & Dependency Injection cung cấp định hướng cấu trúc, KHÔNG PHẢI
70
84
  chỉ thị để làm phức tạp hóa quá mức các hàm tiện ích đơn giản.
@@ -1,13 +1,13 @@
1
1
  {
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
3
  "name": "@damphuquy/agent-init",
4
- "version": "2.2.0",
4
+ "version": "3.0.0",
5
5
  "framework": "RIPER-5",
6
- "frameworkVersion": "2.0.0",
6
+ "frameworkVersion": "3.0.0",
7
7
  "language": "vi",
8
8
  "description": "Tệp định danh và kiểm soát phiên bản quy chuẩn chỉ dẫn (instructions) cho AI Coding Agents và Workspace.",
9
- "installedAt": "2026-09-08T00:00:00.000Z",
10
- "updatedAt": "2026-09-08T00:00:00.000Z",
9
+ "installedAt": "2026-09-09T00:00:00.000Z",
10
+ "updatedAt": "2026-09-09T00:00:00.000Z",
11
11
  "manifest": {
12
12
  "core": [
13
13
  "AGENTS.md",
@@ -22,6 +22,7 @@
22
22
  "seeds": [
23
23
  "process/_seeds/_GUIDE.md",
24
24
  "process/_seeds/task-template.md.seed",
25
+ "process/_seeds/task-lite.md.seed",
25
26
  "process/_seeds/context-group.md.seed",
26
27
  "process/_seeds/decision-template.md.seed",
27
28
  "process/_seeds/plan-template.md.seed",
@@ -23,9 +23,18 @@
23
23
  <catalog>
24
24
 
25
25
  <seed type="task" path="task-template.md.seed">
26
- Hợp đồng master và bản lưu vết trạng thái xuyên suốt toàn bộ vòng đời RIPER-5.
26
+ Hợp đồng master và bản lưu vết trạng thái xuyên suốt toàn bộ vòng đời RIPER-5 (Full Track: 7 artifacts).
27
27
  Bao gồm: Metadata kiểm soát task (working_mode PAIR/DELEGATED), Đặc tả (Spec), Ranh giới ngữ cảnh, Chiến lược kiểm chứng,
28
28
  Quyết định kỹ thuật, Kế hoạch thực thi RIPER-5 (kèm Gates G0–G3), và Ranh giới an toàn (Guardrails).
29
+ Khuyến nghị cho: Các tính năng phức tạp, tái cấu trúc kiến trúc, và Epic tại `process/features/`.
30
+ </seed>
31
+
32
+ <seed type="task-lite" path="task-lite.md.seed">
33
+ Hợp đồng tinh gọn gom vào duy nhất 1 artifact cho RIPER-5 Lite Track (1 artifact).
34
+ Bao gồm: Ý định, Ràng buộc bất biến, Hợp đồng phạm vi (<allowed_files>), Kế hoạch cắt lát tinh gọn,
35
+ và Cổng kiểm chứng nghiệm thu tổng hợp (G1/G2/G3).
36
+ Khuyến nghị cho: Tác vụ nhỏ, sửa lỗi (bugfix), tính năng nhỏ (micro-tasks), và hotfix tại `process/general-plans/`.
37
+ Giảm hơn 70% chi phí token và overhead khởi tạo.
29
38
  </seed>
30
39
 
31
40
  <seed type="research" path="context-group.md.seed">
@@ -109,11 +109,11 @@
109
109
  <!-- Được điền trong và sau giai đoạn Thực thi (Execute) -->
110
110
  <verification_matrix>
111
111
 
112
- | AC / Rủi ro | Bài test / Lệnh | Bằng chứng kỳ vọng | Kết quả thực tế |
113
- |---|---|---|---|
114
- | AC-1 | | | |
115
- | AC-2 | | | |
116
- | AC-3 | | | |
112
+ | AC / Rủi ro | Bài test / Lệnh | Bằng chứng kỳ vọng | Mức độ nghiêm ngặt (hard-mandatory / soft-mandatory / advisory) | Kết quả thực tế |
113
+ |---|---|---|---|---|
114
+ | AC-1 | | | hard-mandatory | |
115
+ | AC-2 | | | hard-mandatory | |
116
+ | AC-3 | | | advisory | |
117
117
 
118
118
  </verification_matrix>
119
119
 
@@ -124,6 +124,7 @@
124
124
  <gate id="G2">
125
125
  - [ ] Mọi lát cắt đều có verifier xác định.
126
126
  - [ ] Hợp đồng phạm vi (cho phép / cấm) đã được phê duyệt.
127
+ - [ ] Mức độ nghiêm ngặt thực thi đã được gán cho từng AC / mục kiểm chứng.
127
128
  - [ ] Điều kiện dừng đã được định nghĩa cho từng slice.
128
129
  - [ ] Điểm hoàn nguyên (rollback point) đã được định nghĩa cho từng slice.
129
130
  - [ ] Danh sách lệnh được phép đã được liệt kê.
@@ -7,6 +7,7 @@
7
7
  <phase>REVIEW</phase>
8
8
  <mode>READ-ONLY</mode>
9
9
  <reviewer></reviewer>
10
+ <reviewer_harness></reviewer_harness> <!-- ví dụ: human-pair / independent-subagent / cross-model-harness -->
10
11
  <last_updated></last_updated>
11
12
  </review_status>
12
13
 
@@ -136,6 +137,7 @@
136
137
 
137
138
  <gate id="G3">
138
139
  - [ ] Toàn bộ git diff đã được kiểm toán (không có thay đổi ngoài luồng).
140
+ - [ ] Đã xác minh nghiệm thu độc lập (người thực hiện không phải là người nghiệm thu duy nhất).
139
141
  - [ ] Hoàn tất dọn dẹp vệ sinh: toàn bộ debug log, lệnh print tạm và file nháp scratch đã bị xóa.
140
142
  - [ ] Mọi bằng chứng yêu cầu đều tồn tại và được đính kèm.
141
143
  - [ ] Toàn bộ phát hiện đã được phân loại xử lý (Lỗi xác nhận đã sửa hoặc được chấp nhận rủi ro).
@@ -0,0 +1,88 @@
1
+ # Nhiệm Vụ Tinh Gọn: [TASK-ID] [Tiêu Đề Nhiệm Vụ]
2
+
3
+ <task_lite version="3.0" framework="RIPER-5-Lite">
4
+
5
+ <!-- ════════════════════════════════════════════
6
+ PHẦN 0 — ĐIỀU KHIỂN NHIỆM VỤ
7
+ ════════════════════════════════════════════ -->
8
+ <task_control>
9
+ <track>LITE</track> <!-- LITE: Artifact 1 file duy nhất cho tác vụ nhanh, sửa lỗi, micro-task -->
10
+ <status>ACTIVE</status> <!-- ACTIVE | REVIEW | COMPLETED | CANCELLED -->
11
+ <priority>P2</priority> <!-- P0=khẩn | P1=cao | P2=bình thường | P3=thấp -->
12
+ <working_mode>PAIR</working_mode> <!-- PAIR (duyệt tại cổng) | DELEGATED (chạy tự trị liên tục) -->
13
+ <current_phase>PLAN</current_phase> <!-- PLAN | EXECUTE | REVIEW -->
14
+ <owner>@engineer</owner>
15
+ </task_control>
16
+
17
+ ---
18
+
19
+ ## 1. Ý Định & Bản Đặc Tả (Intent & Spec)
20
+
21
+ <specification>
22
+ <goal>
23
+ [Mô tả rõ ràng mục tiêu sửa lỗi, cải tiến nhỏ, hoặc tính năng phụ trợ]
24
+ </goal>
25
+
26
+ <invariants>
27
+ - [Ràng buộc bất biến tuyệt đối KHÔNG được phá vỡ trong nhiệm vụ này]
28
+ </invariants>
29
+
30
+ <acceptance_criteria>
31
+ - [ ] AC-1: [Kết quả chức năng cụ thể có thể kiểm chứng được]
32
+ - [ ] AC-2: [Kiểm thử tự động hoặc lệnh lint vượt qua không có lỗi]
33
+ </acceptance_criteria>
34
+
35
+ <!-- Cổng Định Nghĩa Sẵn Sàng (DoR): Không bắt đầu code nếu bài toán hoặc file được sửa còn mơ hồ -->
36
+ <definition_of_ready>
37
+ - [ ] Mục tiêu và tiêu chí nghiệm thu rõ ràng, không giả định.
38
+ - [ ] Danh sách file được phép sửa ở Mục 2 đã được xác định.
39
+ </definition_of_ready>
40
+ </specification>
41
+
42
+ ---
43
+
44
+ ## 2. Hợp Đồng Phạm Vi & Danh Sách Tệp Được Phép Sửa
45
+
46
+ <scope_contract>
47
+ <allowed_files>
48
+ <file>[đường/dẫn/tuyệt/đối/hoặc/tương/đối/file1.ts]</file>
49
+ <file>[đường/dẫn/file1.test.ts]</file>
50
+ </allowed_files>
51
+
52
+ <forbidden_files>
53
+ <file>[các/file/nằm/ngoài/phạm/vi/nhiệm/vụ]</file>
54
+ </forbidden_files>
55
+ </scope_contract>
56
+
57
+ ---
58
+
59
+ ## 3. Kế Hoạch Cắt Lát Thực Thi (Compact Slices)
60
+
61
+ <execution_plan>
62
+ ### Slice 1: [Tiêu Đề Thay Đổi Cốt Lõi]
63
+ - **Hành động:** [Viết mã hoặc test gì]
64
+ - **Lệnh kiểm chứng (Verifier):** [ví dụ: npm test path/to/test.ts || pytest path/to/test.py]
65
+ - **Trạng thái:** [ ] PENDING / IN_PROGRESS / DONE
66
+
67
+ ### Slice 2 (Tùy chọn): [Thay Đổi Bổ Trợ / Tích Hợp]
68
+ - **Hành động:** [Viết mã hoặc test gì]
69
+ - **Lệnh kiểm chứng (Verifier):** [Lệnh thực thi kiểm thử]
70
+ - **Trạng thái:** [ ] PENDING / IN_PROGRESS / DONE
71
+ </execution_plan>
72
+
73
+ ---
74
+
75
+ ## 4. Kiểm Thử Tổng Hợp & Cổng Chất Lượng
76
+
77
+ <verification_gates>
78
+ <!-- Cổng G1/G2: Kiểm tra thiết kế & phạm vi (trước khi code) -->
79
+ - [ ] **Cổng G1/G2 (Kế hoạch được duyệt):** Danh sách allowed_files xác định rõ ràng, có verifier.
80
+
81
+ <!-- Cổng G3: Bằng chứng nghiệm thu (sau khi code xong) -->
82
+ - [ ] **Cổng G3 (Sẵn sàng nghiệm thu/handoff):**
83
+ - [ ] Các lệnh kiểm thử (verifier) thực thi thành công 100% (Zero lỗi).
84
+ - [ ] Kiểm tra `git diff` — KHÔNG chạm vào bất kỳ file nào ngoài `<allowed_files>`.
85
+ - [ ] Đã dọn sạch mọi log debug hoặc thay đổi ngoài ý muốn.
86
+ </verification_gates>
87
+
88
+ </task_lite>
@@ -53,6 +53,14 @@
53
53
  - [ ] AC-2: [Các trường hợp biên (edge cases), quy tắc kiểm tra hợp lệ hoặc xử lý lỗi]
54
54
  - [ ] AC-3: [Kiểm thử tự động được bổ sung/cập nhật và chạy pass 100%]
55
55
  </acceptance_criteria>
56
+
57
+ <!-- Cổng Định Nghĩa Sẵn Sàng (Definition-of-Ready - DoR) — Tư duy trước khi dispatch -->
58
+ <definition_of_ready>
59
+ - [ ] Mục tiêu và tiêu chí nghiệm thu rõ ràng, kiểm chứng được (không phải đoán mò).
60
+ - [ ] Ràng buộc bất biến và phạm vi loại trừ <out_of_scope> được tuyên bố tường minh.
61
+ - [ ] Các câu hỏi mở được giải quyết hoặc đưa vào decision.md (Không code phỏng đoán).
62
+ <!-- DỪNG LẠI: Nếu bất kỳ mục DoR nào chưa thỏa mãn, dừng lại và hỏi người dùng trước! -->
63
+ </definition_of_ready>
56
64
  </specification>
57
65
 
58
66
  ---
@@ -98,4 +98,23 @@
98
98
  </rule>
99
99
  </coordination_and_recovery>
100
100
 
101
+ ---
102
+
103
+ ## 6. Giao Thức Đánh Giá Độc Lập & Đa Harness (Cross-Harness Review)
104
+
105
+ <cross_harness_review>
106
+ <rule id="implementer_cannot_review">
107
+ Subagent hoặc harness đã trực tiếp viết mã triển khai TUYỆT ĐỐI KHÔNG được đóng vai trò là người phê duyệt duy nhất cho lát cắt đó.
108
+ Nhằm triệt tiêu thiên kiến xác nhận, hãy ủy quyền việc thẩm định các lát cắt phức tạp hoặc nhạy cảm bảo mật cho một subagent đánh giá độc lập, hoặc yêu cầu kỹ sư con người ký duyệt quality gate.
109
+ </rule>
110
+
111
+ <rule id="adversarial_verification">
112
+ Subagent đánh giá phải được giao nhiệm vụ chủ động tìm kiếm các trường hợp biên (edge cases), vi phạm tuân thủ và vi phạm phạm vi so với `<scope_contract>`, thay vì chỉ xác nhận thụ động tuyên bố thành công của người viết mã.
113
+ </rule>
114
+
115
+ <rule id="fresh_context_mandate">
116
+ Subagent đánh giá độc lập phải vận hành với ngữ cảnh sạch: chỉ nhận yêu cầu của task, git diff và lệnh kiểm thử mà không bị ảnh hưởng bởi nhật ký hội thoại hay các suy luận phỏng đoán trong vòng lặp triển khai.
117
+ </rule>
118
+ </cross_harness_review>
119
+
101
120
  </orchestration_protocol>