maestro-flow 0.4.19 → 0.4.21

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 (163) hide show
  1. package/.agents/agents/workflow-collab-planner.md +4 -1
  2. package/.agents/agents/workflow-plan-checker.md +11 -1
  3. package/.agents/agents/workflow-planner.md +4 -1
  4. package/.agents/skills/maestro/SKILL.md +8 -5
  5. package/.agents/skills/maestro-analyze/SKILL.md +1 -1
  6. package/.agents/skills/maestro-brainstorm/SKILL.md +2 -1
  7. package/.agents/skills/maestro-companion/SKILL.md +533 -0
  8. package/.agents/skills/maestro-grill/SKILL.md +116 -0
  9. package/.agents/skills/maestro-plan/SKILL.md +4 -0
  10. package/.agents/skills/maestro-ralph/SKILL.md +11 -7
  11. package/.agents/skills/maestro-ralph-execute/SKILL.md +2 -1
  12. package/.agents/skills/maestro-swarm-workflow/SKILL.md +266 -0
  13. package/.agents/skills/maestro-universal-workflow/SKILL.md +563 -0
  14. package/.agents/skills/manage-codebase-rebuild/SKILL.md +13 -1
  15. package/.agents/skills/manage-codebase-refresh/SKILL.md +3 -0
  16. package/.agents/skills/spec-setup/SKILL.md +9 -5
  17. package/.agents/skills/team-adversarial-swarm/SKILL.md +235 -0
  18. package/.agents/skills/team-adversarial-swarm/scripts/aco.py +473 -0
  19. package/.agents/skills/team-adversarial-swarm/scripts/pheromone.py +144 -0
  20. package/.agents/skills/team-adversarial-swarm/scripts/scoring.py +92 -0
  21. package/.agents/skills/team-adversarial-swarm/scripts/test_aco.py +475 -0
  22. package/.agents/skills/team-adversarial-swarm/specs/ant-output-schema.md +115 -0
  23. package/.agents/skills/team-adversarial-swarm/specs/convergence-criteria.md +75 -0
  24. package/.agents/skills/team-adversarial-swarm/specs/pheromone-schema.md +90 -0
  25. package/.agents/skills/team-adversarial-swarm/specs/swarm-config-template.json +66 -0
  26. package/.agents/skills/team-adversarial-swarm/specs/swarm-protocol.md +105 -0
  27. package/.agents/skills/team-adversarial-swarm/workflows/wf-swarm-converge.js +197 -0
  28. package/.agents/skills/team-adversarial-swarm/workflows/wf-swarm-explore.js +194 -0
  29. package/.agents/skills/team-adversarial-swarm/workflows/wf-swarm-score.js +188 -0
  30. package/.agents/skills/team-adversarial-swarm/workflows/wf-swarm-synthesize.js +248 -0
  31. package/.agy/agents/workflow-collab-planner.md +4 -1
  32. package/.agy/agents/workflow-plan-checker.md +11 -1
  33. package/.agy/agents/workflow-planner.md +4 -1
  34. package/.agy/skills/maestro/SKILL.md +8 -5
  35. package/.agy/skills/maestro-analyze/SKILL.md +1 -1
  36. package/.agy/skills/maestro-brainstorm/SKILL.md +2 -1
  37. package/.agy/skills/maestro-companion/SKILL.md +529 -0
  38. package/.agy/skills/maestro-grill/SKILL.md +116 -0
  39. package/.agy/skills/maestro-plan/SKILL.md +4 -0
  40. package/.agy/skills/maestro-ralph/SKILL.md +11 -7
  41. package/.agy/skills/maestro-ralph-execute/SKILL.md +2 -1
  42. package/.agy/skills/maestro-swarm-workflow/SKILL.md +263 -0
  43. package/.agy/skills/maestro-universal-workflow/SKILL.md +560 -0
  44. package/.agy/skills/manage-codebase-rebuild/SKILL.md +13 -1
  45. package/.agy/skills/manage-codebase-refresh/SKILL.md +3 -0
  46. package/.agy/skills/spec-setup/SKILL.md +9 -5
  47. package/.agy/skills/team-adversarial-swarm/SKILL.md +244 -0
  48. package/.agy/skills/team-adversarial-swarm/scripts/aco.py +473 -0
  49. package/.agy/skills/team-adversarial-swarm/scripts/pheromone.py +144 -0
  50. package/.agy/skills/team-adversarial-swarm/scripts/scoring.py +92 -0
  51. package/.agy/skills/team-adversarial-swarm/scripts/test_aco.py +475 -0
  52. package/.agy/skills/team-adversarial-swarm/specs/ant-output-schema.md +115 -0
  53. package/.agy/skills/team-adversarial-swarm/specs/convergence-criteria.md +75 -0
  54. package/.agy/skills/team-adversarial-swarm/specs/pheromone-schema.md +90 -0
  55. package/.agy/skills/team-adversarial-swarm/specs/swarm-config-template.json +66 -0
  56. package/.agy/skills/team-adversarial-swarm/specs/swarm-protocol.md +105 -0
  57. package/.agy/skills/team-adversarial-swarm/workflows/wf-swarm-converge.js +197 -0
  58. package/.agy/skills/team-adversarial-swarm/workflows/wf-swarm-explore.js +194 -0
  59. package/.agy/skills/team-adversarial-swarm/workflows/wf-swarm-score.js +188 -0
  60. package/.agy/skills/team-adversarial-swarm/workflows/wf-swarm-synthesize.js +248 -0
  61. package/.claude/agents/workflow-collab-planner.md +4 -1
  62. package/.claude/agents/workflow-plan-checker.md +11 -1
  63. package/.claude/agents/workflow-planner.md +4 -1
  64. package/.claude/commands/maestro-analyze.md +1 -1
  65. package/.claude/commands/maestro-brainstorm.md +2 -1
  66. package/.claude/commands/maestro-companion.md +531 -0
  67. package/.claude/commands/maestro-grill.md +114 -0
  68. package/.claude/commands/maestro-plan.md +4 -0
  69. package/.claude/commands/maestro-ralph-execute.md +2 -1
  70. package/.claude/commands/maestro-ralph.md +11 -7
  71. package/.claude/commands/maestro-swarm-workflow.md +264 -0
  72. package/.claude/commands/maestro-universal-workflow.md +561 -0
  73. package/.claude/commands/maestro.md +8 -5
  74. package/.claude/commands/manage-codebase-rebuild.md +13 -1
  75. package/.claude/commands/manage-codebase-refresh.md +3 -0
  76. package/.claude/commands/spec-setup.md +9 -5
  77. package/.claude/skills/team-adversarial-swarm/SKILL.md +233 -0
  78. package/.claude/skills/team-adversarial-swarm/scripts/aco.py +473 -0
  79. package/.claude/skills/team-adversarial-swarm/scripts/pheromone.py +144 -0
  80. package/.claude/skills/team-adversarial-swarm/scripts/scoring.py +92 -0
  81. package/.claude/skills/team-adversarial-swarm/scripts/test_aco.py +475 -0
  82. package/.claude/skills/team-adversarial-swarm/specs/ant-output-schema.md +115 -0
  83. package/.claude/skills/team-adversarial-swarm/specs/convergence-criteria.md +75 -0
  84. package/.claude/skills/team-adversarial-swarm/specs/pheromone-schema.md +90 -0
  85. package/.claude/skills/team-adversarial-swarm/specs/swarm-config-template.json +66 -0
  86. package/.claude/skills/team-adversarial-swarm/specs/swarm-protocol.md +105 -0
  87. package/.claude/skills/team-adversarial-swarm/workflows/wf-swarm-converge.js +197 -0
  88. package/.claude/skills/team-adversarial-swarm/workflows/wf-swarm-explore.js +194 -0
  89. package/.claude/skills/team-adversarial-swarm/workflows/wf-swarm-score.js +188 -0
  90. package/.claude/skills/team-adversarial-swarm/workflows/wf-swarm-synthesize.js +248 -0
  91. package/.codex/skills/maestro/SKILL.md +7 -2
  92. package/.codex/skills/maestro-companion/SKILL.md +485 -0
  93. package/.codex/skills/maestro-grill/SKILL.md +111 -0
  94. package/.codex/skills/maestro-ralph/SKILL.md +11 -7
  95. package/.codex/skills/manage-codebase-rebuild/SKILL.md +6 -0
  96. package/.codex/skills/manage-codebase-refresh/SKILL.md +6 -0
  97. package/dashboard/dist-server/dashboard/src/server/wiki/graph-analysis.d.ts +36 -0
  98. package/dashboard/dist-server/dashboard/src/server/wiki/graph-analysis.js +138 -2
  99. package/dashboard/dist-server/dashboard/src/server/wiki/graph-analysis.js.map +1 -1
  100. package/dashboard/dist-server/dashboard/src/server/wiki/search.js +13 -0
  101. package/dashboard/dist-server/dashboard/src/server/wiki/search.js.map +1 -1
  102. package/dashboard/dist-server/dashboard/src/server/wiki/virtual-wiki-adapters.d.ts +11 -0
  103. package/dashboard/dist-server/dashboard/src/server/wiki/virtual-wiki-adapters.js +178 -0
  104. package/dashboard/dist-server/dashboard/src/server/wiki/virtual-wiki-adapters.js.map +1 -1
  105. package/dashboard/dist-server/dashboard/src/server/wiki/wiki-indexer.d.ts +1 -0
  106. package/dashboard/dist-server/dashboard/src/server/wiki/wiki-indexer.js +39 -23
  107. package/dashboard/dist-server/dashboard/src/server/wiki/wiki-indexer.js.map +1 -1
  108. package/dashboard/dist-server/src/graph/types.d.ts +111 -0
  109. package/dashboard/dist-server/src/graph/types.js +2 -0
  110. package/dashboard/dist-server/src/graph/types.js.map +1 -0
  111. package/dist/src/cli.js +1 -0
  112. package/dist/src/cli.js.map +1 -1
  113. package/dist/src/commands/kg.d.ts +11 -0
  114. package/dist/src/commands/kg.d.ts.map +1 -0
  115. package/dist/src/commands/kg.js +486 -0
  116. package/dist/src/commands/kg.js.map +1 -0
  117. package/dist/src/graph/analyzers/fs-analyzer.d.ts +10 -0
  118. package/dist/src/graph/analyzers/fs-analyzer.d.ts.map +1 -0
  119. package/dist/src/graph/analyzers/fs-analyzer.js +959 -0
  120. package/dist/src/graph/analyzers/fs-analyzer.js.map +1 -0
  121. package/dist/src/graph/index.d.ts +6 -0
  122. package/dist/src/graph/index.d.ts.map +1 -0
  123. package/dist/src/graph/index.js +6 -0
  124. package/dist/src/graph/index.js.map +1 -0
  125. package/dist/src/graph/loader.d.ts +3 -0
  126. package/dist/src/graph/loader.d.ts.map +1 -0
  127. package/dist/src/graph/loader.js +12 -0
  128. package/dist/src/graph/loader.js.map +1 -0
  129. package/dist/src/graph/merger.d.ts +56 -0
  130. package/dist/src/graph/merger.d.ts.map +1 -0
  131. package/dist/src/graph/merger.js +896 -0
  132. package/dist/src/graph/merger.js.map +1 -0
  133. package/dist/src/graph/query.d.ts +7 -0
  134. package/dist/src/graph/query.d.ts.map +1 -0
  135. package/dist/src/graph/query.js +126 -0
  136. package/dist/src/graph/query.js.map +1 -0
  137. package/dist/src/graph/types.d.ts +112 -0
  138. package/dist/src/graph/types.d.ts.map +1 -0
  139. package/dist/src/graph/types.js +2 -0
  140. package/dist/src/graph/types.js.map +1 -0
  141. package/dist/src/tui/install-ui/KgVendorConfig.d.ts +7 -0
  142. package/dist/src/tui/install-ui/KgVendorConfig.d.ts.map +1 -0
  143. package/dist/src/tui/install-ui/KgVendorConfig.js +9 -0
  144. package/dist/src/tui/install-ui/KgVendorConfig.js.map +1 -0
  145. package/dist/src/utils/update-notices.js +23 -0
  146. package/dist/src/utils/update-notices.js.map +1 -1
  147. package/package.json +1 -1
  148. package/workflows/analyze.md +2 -1
  149. package/workflows/brainstorm.md +24 -1
  150. package/workflows/codebase-rebuild.md +141 -1
  151. package/workflows/codebase-refresh.md +20 -0
  152. package/workflows/finish-work.md +7 -2
  153. package/workflows/grill.md +513 -0
  154. package/workflows/plan.md +7 -4
  155. package/workflows/specs-setup.md +99 -3
  156. package/workflows/swarm/wf-analyze.js +347 -0
  157. package/workflows/swarm/wf-brainstorm.js +456 -0
  158. package/workflows/swarm/wf-execute.js +379 -0
  159. package/workflows/swarm/wf-grill.js +359 -0
  160. package/workflows/swarm/wf-milestone-audit.js +385 -0
  161. package/workflows/swarm/wf-plan.js +468 -0
  162. package/workflows/swarm/wf-review.js +341 -0
  163. package/workflows/swarm/wf-verify.js +395 -0
@@ -0,0 +1,244 @@
1
+ ---
2
+ name: team-adversarial-swarm
3
+ description: ACO swarm intelligence with modular Workflow composition and adversarial decision gates. Coordinator drives iteration loop; 4 composable Workflow scripts handle exploration, scoring, convergence, and synthesis — each with built-in adversarial patterns.
4
+ allowed-tools:
5
+ - Workflow
6
+ - ask_question
7
+ - define_subagent
8
+ - grep_search
9
+ - invoke_subagent
10
+ - manage_subagents
11
+ - replace_file_content
12
+ - run_command
13
+ - send_message
14
+ - view_file
15
+ - write_to_file
16
+ ---
17
+
18
+ # Team Adversarial Swarm
19
+
20
+ ACO 蚁群优化 + 模块化 Workflow 编排 + 对抗决策。
21
+
22
+ 继承 `team-swarm` 的蚁群算法核心(Python ACO 脚本),用 4 个可组合的 Workflow 脚本
23
+ 替代 team-worker 架构,在每个决策节点注入对抗性 agent 模式。
24
+
25
+ ## Architecture
26
+
27
+ ```
28
+ SKILL.md (Coordinator — this file)
29
+
30
+ │ Phase 1: Config Generation (inline)
31
+ │ Phase 2: ACO Init (Bash: aco.py init)
32
+
33
+ │ Phase 3: Iteration Loop ×K
34
+ │ ┌──────────────────────────────────────────────────┐
35
+ │ │ 3a. Bash: aco.py select → assignments │
36
+ │ │ 3b. Workflow(wf-swarm-explore) ← 模块1 │
37
+ │ │ N ants parallel → ant_results │
38
+ │ │ 3c. Workflow(wf-swarm-score) ← 模块2 │
39
+ │ │ 3-vote adversarial scoring → verified_scores │
40
+ │ │ 3d. Write scores → Bash: aco.py update │
41
+ │ │ 3e. Workflow(wf-swarm-converge) ← 模块3 │
42
+ │ │ prosecutor/defender/judge → converged? │
43
+ │ │ 3f. if converged: break │
44
+ │ └──────────────────────────────────────────────────┘
45
+
46
+ │ Phase 4: Bash: aco.py report
47
+ │ Workflow(wf-swarm-synthesize) ← 模块4
48
+ │ 3-perspective analysis + arbitration → best-solution.md
49
+ ```
50
+
51
+ ## Workflow Module Registry
52
+
53
+ | Module | Script | Args Interface | Adversarial Pattern | Returns |
54
+ |--------|--------|---------------|--------------------|---------|
55
+ | **Explore** | `workflows/wf-swarm-explore.js` | `{ iteration, assignments[], objective, session, config }` | N ants parallel | `{ ant_results[] }` |
56
+ | **Score** | `workflows/wf-swarm-score.js` | `{ iteration, ant_results[], objective, rubric? }` | 3-vote per ant (prosecutor/defender/judge) | `{ scores{}, calibration }` |
57
+ | **Converge** | `workflows/wf-swarm-converge.js` | `{ iteration, best, history[], config }` | prosecutor(continue)/defender(stop)/judge | `{ converged, reason, confidence }` |
58
+ | **Synthesize** | `workflows/wf-swarm-synthesize.js` | `{ best, top_k[], convergence_story, objective }` | 3-perspective + arbitrator | `{ report, caveats }` |
59
+
60
+ 每个模块独立可用,也可由 Coordinator 组合编排。
61
+
62
+ ## Shared Dependencies
63
+
64
+ **所有依赖均在本 skill 内部,无外部引用。**
65
+
66
+ - **Python ACO 脚本**: `<this-skill>/scripts/aco.py`
67
+ - 运行时解析: `grep_search(".claude/skills/team-adversarial-swarm/scripts/aco.py")`
68
+ - 依赖模块: `pheromone.py`, `scoring.py`(同目录)
69
+ - 命令: `init` / `select` / `update` / `converged` / `report`
70
+ - 协议: [specs/swarm-protocol.md](specs/swarm-protocol.md)
71
+ - **Workflow 脚本**: `<this-skill>/workflows/wf-swarm-*.js`
72
+ - 运行时解析: `grep_search(".claude/skills/team-adversarial-swarm/workflows/wf-swarm-*.js")`
73
+
74
+ ## Specs Reference
75
+
76
+ | Spec | Purpose |
77
+ |------|---------|
78
+ | [specs/swarm-protocol.md](specs/swarm-protocol.md) | Coordinator ↔ Script ↔ Workflow 三方协议 |
79
+ | [specs/pheromone-schema.md](specs/pheromone-schema.md) | 信息素矩阵结构、更新公式、蒸发规则 |
80
+ | [specs/ant-output-schema.md](specs/ant-output-schema.md) | 蚁输出 JSON 合约(三层评分) |
81
+ | [specs/convergence-criteria.md](specs/convergence-criteria.md) | 双层收敛:Python 信号 + 对抗辩论 |
82
+ | [specs/swarm-config-template.json](specs/swarm-config-template.json) | 用户配置模板 |
83
+
84
+ ## Session Directory
85
+
86
+ ```
87
+ .workflow/.team/TAS-<slug>-<date>/
88
+ ├── swarm-config.json # Phase 1 output
89
+ ├── pheromone/ # ACO state (managed by aco.py)
90
+ │ ├── current.json
91
+ │ └── history/
92
+ ├── trails/ # Per-iteration trails (managed by aco.py)
93
+ ├── scores/ # Adversarial scoring results
94
+ │ └── iter-<k>-scores.json
95
+ ├── artifacts/
96
+ │ ├── ant-<k>-<id>.json # Ant outputs
97
+ │ └── best-solution.md # Final synthesis
98
+ ├── workflows/ # Workflow run artifacts
99
+ │ ├── explore-<k>.json # Per-iteration explore results
100
+ │ ├── score-<k>.json # Per-iteration score results
101
+ │ └── converge-<k>.json # Per-iteration convergence decision
102
+ └── best.json # Canonical best (managed by aco.py)
103
+ ```
104
+
105
+ ---
106
+
107
+ ## Coordinator Execution Flow
108
+
109
+ ### Phase 0: Resume Check
110
+
111
+ 1. `grep_search(".workflow/.team/TAS-*/swarm-config.json")` → 查找活跃 session
112
+ 2. 若存在且有 `workflows/converge-*.json` 未标记 converged → 恢复到对应迭代
113
+ 3. 若无活跃 session → Phase 1
114
+
115
+ ### Phase 1: Config Generation
116
+
117
+ 解析用户 intent,生成 `swarm-config.json`。
118
+
119
+ 若 intent 不够明确,用 ask_question 澄清:
120
+ - 搜索空间是什么?(文件 glob / 节点列表 / 抽象决策集)
121
+ - 目标是什么?(最优方案 / 发现问题 / 优化路径)
122
+ - 如何评分?(测试通过率 / lint / 自定义规则 / LLM 对抗评分)
123
+ - 预算?(最大迭代 / 每轮蚁数 / token 预算)
124
+
125
+ 生成 config 字段:
126
+ ```json
127
+ {
128
+ "task": { "objective": "...", "evidence_requirements": "..." },
129
+ "swarm": { "n_ants": 5, "max_iterations": 5 },
130
+ "aco": { "alpha": 1.0, "beta": 2.0, "rho": 0.1, "q": 1.0 },
131
+ "task_space": { "nodes": [...], "auto_discover_from": "..." },
132
+ "scoring": { "mode": "adversarial", "rubric": "..." },
133
+ "convergence": { "patience": 2, "min_improvement": 0.01, "max_iterations": 5 }
134
+ }
135
+ ```
136
+
137
+ Write 到 `<session>/swarm-config.json`。
138
+
139
+ ### Phase 2: ACO Init
140
+
141
+ 1. 创建 session 目录: `TAS-<slug>-<date>`
142
+ 2. 解析 aco.py 路径(从 team-swarm skill 继承)
143
+ 3. `Bash: python <aco.py> --session <session> init`
144
+ 4. 解析输出: `{ n_nodes, n_edges, pheromone_path }`
145
+
146
+ ### Phase 3: Iteration Loop
147
+
148
+ ```python
149
+ for k in range(1, max_iterations + 1):
150
+ # 3a. ACO selection
151
+ assignments = run_command("python aco.py --session <session> select --iter k")
152
+
153
+ # 3b. Parallel exploration (Workflow Module 1)
154
+ explore_result = Workflow({
155
+ scriptPath: "<skill>/workflows/wf-swarm-explore.js",
156
+ args: { iteration: k, assignments, objective, session, config }
157
+ })
158
+
159
+ # 3c. Adversarial scoring (Workflow Module 2)
160
+ score_result = Workflow({
161
+ scriptPath: "<skill>/workflows/wf-swarm-score.js",
162
+ args: { iteration: k, ant_results: explore_result.ant_results, objective, rubric }
163
+ })
164
+
165
+ # 3d. Write scores + pheromone update
166
+ write_to_file("<session>/scores/iter-k-scores.json", score_result)
167
+ run_command("python aco.py --session <session> update --iter k")
168
+
169
+ # 3e. Adversarial convergence check (Workflow Module 3)
170
+ converge_result = Workflow({
171
+ scriptPath: "<skill>/workflows/wf-swarm-converge.js",
172
+ args: { iteration: k, best: aco_best, history: iter_history, config }
173
+ })
174
+
175
+ # 3f. Save + check
176
+ write_to_file("<session>/workflows/converge-k.json", converge_result)
177
+ if converge_result.converged: break
178
+ ```
179
+
180
+ **注意**:每次 Workflow 调用是独立的,数据通过 args 传入、返回值传出。
181
+ Coordinator 负责 Workflow 间的数据桥接和 Python 脚本调用。
182
+
183
+ ### Phase 4: Synthesis
184
+
185
+ 1. `Bash: python aco.py --session <session> report` → 获取 best + top_k + curve
186
+ 2. 调用 Workflow Module 4:
187
+ ```
188
+ Workflow({
189
+ scriptPath: "<skill>/workflows/wf-swarm-synthesize.js",
190
+ args: { best, top_k, convergence_story, objective }
191
+ })
192
+ ```
193
+ 3. 将 synthesis 结果写入 `<session>/artifacts/best-solution.md`
194
+ 4. 展示完成摘要 + ask_question(归档 / 保留 / 导出 / 再跑一轮)
195
+
196
+ ---
197
+
198
+ ## Module Composition Patterns
199
+
200
+ ### 完整流水线(默认)
201
+ ```
202
+ explore → score → update → converge → [loop] → synthesize
203
+ ```
204
+
205
+ ### 仅探索(跳过评分,用 self_score)
206
+ ```
207
+ explore → update(self_score) → converge → synthesize
208
+ ```
209
+
210
+ ### 单次迭代调试
211
+ ```
212
+ explore(k=1) → score(k=1) // 不循环,只看一轮
213
+ ```
214
+
215
+ ### 独立评分(已有 ant artifacts)
216
+ ```
217
+ score(ant_results from files) → 输出 verified_scores
218
+ ```
219
+
220
+ ### 独立综合(已有 best + trails)
221
+ ```
222
+ synthesize(best, top_k) → best-solution.md
223
+ ```
224
+
225
+ ---
226
+
227
+ ## Error Handling
228
+
229
+ | Scenario | Resolution |
230
+ |----------|------------|
231
+ | aco.py 未找到 | Glob team-swarm skill 路径;提示安装 |
232
+ | Python < 3.10 | 尝试 python3;报告依赖 |
233
+ | Workflow 执行失败 | 记录错误,提供 --resume 恢复点 |
234
+ | 所有蚁全部失败 | 暂停,ask_question(重试/终止/调整config) |
235
+ | 收敛从不触发 | max_iterations 安全网总会触发 |
236
+ | 幻觉集群 (>50% 蚁被降分) | 暂停,ask_question(继续/调整评分规则) |
237
+
238
+ ## Completion
239
+
240
+ 展示最终结果 + 交互选择:
241
+ - **归档**: 保存 session,展示 best-solution.md
242
+ - **继续**: 保持 session,可追加迭代
243
+ - **导出**: 复制 best-solution.md 到目标位置
244
+ - **再跑**: 重置收敛,继续 K 轮