kenaz 0.3.5 → 0.3.6
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.
- package/core/.claude/commands/Ansuz.md +1 -0
- package/core/.formation/native/claude/README.md +1 -1
- package/core/.formation/role-map.yaml +3 -3
- package/core/.formation/spec/task_operations.yaml +3 -3
- package/core/.formation/tools/__tests__/subagent-bifrost-guard.test.js +4 -4
- package/core/.formation/tools/dispatch.js +5 -5
- package/core/.formation/tools/prompt.js +4 -0
- package/core/.formation/unit/do.yaml +2 -4
- package/core/.rule/general/agent-workflow.yaml +4 -4
- package/core/.rule/general/file-size-threshold.yaml +16 -4
- package/core/.rule/general/rust-verify-target.yaml +0 -1
- package/core/.rule/general/system-invariants.yaml +8 -25
- package/core/.specialist/Ansuz/SYSTEM_DOC.md +17 -42
- package/core/.specialist/Ansuz/capability.yaml +7 -14
- package/core/.specialist/Ansuz/concepts/formation_quick_ref.yaml +4 -11
- package/core/.specialist/Ansuz/elixir.yaml +3 -4
- package/core/.specialist/Ansuz/identity_contract.yaml +1 -1
- package/core/.specialist/Ansuz/knowledge.yaml +7 -10
- package/core/.specialist/Ansuz/rule.yaml +2 -2
- package/core/.specialist/Ansuz/tools/verify-and-land.js +22 -0
- package/core/.specialist/Ansuz/tools/verify-and-land.test.js +59 -5
- package/core/.specialist/Ansuz/workflow.yaml +7 -11
- package/core/.specialist/Forseti/core.yaml +1 -1
- package/core/.specialist/Heimdall/SKILL.md +1 -1
- package/core/.specialist/Heimdall/core.yaml +2 -2
- package/core/.specialist/Huginn/rule.yaml +1 -1
- package/core/.specialist/tools/README.md +2 -2
- package/core/.system/collaboration/README.md +1 -1
- package/core/.system/formation/LEGACY_SKILLS.md +2 -0
- package/core/.system/formation/POST_COMPLETE.md +2 -0
- package/core/.system/formation/README.md +2 -0
- package/core/KENAZ_CORE_VERSION +1 -1
- package/core/dev/scripts/check-file-size.js +44 -17
- package/core/k-cli/README.md +1 -94
- package/core/k-cli/test/TEST_SPEC.md +5 -22
- package/core/k-cli/test/run.sh +1 -67
- package/core/plugins/kenaz/commands/Ansuz.md +1 -0
- package/package.json +6 -6
- package/core/.formation/legion/forge.yaml +0 -299
- package/core/.formation/legion/hive.yaml +0 -238
- package/core/.formation/squad/blitz.yaml +0 -192
- package/core/.formation/squad/strategy-tribunal.yaml +0 -354
- package/core/.formation/squad/strategy.yaml +0 -349
- package/core/.formation/squad/sweep.yaml +0 -208
|
@@ -1,238 +0,0 @@
|
|
|
1
|
-
skill: hive
|
|
2
|
-
formation: legion
|
|
3
|
-
version: "1.0"
|
|
4
|
-
|
|
5
|
-
name: Hive
|
|
6
|
-
description: |
|
|
7
|
-
網狀即時協調:所有成員互相連接,任何人的變更都即時影響其他人。
|
|
8
|
-
沒有固定的流水線順序,沒有「先設計再實作」的階段。
|
|
9
|
-
所有人同時工作、同時溝通、即時調整。
|
|
10
|
-
這是 Legion 最重量級的模式 — 只在成員之間的工作高度耦合時使用。
|
|
11
|
-
|
|
12
|
-
# ─────────────────────────────────────────
|
|
13
|
-
# 溝通模式(核心設計)
|
|
14
|
-
# ─────────────────────────────────────────
|
|
15
|
-
|
|
16
|
-
topology: mesh
|
|
17
|
-
# A ←→ B
|
|
18
|
-
# ↕ ↕
|
|
19
|
-
# C ←→ D
|
|
20
|
-
# 所有人可以直接跟所有人溝通
|
|
21
|
-
|
|
22
|
-
communication:
|
|
23
|
-
core_pattern: |
|
|
24
|
-
全連接 + 即時同步:
|
|
25
|
-
1. 所有成員同時開始工作
|
|
26
|
-
2. 任何人修改了影響他人的東西 → 立即通知受影響的成員
|
|
27
|
-
3. 收到通知 → 評估影響 → 調整自己的工作 → 如有連鎖影響再通知
|
|
28
|
-
4. 遇到無法自行解決的衝突 → 升級給 Team Lead 裁決
|
|
29
|
-
持續循環直到所有成員確認自己的部分完成且與他人一致。
|
|
30
|
-
|
|
31
|
-
triggers:
|
|
32
|
-
- name: 變更通知
|
|
33
|
-
when: 成員修改了可能影響其他人的介面、型別、或行為
|
|
34
|
-
who: any → affected members
|
|
35
|
-
content: 修改的內容、舊 → 新、影響範圍、需要對方做的調整
|
|
36
|
-
|
|
37
|
-
- name: 衝突發現
|
|
38
|
-
when: 兩個成員的修改互相矛盾
|
|
39
|
-
who: discoverer → conflicting member
|
|
40
|
-
content: 衝突描述、雙方的修改、建議的解法
|
|
41
|
-
|
|
42
|
-
- name: 衝突升級
|
|
43
|
-
when: 成員之間無法自行解決衝突
|
|
44
|
-
who: any → team-lead
|
|
45
|
-
content: 衝突描述、雙方的立場、各自的理由
|
|
46
|
-
|
|
47
|
-
- name: 同步確認
|
|
48
|
-
when: 成員完成一個階段性的修改,需要確認與其他人一致
|
|
49
|
-
who: any → all related members
|
|
50
|
-
content: 完成的修改摘要、當前的介面狀態
|
|
51
|
-
|
|
52
|
-
- name: 完成宣告
|
|
53
|
-
when: 成員確認自己的部分已完成且與所有人一致
|
|
54
|
-
who: member → team-lead
|
|
55
|
-
content: 完成的工作摘要、已確認一致的成員名單
|
|
56
|
-
|
|
57
|
-
broadcast_policy: |
|
|
58
|
-
Hive 的 broadcast 使用頻率比 Forge 高,但仍需節制:
|
|
59
|
-
- ✅ 全局介面變更(影響所有人)
|
|
60
|
-
- ✅ Team Lead 裁決衝突後的結論
|
|
61
|
-
- ✅ 整體方向調整
|
|
62
|
-
- ❌ 只影響一兩個人的局部變更(用 message)
|
|
63
|
-
|
|
64
|
-
# ─────────────────────────────────────────
|
|
65
|
-
# 成員定義(動態,由 Lead 根據任務決定)
|
|
66
|
-
# ─────────────────────────────────────────
|
|
67
|
-
|
|
68
|
-
members:
|
|
69
|
-
roles:
|
|
70
|
-
- id: worker
|
|
71
|
-
name: Worker
|
|
72
|
-
count: "2-4(由 Lead 根據任務決定)"
|
|
73
|
-
description: |
|
|
74
|
-
Hive 的成員沒有固定角色(不是 Designer/Implementer/Reviewer)。
|
|
75
|
-
每個人都是 Worker,各自負責一塊範圍,但所有人的工作互相影響。
|
|
76
|
-
差別只在分配到的 scope,不在角色。
|
|
77
|
-
responsibilities:
|
|
78
|
-
- 在分配的範圍內完成工作
|
|
79
|
-
- 修改影響他人的內容時即時通知
|
|
80
|
-
- 收到他人的變更通知時評估影響並調整
|
|
81
|
-
- 發現衝突時嘗試自行解決,解決不了就升級
|
|
82
|
-
- 完成後確認與所有相關成員的介面一致
|
|
83
|
-
sends_to: [all_workers, team-lead]
|
|
84
|
-
receives_from: [all_workers, team-lead]
|
|
85
|
-
|
|
86
|
-
# ─────────────────────────────────────────
|
|
87
|
-
# 生命週期
|
|
88
|
-
# ─────────────────────────────────────────
|
|
89
|
-
|
|
90
|
-
lifecycle:
|
|
91
|
-
phases:
|
|
92
|
-
- phase: deploy
|
|
93
|
-
description: 建立團隊、分工、同步初始狀態
|
|
94
|
-
lead_actions:
|
|
95
|
-
- 建立團隊(TeamCreate)
|
|
96
|
-
- 分析任務,劃分工作範圍(scope 可以有少量重疊,因為有溝通能力)
|
|
97
|
-
- 同時派出所有 Worker
|
|
98
|
-
- Broadcast 整體目標和每個人的範圍
|
|
99
|
-
exit_criteria:
|
|
100
|
-
- 所有 Worker 已啟動
|
|
101
|
-
- 每個人知道自己的範圍和隊友的範圍
|
|
102
|
-
|
|
103
|
-
- phase: swarm
|
|
104
|
-
description: 所有人同時工作、即時溝通、持續調整
|
|
105
|
-
lead_actions:
|
|
106
|
-
- 監控成員之間的溝通
|
|
107
|
-
- 收到衝突升級時裁決
|
|
108
|
-
- 定期檢查整體進度(不微管理)
|
|
109
|
-
member_actions:
|
|
110
|
-
- 在自己的範圍內工作
|
|
111
|
-
- 變更影響他人 → 通知
|
|
112
|
-
- 收到通知 → 評估 → 調整
|
|
113
|
-
- 衝突 → 先嘗試自行解決 → 解決不了升級
|
|
114
|
-
exit_criteria:
|
|
115
|
-
- 所有 Worker 宣告完成
|
|
116
|
-
- 所有跨邊界介面已確認一致
|
|
117
|
-
|
|
118
|
-
- phase: converge
|
|
119
|
-
description: 收斂驗證 — 確認所有人的產出整合正確
|
|
120
|
-
lead_actions:
|
|
121
|
-
- 全量測試
|
|
122
|
-
- 檢查跨邊界的介面一致性
|
|
123
|
-
- 處理最後的整合問題
|
|
124
|
-
exit_criteria:
|
|
125
|
-
- 無編譯/型別錯誤
|
|
126
|
-
- 測試通過
|
|
127
|
-
- 所有 Worker 確認完成
|
|
128
|
-
|
|
129
|
-
- phase: teardown
|
|
130
|
-
description: 收集成果、關閉團隊
|
|
131
|
-
lead_actions:
|
|
132
|
-
- 收集每個 Worker 的工作摘要
|
|
133
|
-
- 整合為完成報告
|
|
134
|
-
- shutdown_request 給所有成員
|
|
135
|
-
|
|
136
|
-
# ─────────────────────────────────────────
|
|
137
|
-
# 輸入輸出
|
|
138
|
-
# ─────────────────────────────────────────
|
|
139
|
-
|
|
140
|
-
input:
|
|
141
|
-
required:
|
|
142
|
-
- task: 任務 ID 或描述
|
|
143
|
-
optional:
|
|
144
|
-
- scope_map: 預先劃分的工作範圍(如有,跳過 Lead 的範圍劃分)
|
|
145
|
-
- constraints: 全局約束
|
|
146
|
-
|
|
147
|
-
output:
|
|
148
|
-
primary: |
|
|
149
|
-
完成報告:
|
|
150
|
-
- 各 Worker 的工作摘要
|
|
151
|
-
- 跨邊界介面最終狀態
|
|
152
|
-
- 測試結果
|
|
153
|
-
secondary: |
|
|
154
|
-
- 發生的衝突和解決方式
|
|
155
|
-
- 建議的後續任務
|
|
156
|
-
|
|
157
|
-
# ─────────────────────────────────────────
|
|
158
|
-
# 行為準則(Team Lead)
|
|
159
|
-
# ─────────────────────────────────────────
|
|
160
|
-
|
|
161
|
-
behavior:
|
|
162
|
-
- Hive 是最昂貴的模式 — 只在工作真的高度耦合時使用
|
|
163
|
-
- 控制團隊規模:2-4 個 Worker(超過 4 個溝通開銷會爆炸)
|
|
164
|
-
- scope 可以有少量重疊(Hive 的溝通能力可以處理),但盡量減少
|
|
165
|
-
- 不微管理 — 讓成員自己協調,只在衝突升級時介入
|
|
166
|
-
- 裁決衝突時要快、要明確,不要模棱兩可
|
|
167
|
-
- swarm 階段可能持續較久,這是正常的 — 即時協調本來就需要時間
|
|
168
|
-
|
|
169
|
-
# ─────────────────────────────────────────
|
|
170
|
-
# 成員 Prompt 模板
|
|
171
|
-
# ─────────────────────────────────────────
|
|
172
|
-
|
|
173
|
-
member_prompts:
|
|
174
|
-
worker: |
|
|
175
|
-
## Role
|
|
176
|
-
你是 Hive 的 Worker — 蜂巢的一員,與所有隊友即時協作。
|
|
177
|
-
|
|
178
|
-
## 你的職責
|
|
179
|
-
- 在分配的範圍內完成工作
|
|
180
|
-
- **修改任何可能影響隊友的東西時,立即通知**
|
|
181
|
-
- 收到隊友的變更通知 → 評估影響 → 調整自己的工作
|
|
182
|
-
- 發現衝突 → 先跟對方溝通解決 → 解決不了升級給 team-lead
|
|
183
|
-
|
|
184
|
-
## 溝通規則(重要)
|
|
185
|
-
- 你可以跟任何隊友直接溝通(SendMessage)
|
|
186
|
-
- 修改了介面、型別、或可能影響他人的行為 → **必須通知**
|
|
187
|
-
- 不確定會不會影響 → **寧可通知,不要不通知**
|
|
188
|
-
- 收到通知後要回覆確認(「已調整」或「不影響我」)
|
|
189
|
-
|
|
190
|
-
## 你的隊友
|
|
191
|
-
{teammates_info}
|
|
192
|
-
|
|
193
|
-
## 你負責的範圍
|
|
194
|
-
{worker_scope}
|
|
195
|
-
|
|
196
|
-
## 整體目標
|
|
197
|
-
{overall_goal}
|
|
198
|
-
|
|
199
|
-
# ─────────────────────────────────────────
|
|
200
|
-
# 任務系統整合
|
|
201
|
-
# ─────────────────────────────────────────
|
|
202
|
-
|
|
203
|
-
collaboration:
|
|
204
|
-
task_api: node .collaboration/core/task-api.js
|
|
205
|
-
|
|
206
|
-
workflow:
|
|
207
|
-
- step: 讀取任務
|
|
208
|
-
run: node .collaboration/core/task-api.js get {task_id}
|
|
209
|
-
|
|
210
|
-
- step: 認領任務
|
|
211
|
-
run: node .collaboration/core/task-api.js claim {task_id}
|
|
212
|
-
|
|
213
|
-
- step: deploy 階段
|
|
214
|
-
actions:
|
|
215
|
-
- 建立團隊(TeamCreate)
|
|
216
|
-
- 分析任務、劃分範圍
|
|
217
|
-
- 同時派出所有 Worker
|
|
218
|
-
- Broadcast 目標和範圍
|
|
219
|
-
|
|
220
|
-
- step: swarm 階段
|
|
221
|
-
actions:
|
|
222
|
-
- 監控溝通、裁決衝突
|
|
223
|
-
- 等待所有 Worker 宣告完成
|
|
224
|
-
|
|
225
|
-
- step: converge 階段
|
|
226
|
-
actions:
|
|
227
|
-
- 全量測試
|
|
228
|
-
- 處理最後整合問題
|
|
229
|
-
|
|
230
|
-
- step: teardown
|
|
231
|
-
actions:
|
|
232
|
-
- 收集成果,關閉團隊
|
|
233
|
-
|
|
234
|
-
- step: 完成任務
|
|
235
|
-
run: node .collaboration/core/task-api.js complete {task_id}
|
|
236
|
-
|
|
237
|
-
on_blocked:
|
|
238
|
-
run: node .collaboration/core/task-api.js move {task_id} blocked
|
|
@@ -1,192 +0,0 @@
|
|
|
1
|
-
skill: blitz
|
|
2
|
-
formation: squad
|
|
3
|
-
version: "1.0"
|
|
4
|
-
|
|
5
|
-
name: Blitz Squad
|
|
6
|
-
description: |
|
|
7
|
-
通用並行拆分。一個任務拆成 N 個獨立子任務,每個成員拿到不同的子任務描述和檔案範圍。
|
|
8
|
-
與 sweep 的差別:sweep 是「同一個規則套 N 個地方」,blitz 是「同一個目標拆成 N 件不同的事」。
|
|
9
|
-
成員之間不通訊,各自獨立完成,Lead 整合。
|
|
10
|
-
|
|
11
|
-
# ─────────────────────────────────────────
|
|
12
|
-
# Squad 共用設定
|
|
13
|
-
# ─────────────────────────────────────────
|
|
14
|
-
|
|
15
|
-
role:
|
|
16
|
-
identity: |
|
|
17
|
-
你是 Blitz Squad 的調度者。
|
|
18
|
-
你把一個大任務拆成互不依賴的子任務,每個子任務分配給一個成員。
|
|
19
|
-
你確保拆分乾淨(無依賴、無重疊),最後整合所有成果。
|
|
20
|
-
priority: 拆分品質決定一切。子任務之間有依賴就不該用 Squad。
|
|
21
|
-
|
|
22
|
-
# ─────────────────────────────────────────
|
|
23
|
-
# 任務拆分策略
|
|
24
|
-
# ─────────────────────────────────────────
|
|
25
|
-
|
|
26
|
-
split:
|
|
27
|
-
strategy: by-subtask
|
|
28
|
-
description: |
|
|
29
|
-
按子任務拆分:把一個大目標拆成功能上獨立的子任務。
|
|
30
|
-
每個成員拿到不同的子任務描述 + 不重疊的檔案範圍。
|
|
31
|
-
不限定角色(不是「前端/後端」的固定套路),純粹按任務邊界拆。
|
|
32
|
-
rules:
|
|
33
|
-
- 每個子任務必須能獨立完成,不依賴其他子任務的產出
|
|
34
|
-
- 每個成員的 scope_paths 不得重疊
|
|
35
|
-
- 如果拆出來的子任務之間有「A 做完才能做 B」的關係,不要用 Squad
|
|
36
|
-
- 如果子任務只有 1 個,不要用 Squad,降級到 Unit
|
|
37
|
-
- 如果子任務之間需要協調介面(如 API 契約),考慮升級到 Legion
|
|
38
|
-
|
|
39
|
-
# ─────────────────────────────────────────
|
|
40
|
-
# 成員定義(動態生成)
|
|
41
|
-
# ─────────────────────────────────────────
|
|
42
|
-
|
|
43
|
-
members:
|
|
44
|
-
# Blitz 的成員不是預定義角色,而是根據子任務動態生成
|
|
45
|
-
# 以下是模板:lead 根據實際拆分複製 N 份
|
|
46
|
-
- id: "part_{n}"
|
|
47
|
-
name: "子任務 {n} 執行者"
|
|
48
|
-
skill: do
|
|
49
|
-
role: |
|
|
50
|
-
你負責完成分配給你的子任務。
|
|
51
|
-
嚴格在你的 scope 範圍內工作,不要碰其他成員負責的檔案。
|
|
52
|
-
如果發現你的子任務其實依賴其他部分的產出,在摘要中標記為阻塞,不要猜測。
|
|
53
|
-
scope:
|
|
54
|
-
include: "{由 lead 在 split 階段動態分配}"
|
|
55
|
-
exclude: "{由 lead 在 split 階段動態指定}"
|
|
56
|
-
behavior:
|
|
57
|
-
- 先讀 shared_context 了解整體目標和你的子任務描述
|
|
58
|
-
- 只做你負責的部分,不要「順便」改其他東西
|
|
59
|
-
- 如果發現隱含依賴(需要其他成員的產出),標記為阻塞
|
|
60
|
-
- 完成後在摘要中列出:已完成 / 阻塞(附原因)/ 風險點
|
|
61
|
-
output: |
|
|
62
|
-
子任務報告:
|
|
63
|
-
- 完成的功能 / 修改摘要
|
|
64
|
-
- 修改的檔案清單
|
|
65
|
-
- 阻塞項目(如有)
|
|
66
|
-
- 需要 Lead 注意的風險點
|
|
67
|
-
|
|
68
|
-
# ─────────────────────────────────────────
|
|
69
|
-
# 共享上下文
|
|
70
|
-
# ─────────────────────────────────────────
|
|
71
|
-
|
|
72
|
-
shared_context:
|
|
73
|
-
description: |
|
|
74
|
-
Blitz 的共享上下文包含整體目標和每個成員的子任務描述。
|
|
75
|
-
每個成員看到完整目標(知道 big picture)但只執行自己的子任務。
|
|
76
|
-
includes:
|
|
77
|
-
- overall_goal: 整體任務目標(讓每個成員知道自己是大拼圖的哪一塊)
|
|
78
|
-
- subtask_description: 這個成員負責的具體子任務描述
|
|
79
|
-
- constraints: 全局約束(命名慣例、技術棧限制、禁止事項)
|
|
80
|
-
|
|
81
|
-
# ─────────────────────────────────────────
|
|
82
|
-
# 成果整合策略
|
|
83
|
-
# ─────────────────────────────────────────
|
|
84
|
-
|
|
85
|
-
merge:
|
|
86
|
-
strategy: collect-and-integrate
|
|
87
|
-
description: |
|
|
88
|
-
收集所有成員的產出,驗證整合正確性,處理邊界。
|
|
89
|
-
steps:
|
|
90
|
-
- step: 收集報告
|
|
91
|
-
action: 等待所有成員回報
|
|
92
|
-
on_partial_failure: |
|
|
93
|
-
某個子任務失敗不一定影響其他子任務。
|
|
94
|
-
評估失敗的子任務是否阻塞整體目標:
|
|
95
|
-
- 不阻塞 → 成功部分先整合,失敗部分建立新任務
|
|
96
|
-
- 阻塞 → 整體標記為部分完成,明確列出缺失
|
|
97
|
-
|
|
98
|
-
- step: 驗證整合
|
|
99
|
-
action: |
|
|
100
|
-
檢查所有子任務的產出能否拼在一起:
|
|
101
|
-
- 檔案沒有衝突(scope 不重疊保證了這點)
|
|
102
|
-
- import / 引用路徑正確
|
|
103
|
-
- 整體功能可用(不是各自能跑但合在一起壞掉)
|
|
104
|
-
|
|
105
|
-
- step: 處理邊界
|
|
106
|
-
action: |
|
|
107
|
-
子任務之間的邊界處可能需要 Lead 手動銜接:
|
|
108
|
-
- 串接各部分的入口點
|
|
109
|
-
- 確保共用的型別或常量一致
|
|
110
|
-
- 修正任何整合縫隙
|
|
111
|
-
|
|
112
|
-
- step: 提交
|
|
113
|
-
action: |
|
|
114
|
-
所有驗證通過後,統一 commit。
|
|
115
|
-
commit message 格式:[BLITZ] {overall_goal 摘要} ({N} subtasks)
|
|
116
|
-
|
|
117
|
-
# ─────────────────────────────────────────
|
|
118
|
-
# 輸入輸出
|
|
119
|
-
# ─────────────────────────────────────────
|
|
120
|
-
|
|
121
|
-
input:
|
|
122
|
-
required:
|
|
123
|
-
- task: 任務 ID 或功能描述
|
|
124
|
-
optional:
|
|
125
|
-
- subtasks: 預先拆好的子任務列表(如有,跳過 split 階段)
|
|
126
|
-
- max_members: 最大成員數(預設 3,上限 5)
|
|
127
|
-
- constraints: 全局約束
|
|
128
|
-
|
|
129
|
-
output:
|
|
130
|
-
primary: |
|
|
131
|
-
整合報告:
|
|
132
|
-
- 各子任務完成狀態
|
|
133
|
-
- 整合驗證結果
|
|
134
|
-
- 所有變更的檔案清單
|
|
135
|
-
secondary: |
|
|
136
|
-
後續行動:
|
|
137
|
-
- 阻塞的子任務(需重試或升級到 Legion)
|
|
138
|
-
- 邊界處的手動修正記錄
|
|
139
|
-
- 是否需要後續整合測試
|
|
140
|
-
|
|
141
|
-
# ─────────────────────────────────────────
|
|
142
|
-
# 行為準則
|
|
143
|
-
# ─────────────────────────────────────────
|
|
144
|
-
|
|
145
|
-
behavior:
|
|
146
|
-
- 拆分是最關鍵的步驟。拆不乾淨就不要硬拆,降級到 Unit 逐個做
|
|
147
|
-
- 不要超過 4 個成員,成本和整合複雜度會失控
|
|
148
|
-
- 如果子任務之間需要溝通(API 契約、共享型別定義),升級到 Legion
|
|
149
|
-
- shared_context 要寫清楚整體目標,讓每個成員知道自己在做什麼
|
|
150
|
-
- 整合階段可能需要 Lead 親自修邊界,這是正常的
|
|
151
|
-
|
|
152
|
-
# ─────────────────────────────────────────
|
|
153
|
-
# 協作流程
|
|
154
|
-
# ─────────────────────────────────────────
|
|
155
|
-
|
|
156
|
-
collaboration:
|
|
157
|
-
task_api: node .collaboration/core/task-api.js
|
|
158
|
-
|
|
159
|
-
workflow:
|
|
160
|
-
- step: 讀取任務
|
|
161
|
-
run: node .collaboration/core/task-api.js get {task_id}
|
|
162
|
-
note: 取得任務的完整資訊
|
|
163
|
-
|
|
164
|
-
- step: 認領任務
|
|
165
|
-
run: node .collaboration/core/task-api.js claim {task_id}
|
|
166
|
-
|
|
167
|
-
- step: 拆分子任務
|
|
168
|
-
actions:
|
|
169
|
-
- 分析任務,找出可獨立完成的子任務
|
|
170
|
-
- 驗證子任務之間無依賴(有依賴 → 不用 Squad)
|
|
171
|
-
- 為每個子任務定義 scope_paths(不重疊)
|
|
172
|
-
- 撰寫 shared_context(overall_goal + 每個成員的 subtask_description)
|
|
173
|
-
|
|
174
|
-
- step: 並行派遣
|
|
175
|
-
actions:
|
|
176
|
-
- 同時啟動所有成員的 subagent
|
|
177
|
-
- 每個成員的 prompt 包含:角色定義 + shared_context + 子任務描述 + scope
|
|
178
|
-
- 成員之間不通訊,各自獨立完成
|
|
179
|
-
|
|
180
|
-
- step: 整合成果
|
|
181
|
-
actions:
|
|
182
|
-
- 收集所有成員的產出
|
|
183
|
-
- 按 merge.steps 驗證和整合
|
|
184
|
-
- Lead 修邊界(如需要)
|
|
185
|
-
|
|
186
|
-
- step: 完成任務
|
|
187
|
-
run: node .collaboration/core/task-api.js complete {task_id}
|
|
188
|
-
note: 整合成功後,標記任務完成
|
|
189
|
-
|
|
190
|
-
on_blocked:
|
|
191
|
-
run: node .collaboration/core/task-api.js move {task_id} blocked
|
|
192
|
-
note: 子任務之間有隱含依賴,無法乾淨拆分
|