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,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: 子任務之間有隱含依賴,無法乾淨拆分
|
|
@@ -1,354 +0,0 @@
|
|
|
1
|
-
skill: strategy
|
|
2
|
-
formation: squad
|
|
3
|
-
version: "2.0"
|
|
4
|
-
|
|
5
|
-
name: Strategy Squad
|
|
6
|
-
description: |
|
|
7
|
-
三人獨立分析同一份 brief,各帶不同立場。
|
|
8
|
-
v2.0: 雙輪辯論 + 分析模式切換。
|
|
9
|
-
Round 1: 獨立分析 → Round 2: 交叉辯論 → Synthesis: 整合。
|
|
10
|
-
|
|
11
|
-
# ─────────────────────────────────────────
|
|
12
|
-
# 分析模式
|
|
13
|
-
# ─────────────────────────────────────────
|
|
14
|
-
|
|
15
|
-
analysis_mode:
|
|
16
|
-
default: optimization
|
|
17
|
-
modes:
|
|
18
|
-
optimization:
|
|
19
|
-
description: |
|
|
20
|
-
優化現有系統。有歷史數據可參考。
|
|
21
|
-
預設態度:謹慎,要求數據支撐。
|
|
22
|
-
innovation:
|
|
23
|
-
description: |
|
|
24
|
-
探索新方向。沒有歷史數據。
|
|
25
|
-
不用「沒數據」否定方向。聚焦風險管理和最小實驗。
|
|
26
|
-
|
|
27
|
-
# ─────────────────────────────────────────
|
|
28
|
-
# 辯論設定
|
|
29
|
-
# ─────────────────────────────────────────
|
|
30
|
-
|
|
31
|
-
debate:
|
|
32
|
-
enabled: true
|
|
33
|
-
description: |
|
|
34
|
-
Round 2:每個成員讀取其他人的 Round 1 報告,寫出針對性回應。
|
|
35
|
-
目的不是推翻自己的結論,而是通過碰撞產生更精準的分析。
|
|
36
|
-
rules:
|
|
37
|
-
- 必須引用其他成員報告中的具體段落
|
|
38
|
-
- 同意的地方簡短確認,不同意的地方展開論述
|
|
39
|
-
- 可以修正自己 Round 1 的觀點(附說明為什麼改變)
|
|
40
|
-
- 提出 Round 1 中所有人都遺漏的新觀點
|
|
41
|
-
|
|
42
|
-
# ─────────────────────────────────────────
|
|
43
|
-
# Squad 共用設定
|
|
44
|
-
# ─────────────────────────────────────────
|
|
45
|
-
|
|
46
|
-
role:
|
|
47
|
-
identity: |
|
|
48
|
-
你是 Strategy Squad 的調度者。
|
|
49
|
-
你有一個需要多角度分析的策略問題,你派出三個獨立分析者。
|
|
50
|
-
三個人讀同一份 brief、驗證同一份源碼,但各自帶著不同的分析立場。
|
|
51
|
-
你不指導他們的結論,你只整合他們的分歧。
|
|
52
|
-
priority: 找到三個立場的共識與分歧,共識即定論,分歧即需要決策的點。
|
|
53
|
-
|
|
54
|
-
# ─────────────────────────────────────────
|
|
55
|
-
# 拆分策略
|
|
56
|
-
# ─────────────────────────────────────────
|
|
57
|
-
|
|
58
|
-
split:
|
|
59
|
-
strategy: by-stance
|
|
60
|
-
description: |
|
|
61
|
-
按分析立場拆分:同一份輸入,三種不同的分析角度。
|
|
62
|
-
每個成員讀到完全相同的 brief 和源碼,但帶著不同的任務指令。
|
|
63
|
-
三者互不通訊,各自獨立產出。
|
|
64
|
-
rules:
|
|
65
|
-
- 三個成員讀到完全相同的 brief 和 shared_context
|
|
66
|
-
- 每個成員有明確不同的分析立場
|
|
67
|
-
- 成員不需要知道其他成員的存在(Round 1)
|
|
68
|
-
- 成員的分析可以偏激,整合是 Lead 的事
|
|
69
|
-
|
|
70
|
-
# ─────────────────────────────────────────
|
|
71
|
-
# 成員定義
|
|
72
|
-
# ─────────────────────────────────────────
|
|
73
|
-
|
|
74
|
-
members:
|
|
75
|
-
- id: challenger
|
|
76
|
-
name: "Challenger(挑戰者)"
|
|
77
|
-
skill: do
|
|
78
|
-
role: |
|
|
79
|
-
你的任務是找出輸入方案的風險、弱點、錯誤假設。
|
|
80
|
-
你不需要提出替代方案。你只需要回答:「這個方案的核心風險是什麼?」
|
|
81
|
-
|
|
82
|
-
你的分析角度:
|
|
83
|
-
- 輸入的假設有哪些可能是錯的?用源碼驗證。
|
|
84
|
-
- 提出的方案有哪些技術上做不到或代價過高的?
|
|
85
|
-
- 有沒有被忽略的邊界情況、副作用、隱藏依賴?
|
|
86
|
-
- 哪些「好處」其實是作者的願望而非事實?
|
|
87
|
-
|
|
88
|
-
你的風格:懷疑一切,用證據說話。
|
|
89
|
-
mode_behavior:
|
|
90
|
-
optimization: |
|
|
91
|
-
用「沒有數據支撐」來質疑是合理的。要求先測量。
|
|
92
|
-
問「這個問題真的存在嗎?」「值不值得做?」
|
|
93
|
-
innovation: |
|
|
94
|
-
不要用「沒有歷史數據」來否定新方向——創新本來就沒有歷史數據。
|
|
95
|
-
聚焦在:技術上真正做不到的障礙是什麼?
|
|
96
|
-
提出 de-risk 策略(如何降低風險),而不是 don't-do 建議。
|
|
97
|
-
區分「不可能」和「沒試過」。
|
|
98
|
-
behavior:
|
|
99
|
-
- 先讀 brief,標記所有「太樂觀」或「未驗證」的論點
|
|
100
|
-
- 逐一讀源碼驗證(行號、代碼片段)
|
|
101
|
-
- 被推翻的論點:寫出具體反駁(附證據)
|
|
102
|
-
- 被驗證的論點:簡單標記「已驗證」
|
|
103
|
-
- 彙總:真風險、假風險、需要實驗驗證的風險
|
|
104
|
-
debate_instructions: |
|
|
105
|
-
你已完成第一輪獨立分析。現在讀取 Builder 和 Realist 的報告。
|
|
106
|
-
|
|
107
|
-
針對 Builder 的技術方案:
|
|
108
|
-
- 哪些設計有隱藏風險?
|
|
109
|
-
- 哪些代碼在實際環境可能出問題?
|
|
110
|
-
- 複雜度評估準確嗎?
|
|
111
|
-
|
|
112
|
-
針對 Realist 的評估:
|
|
113
|
-
- 他的「什麼都不做也可以」結論站得住嗎?
|
|
114
|
-
- 遺漏了哪些未來風險?
|
|
115
|
-
- 量化分析有沒有偏差?
|
|
116
|
-
|
|
117
|
-
你可以修正自己 Round 1 的觀點,但要說明為什麼。
|
|
118
|
-
output: |
|
|
119
|
-
挑戰報告,寫入 .formation/reports/{session}/challenger.md
|
|
120
|
-
|
|
121
|
-
- id: builder
|
|
122
|
-
name: "Builder(建構者)"
|
|
123
|
-
skill: do
|
|
124
|
-
role: |
|
|
125
|
-
你的任務是把輸入的方向變成可執行的技術方案。
|
|
126
|
-
你不需要質疑方向對不對。你只需要回答:「如果要做,具體怎麼做?」
|
|
127
|
-
|
|
128
|
-
你的分析角度:
|
|
129
|
-
- 讀源碼,理解現有架構,找出改動點
|
|
130
|
-
- 設計具體的實現方案
|
|
131
|
-
- 畫出架構圖(ASCII)和數據流
|
|
132
|
-
- 寫出關鍵代碼片段(能用的代碼,不是偽代碼)
|
|
133
|
-
|
|
134
|
-
你的風格:動手派。少說多做。方案要具體到「改哪一行」。
|
|
135
|
-
mode_behavior:
|
|
136
|
-
optimization: |
|
|
137
|
-
設計完整方案,評估成本效益。列出 before/after 對比。
|
|
138
|
-
innovation: |
|
|
139
|
-
聚焦最小可驗證原型(MVP)。
|
|
140
|
-
不需要設計完整系統,設計最小 prototype 驗證核心假設。
|
|
141
|
-
標記「必須先驗證」的假設 vs 可以後續迭代的部分。
|
|
142
|
-
behavior:
|
|
143
|
-
- 先讀 brief 理解要做什麼
|
|
144
|
-
- 讀相關源碼(記錄檔案路徑和行號)
|
|
145
|
-
- 列出需要新增/修改的檔案清單
|
|
146
|
-
- 每個改動寫出 before/after 代碼
|
|
147
|
-
- 用複雜度等級(低/中/高)標記每個改動
|
|
148
|
-
- 畫出架構演進圖
|
|
149
|
-
debate_instructions: |
|
|
150
|
-
你已完成第一輪技術方案。現在讀取 Challenger 和 Realist 的報告。
|
|
151
|
-
|
|
152
|
-
針對 Challenger 的質疑:
|
|
153
|
-
- 哪些風險你的方案已經處理了?指出具體代碼。
|
|
154
|
-
- 哪些風險是真的,你需要調整方案?
|
|
155
|
-
- 有更簡單的解法嗎?
|
|
156
|
-
|
|
157
|
-
針對 Realist 的評估:
|
|
158
|
-
- 他的「最小改動」建議夠嗎?
|
|
159
|
-
- 他的數據如何影響實施優先級?
|
|
160
|
-
- 你的方案哪些部分可以簡化?
|
|
161
|
-
|
|
162
|
-
你可以修正自己 Round 1 的方案,但要說明為什麼。
|
|
163
|
-
output: |
|
|
164
|
-
建構報告,寫入 .formation/reports/{session}/builder.md
|
|
165
|
-
|
|
166
|
-
- id: realist
|
|
167
|
-
name: "Realist(務實者)"
|
|
168
|
-
skill: do
|
|
169
|
-
role: |
|
|
170
|
-
你的任務是測量現實。不關心願景多美,只關心現狀多遠。
|
|
171
|
-
你只需要回答:「目前系統的實際狀態是什麼?差距多大?」
|
|
172
|
-
|
|
173
|
-
你的分析角度:
|
|
174
|
-
- 現有系統實際怎麼運作的?(讀源碼,不信文檔)
|
|
175
|
-
- 問題在實際使用中真的會發生嗎?頻率如何?
|
|
176
|
-
- 現有系統有哪些好的部分被忽略了?
|
|
177
|
-
- 如果什麼都不做,最壞情況是什麼?
|
|
178
|
-
|
|
179
|
-
你的風格:數據驅動。量化差距。不談理想談現實。
|
|
180
|
-
mode_behavior:
|
|
181
|
-
optimization: |
|
|
182
|
-
量化現狀。測量 before 數據。評估「什麼都不做」的後果。
|
|
183
|
-
如果現狀可接受,說出來。
|
|
184
|
-
innovation: |
|
|
185
|
-
不要只問「現狀夠不夠好」——創新不是因為現狀不好。
|
|
186
|
-
聚焦在:驗證新方向需要什麼最小實驗?
|
|
187
|
-
定義成功標準:怎樣算「這個方向可行」?
|
|
188
|
-
設計 prototype 的評估方法。
|
|
189
|
-
behavior:
|
|
190
|
-
- 先讀 brief 理解聲稱的問題
|
|
191
|
-
- 讀源碼驗證問題是否真實存在
|
|
192
|
-
- 量化影響:嚴重度、頻率、影響範圍
|
|
193
|
-
- 盤點現有系統優勢
|
|
194
|
-
- 評估「什麼都不做」的後果
|
|
195
|
-
- 評估最小可行改動
|
|
196
|
-
debate_instructions: |
|
|
197
|
-
你已完成第一輪現實評估。現在讀取 Challenger 和 Builder 的報告。
|
|
198
|
-
|
|
199
|
-
針對 Challenger 的質疑:
|
|
200
|
-
- 他找到的風險,你的數據支持還是反駁?
|
|
201
|
-
- 他有沒有遺漏正面的證據?
|
|
202
|
-
|
|
203
|
-
針對 Builder 的方案:
|
|
204
|
-
- 他的方案在現有系統上可行嗎?
|
|
205
|
-
- 複雜度評估符合你看到的現實嗎?
|
|
206
|
-
- 哪個 Phase 最值得先做?
|
|
207
|
-
|
|
208
|
-
你可以修正自己 Round 1 的評估,但要說明為什麼。
|
|
209
|
-
output: |
|
|
210
|
-
現實報告,寫入 .formation/reports/{session}/realist.md
|
|
211
|
-
|
|
212
|
-
# ─────────────────────────────────────────
|
|
213
|
-
# 共享上下文
|
|
214
|
-
# ─────────────────────────────────────────
|
|
215
|
-
|
|
216
|
-
shared_context:
|
|
217
|
-
description: |
|
|
218
|
-
三個成員讀到完全相同的 brief 和源碼參考路徑。
|
|
219
|
-
他們不知道其他人的存在,各自獨立分析。
|
|
220
|
-
includes:
|
|
221
|
-
brief: |
|
|
222
|
-
分析對象的完整 brief(由 Formation Lead 注入)。
|
|
223
|
-
成員必須先讀取這份 brief,再讀源碼驗證。
|
|
224
|
-
source_paths: |
|
|
225
|
-
相關源碼路徑(由 Formation Lead 根據 brief 內容填入)。
|
|
226
|
-
成員應自行讀取這些檔案進行驗證。
|
|
227
|
-
analysis_target: |
|
|
228
|
-
這是一個 AI Agent 協作系統(Kenaz Dashboard Multi-Agent Scheduler)。
|
|
229
|
-
分析對象是系統的排程、衝突判定、鎖機制等內部架構。
|
|
230
|
-
所有評估以 AI Agent 能力為基準,不估算人類工時。
|
|
231
|
-
|
|
232
|
-
# ─────────────────────────────────────────
|
|
233
|
-
# 成果整合策略
|
|
234
|
-
# ─────────────────────────────────────────
|
|
235
|
-
|
|
236
|
-
merge:
|
|
237
|
-
strategy: consensus-and-divergence
|
|
238
|
-
description: |
|
|
239
|
-
不是取平均,是找共識和分歧。
|
|
240
|
-
讀取所有報告(Round 1 + Round 2),整合成最終報告。
|
|
241
|
-
steps:
|
|
242
|
-
- step: 收集所有報告
|
|
243
|
-
action: |
|
|
244
|
-
收集 Round 1 的三份報告和 Round 2 的三份反駁報告。
|
|
245
|
-
共 6 份報告。
|
|
246
|
-
|
|
247
|
-
- step: 提取共識
|
|
248
|
-
action: |
|
|
249
|
-
三個人都同意的結論 = 高置信度定論。
|
|
250
|
-
特別注意 Round 2 中被強化的共識(碰撞後仍一致 = 更高置信度)。
|
|
251
|
-
|
|
252
|
-
- step: 提取分歧
|
|
253
|
-
action: |
|
|
254
|
-
三個人意見不同的地方 = 需要決策的點。
|
|
255
|
-
注意 Round 2 中的分歧演變:
|
|
256
|
-
- Round 2 後收斂 → 接近共識
|
|
257
|
-
- Round 2 後加深 → 需要實驗驗證
|
|
258
|
-
完整呈現三方論點。
|
|
259
|
-
|
|
260
|
-
- step: 分級建議
|
|
261
|
-
action: |
|
|
262
|
-
基於共識和分歧,產出分級建議:
|
|
263
|
-
- MUST DO:三方共識的必要行動
|
|
264
|
-
- SHOULD DO:兩方同意、一方存疑的行動
|
|
265
|
-
- EXPERIMENT:分歧未解,需要用最小實驗驗證的行動
|
|
266
|
-
- DON'T DO:至少兩方反對的行動
|
|
267
|
-
|
|
268
|
-
- step: 寫入整合報告
|
|
269
|
-
action: |
|
|
270
|
-
整合報告寫入 .formation/reports/{session}/synthesis.md
|
|
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
|
-
- depth: 分析深度(quick | standard | deep)
|
|
285
|
-
|
|
286
|
-
output:
|
|
287
|
-
primary: |
|
|
288
|
-
整合報告:
|
|
289
|
-
- 共識清單(高置信度定論)
|
|
290
|
-
- 分歧清單(含三方論點 + Round 2 碰撞結果)
|
|
291
|
-
- 分級建議(MUST / SHOULD / EXPERIMENT / DON'T)
|
|
292
|
-
secondary: |
|
|
293
|
-
六份獨立報告:
|
|
294
|
-
- Round 1: challenger.md, builder.md, realist.md
|
|
295
|
-
- Round 2: challenger-r2.md, builder-r2.md, realist-r2.md
|
|
296
|
-
|
|
297
|
-
# ─────────────────────────────────────────
|
|
298
|
-
# 行為準則
|
|
299
|
-
# ─────────────────────────────────────────
|
|
300
|
-
|
|
301
|
-
behavior:
|
|
302
|
-
- 三個成員必須獨立分析(Round 1),不能互相參考
|
|
303
|
-
- Round 2 必須針對其他成員的具體觀點回應,不能泛泛而談
|
|
304
|
-
- 每個成員必須讀源碼驗證,不接受純觀點
|
|
305
|
-
- 成員的分析可以偏激,整合是 Lead 的事
|
|
306
|
-
- 如果三方完全一致,報告會很短——代表方向明確
|
|
307
|
-
- 如果三方完全分歧,報告會列出所有論點——代表需要實驗
|
|
308
|
-
- 不要超過 3 個成員
|
|
309
|
-
|
|
310
|
-
# ─────────────────────────────────────────
|
|
311
|
-
# 協作流程
|
|
312
|
-
# ─────────────────────────────────────────
|
|
313
|
-
|
|
314
|
-
collaboration:
|
|
315
|
-
task_api: node .collaboration/core/task-api.js
|
|
316
|
-
|
|
317
|
-
workflow:
|
|
318
|
-
- step: 讀取任務
|
|
319
|
-
run: node .collaboration/core/task-api.js get {task_id}
|
|
320
|
-
note: 取得任務詳情
|
|
321
|
-
|
|
322
|
-
- step: 認領任務
|
|
323
|
-
run: node .collaboration/core/task-api.js claim {task_id}
|
|
324
|
-
|
|
325
|
-
- step: 準備 shared_context
|
|
326
|
-
actions:
|
|
327
|
-
- 確認 brief 存在且內容完整
|
|
328
|
-
- 列出相關源碼路徑
|
|
329
|
-
- 注入到三個成員的 prompt
|
|
330
|
-
|
|
331
|
-
- step: Round 1 並行派遣
|
|
332
|
-
actions:
|
|
333
|
-
- 同時啟動 challenger / builder / realist
|
|
334
|
-
- 三者讀到相同的 brief 和 shared_context
|
|
335
|
-
- 三者各自獨立分析、各自寫報告
|
|
336
|
-
|
|
337
|
-
- step: Round 2 交叉辯論
|
|
338
|
-
actions:
|
|
339
|
-
- 每個成員讀取其他兩人的 Round 1 報告
|
|
340
|
-
- 寫出針對性回應和反駁
|
|
341
|
-
- 可修正自己 Round 1 的觀點
|
|
342
|
-
|
|
343
|
-
- step: 整合成果
|
|
344
|
-
actions:
|
|
345
|
-
- 收集六份報告(3 + 3)
|
|
346
|
-
- 按 merge.steps 提取共識、分歧
|
|
347
|
-
- 產出整合報告
|
|
348
|
-
|
|
349
|
-
- step: 完成任務
|
|
350
|
-
run: node .collaboration/core/task-api.js complete {task_id}
|
|
351
|
-
|
|
352
|
-
on_blocked:
|
|
353
|
-
run: node .collaboration/core/task-api.js move {task_id} blocked
|
|
354
|
-
note: brief 不完整或源碼路徑不明時
|