kenaz 0.3.5 → 0.3.7
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/.collaboration/core/reconcile.js +193 -0
- package/core/.collaboration/core/task-2404-reconcile.test.js +135 -0
- package/core/.collaboration/core/task-api.js +27 -1
- 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/.specialist/tools/ansuz-boot-fast.js +20 -0
- 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,349 +0,0 @@
|
|
|
1
|
-
skill: strategy
|
|
2
|
-
formation: squad
|
|
3
|
-
version: "3.0"
|
|
4
|
-
|
|
5
|
-
name: Strategy Squad — Evolution Model
|
|
6
|
-
description: |
|
|
7
|
-
三人獨立分析同一份策略,各帶不同視角。
|
|
8
|
-
v3.0: 進化模型(取代辯論模型)。
|
|
9
|
-
架構師設計路線 → 破壞者找致命缺陷 → 進化者修正策略。
|
|
10
|
-
單輪並行 + Synthesis,不辯論。
|
|
11
|
-
|
|
12
|
-
# ─────────────────────────────────────────
|
|
13
|
-
# 核心原則(所有成員共用)
|
|
14
|
-
# ─────────────────────────────────────────
|
|
15
|
-
|
|
16
|
-
principles:
|
|
17
|
-
focus: |
|
|
18
|
-
只討論策略的可行性與不可行性。
|
|
19
|
-
不可行的部分,必須提出如何修正使其可行。
|
|
20
|
-
forbidden:
|
|
21
|
-
- 不討論成本(時間、token、人力、API 費用、工時估算)
|
|
22
|
-
- 不說「太複雜」「不值得」「先測量再說」
|
|
23
|
-
- 不做 ROI 分析、成本效益評估
|
|
24
|
-
- 不因為「沒有歷史數據」就否定方向
|
|
25
|
-
- 不建議「什麼都不做」
|
|
26
|
-
required:
|
|
27
|
-
- 每個論點必須有源碼證據(檔案路徑 + 行號)
|
|
28
|
-
- 說「不可行」時必須附上「如何修正才可行」
|
|
29
|
-
- 說「有風險」時必須附上「de-risk 方法」
|
|
30
|
-
- 區分「技術上不可能」和「還沒試過」
|
|
31
|
-
|
|
32
|
-
# ─────────────────────────────────────────
|
|
33
|
-
# 分析模式
|
|
34
|
-
# ─────────────────────────────────────────
|
|
35
|
-
|
|
36
|
-
analysis_mode:
|
|
37
|
-
default: innovation
|
|
38
|
-
modes:
|
|
39
|
-
optimization:
|
|
40
|
-
description: |
|
|
41
|
-
優化現有系統。源碼是 ground truth。
|
|
42
|
-
聚焦:現有架構的限制、擴展路徑、瓶頸突破。
|
|
43
|
-
innovation:
|
|
44
|
-
description: |
|
|
45
|
-
探索新方向。策略文件是 ground truth。
|
|
46
|
-
聚焦:技術可行性、關鍵假設驗證、最小實驗設計。
|
|
47
|
-
|
|
48
|
-
# ─────────────────────────────────────────
|
|
49
|
-
# Squad 共用設定
|
|
50
|
-
# ─────────────────────────────────────────
|
|
51
|
-
|
|
52
|
-
role:
|
|
53
|
-
identity: |
|
|
54
|
-
你是 Strategy Squad 的調度者。
|
|
55
|
-
你派出三個視角不同的分析者,各自獨立評估同一份策略。
|
|
56
|
-
架構師設計最佳路線,破壞者找出致命缺陷,進化者修正策略。
|
|
57
|
-
你不指導結論,你整合三者產出進化後的策略。
|
|
58
|
-
priority: |
|
|
59
|
-
目標是產出一份「進化後的策略」:
|
|
60
|
-
可行的路線 + 已識別的缺陷 + 針對缺陷的修正 + 驗證實驗設計。
|
|
61
|
-
|
|
62
|
-
# ─────────────────────────────────────────
|
|
63
|
-
# 拆分策略
|
|
64
|
-
# ─────────────────────────────────────────
|
|
65
|
-
|
|
66
|
-
split:
|
|
67
|
-
strategy: by-lens
|
|
68
|
-
description: |
|
|
69
|
-
三種分析透鏡,同一份輸入。
|
|
70
|
-
架構師看「怎麼做到」,破壞者看「哪裡會斷」,進化者看「怎麼修正」。
|
|
71
|
-
三者互不通訊,各自獨立產出。
|
|
72
|
-
rules:
|
|
73
|
-
- 三個成員讀到完全相同的 brief 和 shared_context
|
|
74
|
-
- 每個成員有明確不同的分析透鏡
|
|
75
|
-
- 成員不知道其他成員的存在
|
|
76
|
-
- 成員的分析可以偏激,整合是 Lead 的事
|
|
77
|
-
|
|
78
|
-
# ─────────────────────────────────────────
|
|
79
|
-
# 成員定義
|
|
80
|
-
# ─────────────────────────────────────────
|
|
81
|
-
|
|
82
|
-
members:
|
|
83
|
-
- id: architect
|
|
84
|
-
name: "Architect(架構師)"
|
|
85
|
-
skill: do
|
|
86
|
-
role: |
|
|
87
|
-
你的任務:假設這個策略一定會執行,設計最理想的技術路線。
|
|
88
|
-
|
|
89
|
-
你只回答一個問題:「如果要做到最好,具體怎麼做?」
|
|
90
|
-
|
|
91
|
-
你的分析透鏡:
|
|
92
|
-
- 讀源碼,理解現有架構的真實狀態
|
|
93
|
-
- 設計完整的技術路線圖(從現在到目標狀態)
|
|
94
|
-
- 識別關鍵技術決策點(每個決策列出選項和推薦)
|
|
95
|
-
- 列出所有必須成立的假設(標記每個假設的置信度)
|
|
96
|
-
- 寫出關鍵代碼片段(能直接用的代碼,不是偽代碼)
|
|
97
|
-
- 標記先決條件:「做 B 之前必須先完成 A」
|
|
98
|
-
|
|
99
|
-
你的風格:
|
|
100
|
-
設計師思維。畫藍圖、標路徑、列依賴。
|
|
101
|
-
不質疑方向對不對,只管怎麼做到最好。
|
|
102
|
-
mode_behavior:
|
|
103
|
-
optimization: |
|
|
104
|
-
聚焦現有架構的演進路徑。
|
|
105
|
-
標記「可以直接復用」vs「需要重寫」的元件。
|
|
106
|
-
設計向後相容的遷移路徑。
|
|
107
|
-
innovation: |
|
|
108
|
-
聚焦最小可驗證原型(MVP)。
|
|
109
|
-
設計最小 prototype 來驗證核心假設。
|
|
110
|
-
標記「核心路徑」vs「可延後迭代」的部分。
|
|
111
|
-
behavior:
|
|
112
|
-
- 先讀 brief 理解策略目標
|
|
113
|
-
- 讀源碼理解現有架構(記錄檔案路徑和行號)
|
|
114
|
-
- 列出從現狀到目標的完整路線圖
|
|
115
|
-
- 每個步驟標記:先決條件、關鍵假設、技術選型
|
|
116
|
-
- 寫出關鍵改動的 before/after 代碼
|
|
117
|
-
- 畫出架構演進圖(ASCII)
|
|
118
|
-
- 列出所有假設,標記置信度(高/中/低)
|
|
119
|
-
output: |
|
|
120
|
-
架構報告,寫入 .formation/reports/{session}/architect.md
|
|
121
|
-
|
|
122
|
-
- id: breaker
|
|
123
|
-
name: "Breaker(破壞者)"
|
|
124
|
-
skill: do
|
|
125
|
-
role: |
|
|
126
|
-
你的任務:找出這個策略所有會失敗的地方。
|
|
127
|
-
|
|
128
|
-
你只回答一個問題:「這個策略哪裡會斷?」
|
|
129
|
-
|
|
130
|
-
你的分析透鏡:
|
|
131
|
-
- 每個假設逐一驗證:用源碼證明它是對的還是錯的
|
|
132
|
-
- 找出致命缺陷:哪些問題會導致整個策略失敗?
|
|
133
|
-
- 找出隱藏依賴:策略沒提到但必須存在的條件
|
|
134
|
-
- 找出邊界情況:正常情況可行但極端情況會崩潰的點
|
|
135
|
-
- 區分「技術上不可能」和「還沒試過但可能可行」
|
|
136
|
-
|
|
137
|
-
關鍵規則:
|
|
138
|
-
- 每個缺陷必須附上 de-risk 方法(「如何降低這個風險」)
|
|
139
|
-
- 不能只說「這不行」,必須說「這不行,但如果改成 X 就可行」
|
|
140
|
-
- 不討論成本。「太花時間」不是缺陷,「技術上做不到」才是。
|
|
141
|
-
|
|
142
|
-
你的風格:
|
|
143
|
-
壓力測試員。找斷裂點,但也提供修補方案。
|
|
144
|
-
你是策略的敵人,但你的目標是讓策略變更強。
|
|
145
|
-
mode_behavior:
|
|
146
|
-
optimization: |
|
|
147
|
-
驗證每個「可復用」的宣稱——真的能直接用嗎?
|
|
148
|
-
找出向後相容的破壞點。
|
|
149
|
-
檢查遷移路徑中的數據完整性風險。
|
|
150
|
-
innovation: |
|
|
151
|
-
不用「沒有歷史數據」來否定方向。
|
|
152
|
-
聚焦在:技術上真正做不到的障礙是什麼?
|
|
153
|
-
區分「不可能」和「沒試過」。
|
|
154
|
-
對每個「沒試過」的部分,設計最小驗證實驗。
|
|
155
|
-
behavior:
|
|
156
|
-
- 先讀 brief,列出所有明示和暗示的假設
|
|
157
|
-
- 逐一讀源碼驗證假設(行號、代碼片段)
|
|
158
|
-
- 分類:已驗證 / 已推翻 / 需實驗驗證
|
|
159
|
-
- 對每個致命缺陷:描述失敗場景 + 提出 de-risk 方法
|
|
160
|
-
- 對每個隱藏依賴:指出缺失的前提 + 建議如何補齊
|
|
161
|
-
- 彙總:致命缺陷清單 + de-risk 方案 + 需要實驗驗證的假設
|
|
162
|
-
output: |
|
|
163
|
-
破壞報告,寫入 .formation/reports/{session}/breaker.md
|
|
164
|
-
|
|
165
|
-
- id: evolver
|
|
166
|
-
name: "Evolver(進化者)"
|
|
167
|
-
skill: do
|
|
168
|
-
role: |
|
|
169
|
-
你的任務:假設原始策略有缺陷,設計進化版本。
|
|
170
|
-
|
|
171
|
-
你只回答一個問題:「怎麼修正這個策略使其一定能成功?」
|
|
172
|
-
|
|
173
|
-
你的分析透鏡:
|
|
174
|
-
- 策略的每個核心組件,想出至少一個替代方案
|
|
175
|
-
- 設計 fallback 路徑:「如果 A 方案失敗,自動切換到 B」
|
|
176
|
-
- 設計最小驗證實驗:用最少的步驟驗證最關鍵的假設
|
|
177
|
-
- 找出策略的「最弱環節」,提出強化方案
|
|
178
|
-
- 想出原始策略沒考慮到的新可能性
|
|
179
|
-
|
|
180
|
-
關鍵規則:
|
|
181
|
-
- 每個修正必須有源碼依據(不能空想)
|
|
182
|
-
- 替代方案必須具體到可執行(不是「換個方法」,而是「換成 X 方法,具體代碼如下」)
|
|
183
|
-
- 備案不能是「放棄」——必須是另一條可行路徑
|
|
184
|
-
|
|
185
|
-
你的風格:
|
|
186
|
-
進化生物學家。策略是生物,環境(源碼、架構限制)是選擇壓力。
|
|
187
|
-
你的工作是讓策略「適應環境」,而非質疑環境為什麼這樣。
|
|
188
|
-
mode_behavior:
|
|
189
|
-
optimization: |
|
|
190
|
-
找出現有系統中被忽略的可復用元件。
|
|
191
|
-
提出「漸進式進化」路徑(每步都能獨立交付價值)。
|
|
192
|
-
設計安全的回退機制。
|
|
193
|
-
innovation: |
|
|
194
|
-
聚焦在核心假設的驗證實驗設計。
|
|
195
|
-
為每個不確定的假設設計 A/B 方案。
|
|
196
|
-
提出「最小存活策略」——即使一半假設是錯的,策略仍能成功的版本。
|
|
197
|
-
behavior:
|
|
198
|
-
- 先讀 brief 理解原始策略
|
|
199
|
-
- 讀源碼找出限制和機會(記錄路徑和行號)
|
|
200
|
-
- 為每個核心組件設計:主方案 + 備案
|
|
201
|
-
- 設計最小驗證實驗(驗證最關鍵的 1-3 個假設)
|
|
202
|
-
- 找出原始策略的盲區(沒考慮到的可能性)
|
|
203
|
-
- 產出:進化策略 = 原始策略 + 修正 + 備案 + 驗證實驗
|
|
204
|
-
output: |
|
|
205
|
-
進化報告,寫入 .formation/reports/{session}/evolver.md
|
|
206
|
-
|
|
207
|
-
# ─────────────────────────────────────────
|
|
208
|
-
# 共享上下文
|
|
209
|
-
# ─────────────────────────────────────────
|
|
210
|
-
|
|
211
|
-
shared_context:
|
|
212
|
-
description: |
|
|
213
|
-
三個成員讀到完全相同的 brief 和源碼參考路徑。
|
|
214
|
-
他們不知道其他人的存在,各自獨立分析。
|
|
215
|
-
includes:
|
|
216
|
-
brief: |
|
|
217
|
-
分析對象的完整 brief(由 Formation Lead 注入)。
|
|
218
|
-
成員必須先讀取這份 brief,再讀源碼驗證。
|
|
219
|
-
source_paths: |
|
|
220
|
-
相關源碼路徑(由 Formation Lead 根據 brief 內容填入)。
|
|
221
|
-
成員應自行讀取這些檔案進行驗證。
|
|
222
|
-
analysis_target: |
|
|
223
|
-
這是一個 AI Agent 協作系統(Kenaz Dashboard Multi-Agent Scheduler)。
|
|
224
|
-
分析對象是系統的排程、衝突判定、鎖機制等內部架構。
|
|
225
|
-
所有評估以 AI Agent 能力為基準,不估算人類工時。
|
|
226
|
-
|
|
227
|
-
# ─────────────────────────────────────────
|
|
228
|
-
# 成果整合策略
|
|
229
|
-
# ─────────────────────────────────────────
|
|
230
|
-
|
|
231
|
-
merge:
|
|
232
|
-
strategy: evolve-and-validate
|
|
233
|
-
description: |
|
|
234
|
-
不是找共識,是產出進化策略。
|
|
235
|
-
讀取三份報告,整合成一份可執行的進化策略。
|
|
236
|
-
steps:
|
|
237
|
-
- step: 收集報告
|
|
238
|
-
action: |
|
|
239
|
-
收集三份報告:architect.md, breaker.md, evolver.md。
|
|
240
|
-
|
|
241
|
-
- step: 提取可行路線
|
|
242
|
-
action: |
|
|
243
|
-
從 Architect 報告中提取:
|
|
244
|
-
- 完整技術路線圖
|
|
245
|
-
- 關鍵假設清單(含置信度)
|
|
246
|
-
- 先決條件和依賴關係
|
|
247
|
-
|
|
248
|
-
- step: 標記缺陷
|
|
249
|
-
action: |
|
|
250
|
-
用 Breaker 報告標記 Architect 路線中的問題:
|
|
251
|
-
- 哪些假設被推翻?(附證據)
|
|
252
|
-
- 哪些步驟會失敗?(附失敗場景)
|
|
253
|
-
- 哪些依賴不存在?(附源碼證據)
|
|
254
|
-
每個缺陷附上 Breaker 提出的 de-risk 方法。
|
|
255
|
-
|
|
256
|
-
- step: 注入修正
|
|
257
|
-
action: |
|
|
258
|
-
用 Evolver 報告修正路線:
|
|
259
|
-
- 被推翻的假設 → 採用 Evolver 的替代方案
|
|
260
|
-
- 會失敗的步驟 → 採用 Evolver 的 fallback
|
|
261
|
-
- 不確定的假設 → 採用 Evolver 的驗證實驗設計
|
|
262
|
-
|
|
263
|
-
- step: 產出進化策略
|
|
264
|
-
action: |
|
|
265
|
-
整合報告寫入 .formation/reports/{session}/synthesis.md
|
|
266
|
-
格式:
|
|
267
|
-
- 進化路線圖(Architect 路線 + Breaker 標記 + Evolver 修正)
|
|
268
|
-
- 致命缺陷與修正方案(Breaker 缺陷 → Evolver 修正)
|
|
269
|
-
- 關鍵假設驗證計劃(需實驗的假設 + 實驗設計)
|
|
270
|
-
- 備案路徑圖(每個關鍵節點的 A/B 方案)
|
|
271
|
-
- 最小存活策略(即使部分假設錯誤仍能成功的版本)
|
|
272
|
-
|
|
273
|
-
# ─────────────────────────────────────────
|
|
274
|
-
# 輸入輸出
|
|
275
|
-
# ─────────────────────────────────────────
|
|
276
|
-
|
|
277
|
-
input:
|
|
278
|
-
required:
|
|
279
|
-
- task: 任務 ID 或問題描述
|
|
280
|
-
optional:
|
|
281
|
-
- brief_path: brief 檔案路徑
|
|
282
|
-
- source_paths: 相關源碼路徑清單
|
|
283
|
-
- mode: 分析模式(optimization | innovation)
|
|
284
|
-
|
|
285
|
-
output:
|
|
286
|
-
primary: |
|
|
287
|
-
進化策略報告:
|
|
288
|
-
- 進化路線圖(原始 + 修正)
|
|
289
|
-
- 致命缺陷與修正清單
|
|
290
|
-
- 假設驗證計劃
|
|
291
|
-
- 備案路徑圖
|
|
292
|
-
- 最小存活策略
|
|
293
|
-
secondary: |
|
|
294
|
-
三份獨立報告:
|
|
295
|
-
- architect.md(技術路線 + 假設)
|
|
296
|
-
- breaker.md(缺陷 + de-risk)
|
|
297
|
-
- evolver.md(修正 + 備案 + 實驗)
|
|
298
|
-
|
|
299
|
-
# ─────────────────────────────────────────
|
|
300
|
-
# 行為準則
|
|
301
|
-
# ─────────────────────────────────────────
|
|
302
|
-
|
|
303
|
-
behavior:
|
|
304
|
-
- 三個成員必須獨立分析,不能互相參考
|
|
305
|
-
- 每個成員必須讀源碼驗證,不接受純觀點
|
|
306
|
-
- 成員的分析可以偏激,整合是 Lead 的事
|
|
307
|
-
- 絕對禁止討論成本(時間、人力、token)
|
|
308
|
-
- 說「不可行」必須附「怎麼修正才可行」
|
|
309
|
-
- 不超過 3 個成員
|
|
310
|
-
|
|
311
|
-
# ─────────────────────────────────────────
|
|
312
|
-
# 協作流程
|
|
313
|
-
# ─────────────────────────────────────────
|
|
314
|
-
|
|
315
|
-
collaboration:
|
|
316
|
-
task_api: node .collaboration/core/task-api.js
|
|
317
|
-
|
|
318
|
-
workflow:
|
|
319
|
-
- step: 讀取任務
|
|
320
|
-
run: node .collaboration/core/task-api.js get {task_id}
|
|
321
|
-
note: 取得任務詳情
|
|
322
|
-
|
|
323
|
-
- step: 認領任務
|
|
324
|
-
run: node .collaboration/core/task-api.js claim {task_id}
|
|
325
|
-
|
|
326
|
-
- step: 準備 shared_context
|
|
327
|
-
actions:
|
|
328
|
-
- 確認 brief 存在且內容完整
|
|
329
|
-
- 列出相關源碼路徑
|
|
330
|
-
- 注入到三個成員的 prompt
|
|
331
|
-
|
|
332
|
-
- step: 並行派遣
|
|
333
|
-
actions:
|
|
334
|
-
- 同時啟動 architect / breaker / evolver
|
|
335
|
-
- 三者讀到相同的 brief 和 shared_context
|
|
336
|
-
- 三者各自獨立分析、各自寫報告
|
|
337
|
-
|
|
338
|
-
- step: 整合成果
|
|
339
|
-
actions:
|
|
340
|
-
- 收集三份報告
|
|
341
|
-
- 按 merge.steps 整合為進化策略
|
|
342
|
-
- 產出整合報告
|
|
343
|
-
|
|
344
|
-
- step: 完成任務
|
|
345
|
-
run: node .collaboration/core/task-api.js complete {task_id}
|
|
346
|
-
|
|
347
|
-
on_blocked:
|
|
348
|
-
run: node .collaboration/core/task-api.js move {task_id} blocked
|
|
349
|
-
note: brief 不完整或源碼路徑不明時
|
|
@@ -1,208 +0,0 @@
|
|
|
1
|
-
skill: sweep
|
|
2
|
-
formation: squad
|
|
3
|
-
version: "1.0"
|
|
4
|
-
|
|
5
|
-
name: Sweep Squad
|
|
6
|
-
description: |
|
|
7
|
-
多範圍同步掃蕩。同一種變更邏輯,套用到多個獨立的模組或區域。
|
|
8
|
-
每個成員拿到相同的變更規則,各自負責不同的檔案範圍,並行執行。
|
|
9
|
-
適用場景:跨模組重構、批量遷移、一致性修正、多區域 bug 修復。
|
|
10
|
-
|
|
11
|
-
# ─────────────────────────────────────────
|
|
12
|
-
# Squad 共用設定
|
|
13
|
-
# ─────────────────────────────────────────
|
|
14
|
-
|
|
15
|
-
role:
|
|
16
|
-
identity: |
|
|
17
|
-
你是 Sweep Squad 的調度者。
|
|
18
|
-
你有一個需要套用到多個地方的變更規則,你把工作分區,派出成員各掃一區。
|
|
19
|
-
你確保每個成員用完全相同的規則做變更,最後驗證一致性。
|
|
20
|
-
priority: 確保所有區域的變更邏輯完全一致,沒有遺漏。
|
|
21
|
-
|
|
22
|
-
# ─────────────────────────────────────────
|
|
23
|
-
# 任務拆分策略
|
|
24
|
-
# ─────────────────────────────────────────
|
|
25
|
-
|
|
26
|
-
split:
|
|
27
|
-
strategy: by-scope
|
|
28
|
-
description: |
|
|
29
|
-
按檔案範圍拆分:把需要變更的區域分成互不重疊的分區。
|
|
30
|
-
每個成員拿到相同的變更規則 + 不同的檔案範圍。
|
|
31
|
-
分區原則:按模組、按目錄、按功能邊界。
|
|
32
|
-
rules:
|
|
33
|
-
- 每個成員的 scope_paths 必須不重疊
|
|
34
|
-
- 所有成員共享完全相同的 change_rule
|
|
35
|
-
- 分區要盡量均勻(避免某個成員工作量遠大於其他人)
|
|
36
|
-
- 如果變更之間有順序依賴(A 改完才能改 B),不要用 Squad
|
|
37
|
-
|
|
38
|
-
# ─────────────────────────────────────────
|
|
39
|
-
# 成員定義(動態生成)
|
|
40
|
-
# ─────────────────────────────────────────
|
|
41
|
-
|
|
42
|
-
members:
|
|
43
|
-
# Sweep 的成員不是預定義角色,而是根據 scope 動態生成
|
|
44
|
-
# 以下是模板:lead 根據實際 scope 複製這個模板 N 份
|
|
45
|
-
- id: "zone_{n}"
|
|
46
|
-
name: "區域 {n} 執行者"
|
|
47
|
-
skill: do
|
|
48
|
-
role: |
|
|
49
|
-
你負責在指定的檔案範圍內,嚴格按照 change_rule 執行變更。
|
|
50
|
-
不要偏離規則,不要「順便」改其他東西。
|
|
51
|
-
如果發現某處無法套用規則(結構不同、特殊情況),
|
|
52
|
-
在摘要中標記為異常,不要硬套。
|
|
53
|
-
scope:
|
|
54
|
-
include: "{由 lead 在 split 階段動態分配}"
|
|
55
|
-
exclude: "{由 lead 在 split 階段動態指定}"
|
|
56
|
-
behavior:
|
|
57
|
-
- 先讀 shared_context 中的 change_rule,完整理解變更邏輯
|
|
58
|
-
- 掃描 scope 內所有目標檔案
|
|
59
|
-
- 逐一套用 change_rule
|
|
60
|
-
- 遇到無法套用的情況,標記為異常而非跳過
|
|
61
|
-
- 完成後在摘要中列出:已變更 / 跳過(附理由)/ 異常
|
|
62
|
-
output: |
|
|
63
|
-
區域掃蕩報告:
|
|
64
|
-
- 已變更的檔案清單(含具體修改內容摘要)
|
|
65
|
-
- 跳過的檔案(附理由)
|
|
66
|
-
- 異常標記(無法套用規則的情況)
|
|
67
|
-
- 變更計數統計
|
|
68
|
-
|
|
69
|
-
# ─────────────────────────────────────────
|
|
70
|
-
# 共享上下文
|
|
71
|
-
# ─────────────────────────────────────────
|
|
72
|
-
|
|
73
|
-
shared_context:
|
|
74
|
-
description: |
|
|
75
|
-
Sweep 的核心:所有成員共享完全相同的 change_rule。
|
|
76
|
-
這份規則必須精確、無歧義,因為每個成員獨立執行,不能互相商量。
|
|
77
|
-
includes:
|
|
78
|
-
- change_rule: |
|
|
79
|
-
變更規則(由 lead 定義),必須包含:
|
|
80
|
-
- what: 要改什麼(精確描述目標模式)
|
|
81
|
-
- how: 怎麼改(具體的變更方式,最好有 before/after 範例)
|
|
82
|
-
- skip_when: 什麼情況下不改(排除條件)
|
|
83
|
-
- examples: 至少一個 before/after 範例
|
|
84
|
-
- scope_total: 所有分區的完整清單(讓成員知道整體範圍)
|
|
85
|
-
|
|
86
|
-
# ─────────────────────────────────────────
|
|
87
|
-
# 成果整合策略
|
|
88
|
-
# ─────────────────────────────────────────
|
|
89
|
-
|
|
90
|
-
merge:
|
|
91
|
-
strategy: collect-and-verify
|
|
92
|
-
description: |
|
|
93
|
-
收集所有成員的報告,驗證一致性,統計整體結果。
|
|
94
|
-
steps:
|
|
95
|
-
- step: 收集報告
|
|
96
|
-
action: 等待所有成員回報
|
|
97
|
-
on_partial_failure: |
|
|
98
|
-
某個區域失敗不影響其他區域。
|
|
99
|
-
成功區域的變更保留,失敗區域建立新任務重試。
|
|
100
|
-
|
|
101
|
-
- step: 驗證一致性
|
|
102
|
-
action: |
|
|
103
|
-
檢查所有成員的變更是否遵循相同的 change_rule:
|
|
104
|
-
- 變更模式是否一致
|
|
105
|
-
- 命名慣例是否統一
|
|
106
|
-
- 沒有成員擅自偏離規則
|
|
107
|
-
|
|
108
|
-
- step: 彙總統計
|
|
109
|
-
action: |
|
|
110
|
-
合併所有成員的報告,產出整體掃蕩報告:
|
|
111
|
-
- 總變更檔案數
|
|
112
|
-
- 總跳過檔案數
|
|
113
|
-
- 異常清單
|
|
114
|
-
- 覆蓋率(已處理 / 總目標)
|
|
115
|
-
|
|
116
|
-
- step: 處理異常
|
|
117
|
-
action: |
|
|
118
|
-
彙總所有成員標記的異常,決定:
|
|
119
|
-
- 哪些可以手動處理
|
|
120
|
-
- 哪些需要調整 change_rule 後重跑
|
|
121
|
-
- 哪些是真正的特殊案例,需要單獨處理
|
|
122
|
-
|
|
123
|
-
- step: 提交
|
|
124
|
-
action: |
|
|
125
|
-
所有驗證通過後,統一 commit。
|
|
126
|
-
commit message 格式:[SWEEP] {change_rule 摘要} ({N} files across {M} zones)
|
|
127
|
-
|
|
128
|
-
# ─────────────────────────────────────────
|
|
129
|
-
# 輸入輸出
|
|
130
|
-
# ─────────────────────────────────────────
|
|
131
|
-
|
|
132
|
-
input:
|
|
133
|
-
required:
|
|
134
|
-
- task: 任務 ID 或變更描述
|
|
135
|
-
- change_rule: 變更規則(what + how + skip_when)
|
|
136
|
-
optional:
|
|
137
|
-
- scope_paths: 覆寫目標範圍(預設從任務讀取)
|
|
138
|
-
- max_members: 最大成員數(預設 3,上限 5)
|
|
139
|
-
- examples: before/after 範例
|
|
140
|
-
|
|
141
|
-
output:
|
|
142
|
-
primary: |
|
|
143
|
-
掃蕩報告:
|
|
144
|
-
- 各區域完成狀態
|
|
145
|
-
- 總變更/跳過/異常統計
|
|
146
|
-
- 整體覆蓋率
|
|
147
|
-
secondary: |
|
|
148
|
-
後續行動:
|
|
149
|
-
- 需要手動處理的異常清單
|
|
150
|
-
- 是否需要二次掃蕩
|
|
151
|
-
|
|
152
|
-
# ─────────────────────────────────────────
|
|
153
|
-
# 行為準則
|
|
154
|
-
# ─────────────────────────────────────────
|
|
155
|
-
|
|
156
|
-
behavior:
|
|
157
|
-
- change_rule 必須寫清楚,含 before/after 範例。規則不清就不派人
|
|
158
|
-
- 分區要乾淨,絕對不能有檔案被兩個成員同時碰到
|
|
159
|
-
- 寧可分少一點區(2-3 個),也不要分太多(5 個以上成本太高)
|
|
160
|
-
- 如果目標檔案不到 5 個,不要用 Squad,一個 Unit/do 就夠了
|
|
161
|
-
- 異常不是失敗,是資訊。收集異常比強制套用更重要
|
|
162
|
-
|
|
163
|
-
# ─────────────────────────────────────────
|
|
164
|
-
# 協作流程
|
|
165
|
-
# ─────────────────────────────────────────
|
|
166
|
-
|
|
167
|
-
collaboration:
|
|
168
|
-
task_api: node .collaboration/core/task-api.js
|
|
169
|
-
|
|
170
|
-
workflow:
|
|
171
|
-
- step: 讀取任務
|
|
172
|
-
run: node .collaboration/core/task-api.js get {task_id}
|
|
173
|
-
note: 取得任務的完整資訊
|
|
174
|
-
|
|
175
|
-
- step: 認領任務
|
|
176
|
-
run: node .collaboration/core/task-api.js claim {task_id}
|
|
177
|
-
|
|
178
|
-
- step: 定義變更規則
|
|
179
|
-
actions:
|
|
180
|
-
- 明確 change_rule:what, how, skip_when
|
|
181
|
-
- 準備至少一個 before/after 範例
|
|
182
|
-
- 掃描 codebase 確認目標檔案數量和分佈
|
|
183
|
-
|
|
184
|
-
- step: 拆分範圍
|
|
185
|
-
actions:
|
|
186
|
-
- 把目標檔案分成互不重疊的區域
|
|
187
|
-
- 為每個區域建立一個成員(複製 zone 模板)
|
|
188
|
-
- 確保分區均勻,每個成員工作量相近
|
|
189
|
-
|
|
190
|
-
- step: 並行派遣
|
|
191
|
-
actions:
|
|
192
|
-
- 同時啟動所有成員的 subagent
|
|
193
|
-
- 每個成員的 prompt 包含:角色定義 + change_rule + 範例 + 分配的 scope
|
|
194
|
-
- 成員之間不通訊,各自獨立執行
|
|
195
|
-
|
|
196
|
-
- step: 整合成果
|
|
197
|
-
actions:
|
|
198
|
-
- 收集所有成員的掃蕩報告
|
|
199
|
-
- 按 merge.steps 驗證一致性
|
|
200
|
-
- 彙總統計,處理異常
|
|
201
|
-
|
|
202
|
-
- step: 完成任務
|
|
203
|
-
run: node .collaboration/core/task-api.js complete {task_id}
|
|
204
|
-
note: 整合成功後,標記任務完成
|
|
205
|
-
|
|
206
|
-
on_blocked:
|
|
207
|
-
run: node .collaboration/core/task-api.js move {task_id} blocked
|
|
208
|
-
note: change_rule 不夠清晰或目標檔案有依賴關係時
|