maestro-flow 0.5.35 → 0.5.36

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 (269) hide show
  1. package/.agents/agents/cli-explore-agent.md +71 -68
  2. package/.agents/agents/workflow-analyzer.md +1 -0
  3. package/.agents/agents/workflow-debugger.md +1 -0
  4. package/.agents/agents/workflow-executor.md +1 -0
  5. package/.agents/skills/domain-add/SKILL.md +71 -0
  6. package/.agents/skills/maestro/SKILL.md +7 -6
  7. package/.agents/skills/maestro-amend/SKILL.md +0 -2
  8. package/.agents/skills/maestro-analyze/SKILL.md +9 -0
  9. package/.agents/skills/maestro-brainstorm/SKILL.md +10 -1
  10. package/.agents/skills/maestro-collab/SKILL.md +14 -1
  11. package/.agents/skills/maestro-next/SKILL.md +15 -4
  12. package/.agents/skills/maestro-overlay/SKILL.md +4 -3
  13. package/.agents/skills/maestro-plan/SKILL.md +12 -3
  14. package/.agents/skills/maestro-ralph/SKILL.md +89 -14
  15. package/.agents/skills/maestro-tools-register/SKILL.md +0 -6
  16. package/.agents/skills/maestro-ui-codify/SKILL.md +0 -2
  17. package/.agents/skills/manage-kg-extractors/SKILL.md +0 -2
  18. package/.agents/skills/quality-test/SKILL.md +0 -2
  19. package/.agents/skills/spec-load/SKILL.md +0 -1
  20. package/.agents/skills/spec-setup/SKILL.md +0 -1
  21. package/.agents/skills/team-lifecycle-v4/roles/analyst/role.md +13 -7
  22. package/.agents/skills/team-quality-assurance/roles/scout/role.md +15 -11
  23. package/.agents/skills/team-tech-debt/roles/scanner/role.md +1 -1
  24. package/.agents/skills/team-ultra-analyze/roles/explorer/role.md +23 -16
  25. package/.agy/agents/cli-explore-agent.md +71 -68
  26. package/.agy/agents/workflow-analyzer.md +1 -0
  27. package/.agy/agents/workflow-debugger.md +1 -0
  28. package/.agy/agents/workflow-executor.md +1 -0
  29. package/.agy/skills/domain-add/SKILL.md +68 -0
  30. package/.agy/skills/maestro/SKILL.md +7 -6
  31. package/.agy/skills/maestro-amend/SKILL.md +0 -2
  32. package/.agy/skills/maestro-analyze/SKILL.md +9 -0
  33. package/.agy/skills/maestro-brainstorm/SKILL.md +10 -1
  34. package/.agy/skills/maestro-collab/SKILL.md +14 -1
  35. package/.agy/skills/maestro-next/SKILL.md +15 -4
  36. package/.agy/skills/maestro-overlay/SKILL.md +4 -3
  37. package/.agy/skills/maestro-plan/SKILL.md +12 -3
  38. package/.agy/skills/maestro-ralph/SKILL.md +89 -14
  39. package/.agy/skills/maestro-tools-register/SKILL.md +0 -6
  40. package/.agy/skills/maestro-ui-codify/SKILL.md +0 -2
  41. package/.agy/skills/manage-kg-extractors/SKILL.md +0 -2
  42. package/.agy/skills/quality-test/SKILL.md +0 -2
  43. package/.agy/skills/spec-load/SKILL.md +0 -1
  44. package/.agy/skills/spec-setup/SKILL.md +0 -1
  45. package/.agy/skills/team-lifecycle-v4/roles/analyst/role.md +13 -7
  46. package/.agy/skills/team-quality-assurance/roles/scout/role.md +15 -11
  47. package/.agy/skills/team-tech-debt/roles/scanner/role.md +1 -1
  48. package/.agy/skills/team-ultra-analyze/roles/explorer/role.md +23 -16
  49. package/.claude/agents/cli-explore-agent.md +71 -68
  50. package/.claude/agents/workflow-analyzer.md +1 -0
  51. package/.claude/agents/workflow-debugger.md +1 -0
  52. package/.claude/agents/workflow-executor.md +1 -0
  53. package/.claude/commands/domain-add.md +69 -0
  54. package/.claude/commands/maestro-amend.md +0 -2
  55. package/.claude/commands/maestro-analyze.md +9 -0
  56. package/.claude/commands/maestro-brainstorm.md +10 -1
  57. package/.claude/commands/maestro-collab.md +14 -1
  58. package/.claude/commands/maestro-next.md +15 -4
  59. package/.claude/commands/maestro-overlay.md +4 -3
  60. package/.claude/commands/maestro-plan.md +12 -3
  61. package/.claude/commands/maestro-ralph.md +89 -14
  62. package/.claude/commands/maestro-tools-register.md +0 -6
  63. package/.claude/commands/maestro-ui-codify.md +0 -2
  64. package/.claude/commands/maestro.md +7 -6
  65. package/.claude/commands/manage-kg-extractors.md +0 -2
  66. package/.claude/commands/quality-test.md +0 -2
  67. package/.claude/commands/spec-load.md +0 -1
  68. package/.claude/commands/spec-setup.md +0 -1
  69. package/.claude/skills/team-lifecycle-v4/roles/analyst/role.md +13 -7
  70. package/.claude/skills/team-quality-assurance/roles/scout/role.md +15 -11
  71. package/.claude/skills/team-tech-debt/roles/scanner/role.md +1 -1
  72. package/.claude/skills/team-ultra-analyze/roles/explorer/role.md +23 -16
  73. package/.codex/skills/domain-add/SKILL.md +79 -0
  74. package/.codex/skills/domain-discover/SKILL.md +43 -0
  75. package/.codex/skills/domain-list/SKILL.md +38 -0
  76. package/.codex/skills/learn-follow/SKILL.md +0 -3
  77. package/.codex/skills/learn-investigate/SKILL.md +0 -3
  78. package/.codex/skills/learn-retro/SKILL.md +0 -2
  79. package/.codex/skills/maestro/SKILL.md +17 -11
  80. package/.codex/skills/maestro-amend/SKILL.md +0 -2
  81. package/.codex/skills/maestro-analyze/SKILL.md +16 -3
  82. package/.codex/skills/maestro-blueprint/SKILL.md +0 -4
  83. package/.codex/skills/maestro-brainstorm/SKILL.md +16 -2
  84. package/.codex/skills/maestro-collab/SKILL.md +14 -1
  85. package/.codex/skills/maestro-companion/SKILL.md +0 -2
  86. package/.codex/skills/maestro-fork/SKILL.md +0 -2
  87. package/.codex/skills/maestro-grill/SKILL.md +0 -1
  88. package/.codex/skills/maestro-next/SKILL.md +12 -5
  89. package/.codex/skills/maestro-plan/SKILL.md +17 -2
  90. package/.codex/skills/maestro-ralph/SKILL.md +4 -3
  91. package/.codex/skills/maestro-roadmap/SKILL.md +0 -2
  92. package/.codex/skills/manage-wiki/SKILL.md +0 -2
  93. package/.codex/skills/odyssey-debug/SKILL.md +0 -2
  94. package/.codex/skills/odyssey-improve/SKILL.md +0 -6
  95. package/.codex/skills/odyssey-review-test-fix/SKILL.md +0 -3
  96. package/.codex/skills/odyssey-ui/SKILL.md +0 -3
  97. package/.codex/skills/spec-setup/SKILL.md +0 -2
  98. package/.codex/skills/team-coordinate/SKILL.md +0 -3
  99. package/.codex/skills/team-lifecycle-v4/instructions/agent-instruction.md +0 -2
  100. package/chains/_intent-map.json +36 -0
  101. package/chains/blueprint-driven.json +49 -0
  102. package/chains/grill-driven.json +51 -0
  103. package/dashboard/dist-server/dashboard/src/server/agents/adapter-factory.js +4 -0
  104. package/dashboard/dist-server/dashboard/src/server/agents/adapter-factory.js.map +1 -1
  105. package/dashboard/dist-server/dashboard/src/server/agents/api-explore-adapter.d.ts +6 -0
  106. package/dashboard/dist-server/dashboard/src/server/agents/api-explore-adapter.js +36 -0
  107. package/dashboard/dist-server/dashboard/src/server/agents/api-explore-adapter.js.map +1 -0
  108. package/dashboard/dist-server/dashboard/src/server/agents/stream-json-adapter.d.ts +1 -1
  109. package/dashboard/dist-server/dashboard/src/server/agents/stream-json-adapter.js.map +1 -1
  110. package/dashboard/dist-server/dashboard/src/server/wiki/search.d.ts +1 -1
  111. package/dashboard/dist-server/dashboard/src/server/wiki/search.js +13 -0
  112. package/dashboard/dist-server/dashboard/src/server/wiki/search.js.map +1 -1
  113. package/dashboard/dist-server/dashboard/src/server/wiki/virtual-wiki-adapters.d.ts +11 -0
  114. package/dashboard/dist-server/dashboard/src/server/wiki/virtual-wiki-adapters.js +492 -1
  115. package/dashboard/dist-server/dashboard/src/server/wiki/virtual-wiki-adapters.js.map +1 -1
  116. package/dashboard/dist-server/dashboard/src/server/wiki/wiki-indexer.d.ts +6 -1
  117. package/dashboard/dist-server/dashboard/src/server/wiki/wiki-indexer.js +92 -4
  118. package/dashboard/dist-server/dashboard/src/server/wiki/wiki-indexer.js.map +1 -1
  119. package/dashboard/dist-server/dashboard/src/shared/constants.js +2 -0
  120. package/dashboard/dist-server/dashboard/src/shared/constants.js.map +1 -1
  121. package/dashboard/dist-server/shared/agent-types.d.ts +1 -1
  122. package/dashboard/dist-server/src/commands/hooks.js +49 -1
  123. package/dashboard/dist-server/src/commands/hooks.js.map +1 -1
  124. package/dashboard/dist-server/src/graph/kg/extraction/knowledge/domain-extractor.js +4 -2
  125. package/dashboard/dist-server/src/graph/kg/extraction/knowledge/domain-extractor.js.map +1 -1
  126. package/dashboard/dist-server/src/graph/kg/extraction/knowledge-extractor-registry.js +6 -1
  127. package/dashboard/dist-server/src/graph/kg/extraction/knowledge-extractor-registry.js.map +1 -1
  128. package/dashboard/dist-server/src/hooks/session-context.js +37 -1
  129. package/dashboard/dist-server/src/hooks/session-context.js.map +1 -1
  130. package/dashboard/dist-server/src/search/daemon.d.ts +42 -0
  131. package/dashboard/dist-server/src/search/daemon.js +180 -0
  132. package/dashboard/dist-server/src/search/daemon.js.map +1 -0
  133. package/dashboard/dist-server/src/tools/domain-loader.d.ts +4 -1
  134. package/dashboard/dist-server/src/tools/domain-loader.js +56 -25
  135. package/dashboard/dist-server/src/tools/domain-loader.js.map +1 -1
  136. package/dashboard/dist-server/src/tools/domain-schema.d.ts +1 -1
  137. package/dashboard/dist-server/src/tools/domain-schema.js +1 -1
  138. package/dist/shared/agent-types.d.ts +1 -1
  139. package/dist/shared/agent-types.d.ts.map +1 -1
  140. package/dist/src/agents/api-explore/agent-loop.d.ts +14 -0
  141. package/dist/src/agents/api-explore/agent-loop.d.ts.map +1 -0
  142. package/dist/src/agents/api-explore/agent-loop.js +86 -0
  143. package/dist/src/agents/api-explore/agent-loop.js.map +1 -0
  144. package/dist/src/agents/api-explore/config.d.ts +42 -0
  145. package/dist/src/agents/api-explore/config.d.ts.map +1 -0
  146. package/dist/src/agents/api-explore/config.js +99 -0
  147. package/dist/src/agents/api-explore/config.js.map +1 -0
  148. package/dist/src/agents/api-explore/index.d.ts +2 -0
  149. package/dist/src/agents/api-explore/index.d.ts.map +1 -0
  150. package/dist/src/agents/api-explore/index.js +102 -0
  151. package/dist/src/agents/api-explore/index.js.map +1 -0
  152. package/dist/src/agents/api-explore/llm.d.ts +28 -0
  153. package/dist/src/agents/api-explore/llm.d.ts.map +1 -0
  154. package/dist/src/agents/api-explore/llm.js +48 -0
  155. package/dist/src/agents/api-explore/llm.js.map +1 -0
  156. package/dist/src/agents/api-explore/prompt-parser.d.ts +23 -0
  157. package/dist/src/agents/api-explore/prompt-parser.d.ts.map +1 -0
  158. package/dist/src/agents/api-explore/prompt-parser.js +73 -0
  159. package/dist/src/agents/api-explore/prompt-parser.js.map +1 -0
  160. package/dist/src/agents/api-explore/runner.d.ts +65 -0
  161. package/dist/src/agents/api-explore/runner.d.ts.map +1 -0
  162. package/dist/src/agents/api-explore/runner.js +196 -0
  163. package/dist/src/agents/api-explore/runner.js.map +1 -0
  164. package/dist/src/agents/api-explore/session.d.ts +23 -0
  165. package/dist/src/agents/api-explore/session.d.ts.map +1 -0
  166. package/dist/src/agents/api-explore/session.js +57 -0
  167. package/dist/src/agents/api-explore/session.js.map +1 -0
  168. package/dist/src/agents/api-explore/stream-json-emitter.d.ts +10 -0
  169. package/dist/src/agents/api-explore/stream-json-emitter.d.ts.map +1 -0
  170. package/dist/src/agents/api-explore/stream-json-emitter.js +19 -0
  171. package/dist/src/agents/api-explore/stream-json-emitter.js.map +1 -0
  172. package/dist/src/agents/api-explore/system-prompt.d.ts +2 -0
  173. package/dist/src/agents/api-explore/system-prompt.d.ts.map +1 -0
  174. package/dist/src/agents/api-explore/system-prompt.js +31 -0
  175. package/dist/src/agents/api-explore/system-prompt.js.map +1 -0
  176. package/dist/src/agents/api-explore/tools.d.ts +11 -0
  177. package/dist/src/agents/api-explore/tools.d.ts.map +1 -0
  178. package/dist/src/agents/api-explore/tools.js +168 -0
  179. package/dist/src/agents/api-explore/tools.js.map +1 -0
  180. package/dist/src/agents/cli-agent-runner.d.ts.map +1 -1
  181. package/dist/src/agents/cli-agent-runner.js +3 -0
  182. package/dist/src/agents/cli-agent-runner.js.map +1 -1
  183. package/dist/src/cli.js +3 -0
  184. package/dist/src/cli.js.map +1 -1
  185. package/dist/src/commands/domain.d.ts.map +1 -1
  186. package/dist/src/commands/domain.js +5 -4
  187. package/dist/src/commands/domain.js.map +1 -1
  188. package/dist/src/commands/explore.d.ts +7 -0
  189. package/dist/src/commands/explore.d.ts.map +1 -0
  190. package/dist/src/commands/explore.js +201 -0
  191. package/dist/src/commands/explore.js.map +1 -0
  192. package/dist/src/commands/hooks.d.ts.map +1 -1
  193. package/dist/src/commands/hooks.js +49 -1
  194. package/dist/src/commands/hooks.js.map +1 -1
  195. package/dist/src/commands/search.d.ts +21 -4
  196. package/dist/src/commands/search.d.ts.map +1 -1
  197. package/dist/src/commands/search.js +289 -93
  198. package/dist/src/commands/search.js.map +1 -1
  199. package/dist/src/commands/workspace.d.ts.map +1 -1
  200. package/dist/src/commands/workspace.js +9 -3
  201. package/dist/src/commands/workspace.js.map +1 -1
  202. package/dist/src/config/cli-tools-defaults.json +2 -1
  203. package/dist/src/graph/kg/extraction/knowledge/domain-extractor.d.ts.map +1 -1
  204. package/dist/src/graph/kg/extraction/knowledge/domain-extractor.js +4 -2
  205. package/dist/src/graph/kg/extraction/knowledge/domain-extractor.js.map +1 -1
  206. package/dist/src/graph/kg/extraction/knowledge-extractor-registry.d.ts.map +1 -1
  207. package/dist/src/graph/kg/extraction/knowledge-extractor-registry.js +6 -1
  208. package/dist/src/graph/kg/extraction/knowledge-extractor-registry.js.map +1 -1
  209. package/dist/src/graph/kg/surface/cli.d.ts.map +1 -1
  210. package/dist/src/graph/kg/surface/cli.js +5 -2
  211. package/dist/src/graph/kg/surface/cli.js.map +1 -1
  212. package/dist/src/hooks/session-context.d.ts.map +1 -1
  213. package/dist/src/hooks/session-context.js +37 -1
  214. package/dist/src/hooks/session-context.js.map +1 -1
  215. package/dist/src/ralph/cmd-next.js +64 -1
  216. package/dist/src/ralph/cmd-next.js.map +1 -1
  217. package/dist/src/ralph/status-schema.d.ts +1 -0
  218. package/dist/src/ralph/status-schema.d.ts.map +1 -1
  219. package/dist/src/search/daemon.d.ts +43 -0
  220. package/dist/src/search/daemon.d.ts.map +1 -0
  221. package/dist/src/search/daemon.js +180 -0
  222. package/dist/src/search/daemon.js.map +1 -0
  223. package/dist/src/tools/__tests__/domain-search-debug.js +3 -1
  224. package/dist/src/tools/__tests__/domain-search-debug.js.map +1 -1
  225. package/dist/src/tools/domain-loader.d.ts +4 -1
  226. package/dist/src/tools/domain-loader.d.ts.map +1 -1
  227. package/dist/src/tools/domain-loader.js +56 -25
  228. package/dist/src/tools/domain-loader.js.map +1 -1
  229. package/dist/src/tools/domain-schema.d.ts +1 -1
  230. package/dist/src/tools/domain-schema.js +1 -1
  231. package/dist/src/utils/update-notices.js +12 -0
  232. package/dist/src/utils/update-notices.js.map +1 -1
  233. package/package.json +5 -3
  234. package/shared/agent-types.ts +1 -1
  235. package/templates/search-tools.md +22 -6
  236. package/workflows/agy-instructions.md +0 -4
  237. package/workflows/analyze.md +2 -2
  238. package/workflows/boundary-grill.md +50 -0
  239. package/workflows/brainstorm.md +6 -5
  240. package/workflows/claude-instructions.md +12 -0
  241. package/workflows/codebase-rebuild.md +0 -1
  242. package/workflows/codex-instructions.md +12 -0
  243. package/workflows/debug.md +0 -4
  244. package/workflows/domain-add.md +115 -0
  245. package/workflows/execute.md +7 -0
  246. package/workflows/explore-usage.md +128 -0
  247. package/workflows/finish-work.md +2 -6
  248. package/workflows/fork.md +0 -4
  249. package/workflows/grill.md +14 -1
  250. package/workflows/harvest.md +0 -3
  251. package/workflows/impeccable/audit.md +0 -2
  252. package/workflows/impeccable/codex.md +0 -4
  253. package/workflows/init.md +9 -0
  254. package/workflows/interview-mechanics.md +3 -2
  255. package/workflows/issue-analyze.md +0 -5
  256. package/workflows/issue-gaps-analyze.codex.md +0 -6
  257. package/workflows/knowledge-audit.md +0 -4
  258. package/workflows/learn.md +0 -6
  259. package/workflows/maestro.codex.md +0 -4
  260. package/workflows/maestro.md +31 -18
  261. package/workflows/merge.md +0 -4
  262. package/workflows/milestone-complete.md +0 -4
  263. package/workflows/overlays.md +0 -10
  264. package/workflows/plan.md +0 -2
  265. package/workflows/roadmap-common.md +0 -4
  266. package/workflows/tdd.md +0 -2
  267. package/workflows/tools-spec.md +1 -7
  268. package/workflows/ui-codify-extract.md +0 -2
  269. package/workflows/ui-codify-package.md +0 -2
@@ -1,7 +1,5 @@
1
1
  # Maestro for Antigravity CLI
2
2
 
3
- Workflow orchestration CLI with MCP endpoint support and extensible architecture, adapted for Antigravity CLI tooling.
4
-
5
3
  - **Coding Philosophy**: @~/.maestro/workflows/coding-philosophy.md
6
4
 
7
5
  ## Delegate & CLI
@@ -11,8 +9,6 @@ Workflow orchestration CLI with MCP endpoint support and extensible architecture
11
9
 
12
10
  **Strictly follow the cli-tools.json configuration**
13
11
 
14
- Available CLI endpoints are dynamically defined by the config file. Use `maestro delegate --to agy` to dispatch tasks to the Antigravity CLI.
15
-
16
12
  ## Antigravity Tool Priority
17
13
 
18
14
  When choosing between equivalent tools, prefer the agy native primitives over shell fallbacks:
@@ -163,11 +163,13 @@ Parse $ARGUMENTS to determine mode and flags:
163
163
  - `constraints[status=open]` → prioritize for analysis
164
164
  - `open_questions[]` → seed discussion topics
165
165
  6. Load project specs: `specs_content = maestro spec load --category arch`
166
+ 7. Load domain glossary: read `.workflow/domain/glossary.yaml`(如存在)— 分析过程中使用 canonical term names 保持术语一致性;新发现的术语候选记入 `context-package.json#domain.terminology[]`
166
167
 
167
168
  **Load prior context** (adhoc/standalone scope):
168
169
  1. Read `.workflow/project.md` (if exists) — project vision, Validated requirements, Active requirements, Key Decisions
169
170
  2. Read `.workflow/state.json` (if exists) → `accumulated_context` (key_decisions, deferred, blockers)
170
171
  3. Load project specs: `specs_content = maestro spec load --category arch`
172
+ 4. Load domain glossary: read `.workflow/domain/glossary.yaml`(如存在)
171
173
 
172
174
  **Quick mode routing**: If QUICK_MODE, skip to Step 8 (Decision Extraction) after loading context.
173
175
 
@@ -525,8 +527,6 @@ Implementer's choice. Research suggests: {relevant finding from researchContext}
525
527
  (e.g., "Standard Stack recommends React Query for server state. Common pitfall: avoid mixing with Redux for async.")
526
528
  ```
527
529
 
528
- This makes research findings visible to the planner through context.md without imposing hard constraints.
529
-
530
530
  **8.5: Write context.md**
531
531
 
532
532
  Write to `OUTPUT_DIR/context.md`:
@@ -0,0 +1,50 @@
1
+ # Boundary Grill — Embedded Mini-Review Protocol
2
+
3
+
4
+ ## Conflict Types
5
+
6
+ | ID | Signal | Example |
7
+ |----|--------|---------|
8
+ | `RSC` | Decision outside command's scope guard | analyze outputs task-level details (plan scope) |
9
+ | `MOD` | Changes cross 2+ module boundaries | task touches `commands/` and `hooks/` without declaring cross-module |
10
+ | `DEC` | Upstream locked decision contradicts code | locked "use EventEmitter" but code uses Subject at `file:line` |
11
+
12
+ ## Trigger
13
+
14
+ Run boundary grill when ANY of:
15
+ - **RSC**: produced decision matches another command's scope guard keywords
16
+ - **MOD**: `ARCHITECTURE.md` exists AND changes touch 2+ top-level modules
17
+ - **DEC**: upstream Locked decisions AND code grep shows contradicting patterns
18
+
19
+ Priority when >3 conflicts: DEC > RSC > MOD.
20
+
21
+ ## Protocol
22
+
23
+ Per conflict (max 3 conflicts × 3 questions = 9 total):
24
+ 1. State the conflict with `file:line` evidence
25
+ 2. Ask 2-3 adversarial questions via AskUserQuestion — challenge with code reality
26
+ 3. Resolve: RESOLVED (evidence-based) / DEFERRED (needs escalation) / ACCEPTED_RISK
27
+
28
+ **Auto mode (`-y`)**: skip questions, resolve via code evidence weighting:
29
+ - RSC → defer to target scope
30
+ - MOD → follow existing cross-module pattern (or flag as risk)
31
+ - DEC → code wins (current code = ground truth)
32
+
33
+ ## Output
34
+
35
+ Append to calling command's primary output:
36
+
37
+ ```markdown
38
+ ## Boundary Grill Results
39
+
40
+ | # | Type | Conflict | Resolution | Evidence |
41
+ |---|------|----------|------------|----------|
42
+ ```
43
+
44
+ Feed into `context.md`: resolved DEC → amend Locked; unresolved → Deferred with `boundary_grill: true`.
45
+
46
+ ## Constraints
47
+
48
+ - Non-blocking — warnings + resolutions, never hard stops
49
+ - Evidence MUST include `file:line` — generic assertions invalid
50
+ - Results visible in command output — no silent swallowing
@@ -1,7 +1,5 @@
1
1
  # Workflow: Brainstorm
2
2
 
3
- Dual-mode brainstorming: auto pipeline (full multi-role analysis) or single role analysis.
4
-
5
3
  ## Architecture
6
4
 
7
5
  ```
@@ -202,9 +200,12 @@ Pass into Steps 2 and 3.
202
200
 
203
201
  ### Step 2: Terminology & Boundary Definition (Auto Mode)
204
202
 
205
- 1. Extract 5-10 core domain terms (merge upstream locked terms if available)
206
- 2. AskUserQuestion for Non-Goals (multiSelect, include "其他" option)
207
- 3. Store terminology + non_goals to session
203
+ 1. Load existing domain terms: read `.workflow/domain/glossary.yaml` 中已注册术语,避免重复定义
204
+ 2. Extract 5-10 core domain terms (merge upstream locked terms + existing glossary terms)
205
+ 3. AskUserQuestion for Non-Goals (multiSelect, include "其他" option)
206
+ 4. Store terminology + non_goals to session
207
+
208
+ 新候选术语仅存入 `context-package.json#domain.terminology[]`,不直接写 glossary.yaml。由 chain 末尾 `manage-harvest --auto` 触发 finish-work Step 3.5 统一提升为正式术语。
208
209
 
209
210
  **Skip if**: `--yes` (auto-generate terms, empty non-goals)
210
211
 
@@ -5,10 +5,22 @@
5
5
  ## Delegate & CLI
6
6
 
7
7
  - **Delegate Usage**: @~/.maestro/workflows/delegate-usage.md
8
+ - **Explore Usage**: @~/.maestro/workflows/explore-usage.md
8
9
  - **CLI Endpoints Config**: @~/.maestro/cli-tools.json
9
10
 
10
11
  **Strictly follow the cli-tools.json configuration**
11
12
 
13
+ ## Explore Priority
14
+
15
+ Commands with codebase exploration/search steps should prefer `maestro explore` over inline Grep/Read:
16
+ - **odyssey-\*** (archaeology, explore, discover phases)
17
+ - **analyze, blueprint, grill** (discovery/scan phases)
18
+ - **learn-investigate** (evidence gathering)
19
+ - **issue-discover** (multi-perspective scan)
20
+ - **impeccable teach/explore** (codebase scan)
21
+
22
+ Use structured prompt format (`FIND/SCOPE/EXCLUDE/ATTENTION/EXPECTED`) for targeted searches. Multi-prompt parallel for multi-angle scans.
23
+
12
24
  ## Knowledge System
13
25
 
14
26
  **Gate rule: On any coding/modification/debugging task, run `maestro search` BEFORE reading code or editing files. Use targeted queries — multiple short searches beat one long one.**
@@ -204,7 +204,6 @@ Uses the native `maestro kg index` command (`src/graph/analyzers/fs-analyzer.ts`
204
204
  maestro kg index --src "$PROJECT_ROOT/src"
205
205
  ```
206
206
 
207
- This single command performs:
208
207
  - File system scan and code entity extraction (nodes, edges)
209
208
  - Import/call graph analysis and test pairing (tested_by edges)
210
209
  - Layer classification and topological tour generation
@@ -2,10 +2,22 @@
2
2
 
3
3
 
4
4
  - **Delegate Usage**: @~/.maestro/workflows/delegate-usage.md
5
+ - **Explore Usage**: @~/.maestro/workflows/explore-usage.md
5
6
  - **CLI Endpoints Config**: @~/.maestro/cli-tools.json
6
7
 
7
8
  **Strictly follow the cli-tools.json configuration**
8
9
 
10
+ ## Explore Priority
11
+
12
+ Commands with codebase exploration/search steps should prefer `maestro explore` over inline Grep/Read:
13
+ - **odyssey-\*** (archaeology, explore, discover phases)
14
+ - **analyze, blueprint, grill** (discovery/scan phases)
15
+ - **learn-investigate** (evidence gathering)
16
+ - **issue-discover** (multi-perspective scan)
17
+ - **impeccable teach/explore** (codebase scan)
18
+
19
+ Use structured prompt format (`FIND/SCOPE/EXCLUDE/ATTENTION/EXPECTED`) for targeted searches. Multi-prompt parallel for multi-angle scans.
20
+
9
21
  # Coding Philosophy
10
22
 
11
23
  ## Core Beliefs
@@ -1,9 +1,5 @@
1
1
  # Debug Workflow
2
2
 
3
- Scientific method debugging with subagent isolation. Three modes: **Standalone** (user describes issue), **From UAT** (`--from-uat`, pre-filled symptoms), **Parallel** (`--parallel`, concurrent agents per gap cluster).
4
-
5
- Output: `understanding.md` + `evidence.ndjson` per investigation.
6
-
7
3
  ---
8
4
 
9
5
  ## Iron Law
@@ -0,0 +1,115 @@
1
+ ---
2
+ name: domain-add
3
+ alias: domain-add
4
+ ---
5
+
6
+ # Workflow: domain-add
7
+
8
+ Register a domain term into `.workflow/domain/glossary.yaml`.
9
+
10
+ ## Arguments
11
+
12
+ ```
13
+ $ARGUMENTS: "<canonical> <definition>"
14
+
15
+ canonical -- kebab-case term name (e.g. "auth-token", "event-bus")
16
+ definition -- one-line definition (≤200 chars)
17
+ ```
18
+
19
+ ## Prerequisites
20
+
21
+ - `.workflow/domain/` directory must exist (run `maestro domain init` if missing)
22
+
23
+ ## Execution Steps
24
+
25
+ ### Step 1: Parse Arguments
26
+
27
+ ```
28
+ Parse $ARGUMENTS:
29
+ 1. canonical = first token (kebab-case, e.g. "auth-token")
30
+ 2. definition = remaining text
31
+ Validate:
32
+ - canonical is non-empty, kebab-case (lowercase, hyphens only)
33
+ - definition is non-empty, ≤200 chars
34
+ On failure: show usage `domain-add <canonical> "<definition>"`, exit
35
+ ```
36
+
37
+ ### Step 2: Check Glossary State
38
+
39
+ Verify `.workflow/domain/glossary.yaml` exists. If not, create via `maestro domain init`.
40
+
41
+ Read existing glossary and check for:
42
+ - **Exact duplicate**: same canonical name already registered → report existing entry, exit
43
+ - **Near match**: Levenshtein distance ≤ 2 or alias overlap → warn, ask to confirm or merge
44
+
45
+ ### Step 3: Extract Metadata
46
+
47
+ Auto-derive from the definition and codebase context:
48
+
49
+ - **aliases** (1-3): common abbreviations, Chinese translations, or alternate forms the term is known by
50
+ - **keywords** (3-5): search terms for discovery
51
+ - **tier**: `core` (fundamental project concept) | `extended` (secondary) | `peripheral` (rarely referenced)
52
+ - **relationships**: scan existing glossary for related terms (semantic overlap or dependency)
53
+
54
+ ### Step 4: Register Term
55
+
56
+ Write via `maestro domain add`:
57
+
58
+ ```bash
59
+ maestro domain add "<canonical>" "<definition>" --tier <tier>
60
+ ```
61
+
62
+ If aliases or relationships identified, update immediately:
63
+
64
+ ```bash
65
+ maestro domain update "<canonical>" --aliases "alias1,alias2" --keywords "kw1,kw2,kw3" --relationships "related-term-1,related-term-2"
66
+ ```
67
+
68
+ Records `source.kind = 'manual'`, `source.registered_at = now`.
69
+
70
+ ### Step 5: Verify Injection
71
+
72
+ Confirm the term is injectable by checking:
73
+
74
+ ```bash
75
+ maestro domain show "<canonical>"
76
+ ```
77
+
78
+ Display: canonical name, definition, aliases, tier, relationships, and verify command:
79
+ ```
80
+ maestro domain list
81
+ ```
82
+
83
+ ### Step 6: Report
84
+
85
+ ```
86
+ === DOMAIN TERM REGISTERED ===
87
+ Term: {canonical}
88
+ Definition: {definition}
89
+ Aliases: {alias1, alias2}
90
+ Tier: {tier}
91
+ Related: {rel1, rel2}
92
+ Injection: domain-compact (always) + domain-expanded (on keyword match)
93
+ Next: maestro domain list | maestro domain discover (find more candidates)
94
+ ```
95
+
96
+ ## Auto-Discovery Alternative
97
+
98
+ For batch registration from codebase scanning:
99
+
100
+ ```bash
101
+ maestro domain discover # scan codebase for term candidates
102
+ maestro domain import # batch import from external source
103
+ ```
104
+
105
+ ## Domain Term Lifecycle
106
+
107
+ ```
108
+ discover/manual → register → active → (optional) deprecated → removed
109
+
110
+ update aliases/keywords/relationships
111
+ ```
112
+
113
+ ## Output
114
+
115
+ One domain term entry added to `.workflow/domain/glossary.yaml`.
@@ -589,6 +589,13 @@ Append unique entries to .workflow/specs/learnings.md using <spec-entry> closed-
589
589
  category="learning", keywords (3-5 terms), date, source="execute"
590
590
 
591
591
  Mark artifact.harvested = true; write state.json (atomic)
592
+
593
+ // Domain knowledge note:
594
+ // E5 仅提取 incremental learnings (spec category=learning)。
595
+ // 完整的知识提取(constraints → spec, decisions → knowhow, terminology → domain glossary)
596
+ // 由 chain 末尾的 manage-harvest --auto 触发 finish-work 统一处理。
597
+ // Domain compact/expanded 注入是 hook 自动行为,execute 期间无需手动加载——
598
+ // 已注册术语通过 keyword-spec-injector 自动注入到 agent context 中。
592
599
  ```
593
600
 
594
601
  ---
@@ -0,0 +1,128 @@
1
+ # Explore Usage
2
+
3
+ ```bash
4
+ maestro explore "<PROMPT>" [more prompts...] [options]
5
+ ```
6
+
7
+ ## When to Use
8
+
9
+ | Scenario | Example |
10
+ |----------|---------|
11
+ | Multi-angle codebase scan | 3 prompts scanning DB/API/error patterns in parallel |
12
+ | Quick code lookup | Single prompt, foreground |
13
+ | Per-prompt endpoint routing | JSON file with different endpoints per prompt |
14
+ | Lightweight read-only analysis | Where delegate is overkill (no session, no history) |
15
+
16
+ **Not for**: write-mode tasks, long sessions, interactive follow-ups — use `delegate` instead.
17
+
18
+ ## Options
19
+
20
+ | Option | Description | Default |
21
+ |--------|-------------|---------|
22
+ | `-e, --endpoint <names>` | Endpoint name(s), comma-separated | First available |
23
+ | `--all` | Fan out each prompt to all endpoints | — |
24
+ | `--parallel <n>` | Max concurrent endpoint queues | Config or `4` |
25
+ | `--ep-concurrency <n>` | Max concurrent jobs per endpoint | `1` (serial) |
26
+ | `--max-turns <n>` | Max agent turns per job | Config or `6` |
27
+ | `-f, --file <path>` | Load prompts from JSON or text file | — |
28
+ | `--cd <dir>` | Working directory | Current |
29
+ | `-o, --output-dir <dir>` | Custom session save directory | `.workflow/explore/` |
30
+ | `--no-save` | Skip session save | — |
31
+ | `--json` | Output results as JSON | — |
32
+
33
+ **1 prompt = 1 agent**. Endpoint resolution: `--endpoint` > `--all` > first available.
34
+
35
+ ## Prompt Template
36
+
37
+ ```
38
+ FIND: [what to search for — the core query]
39
+ SCOPE: [file patterns, directories, or modules]
40
+ EXCLUDE: [what to skip — files, patterns, false positives]
41
+ ATTENTION: [caveats, edge cases, things to watch for]
42
+ EXPECTED: [output format — evidence list, summary, JSON]
43
+ ```
44
+
45
+ Only `FIND` required. Plain text (no `FIND:` prefix) also works.
46
+
47
+ | Field | Role | Example |
48
+ |-------|------|---------|
49
+ | `FIND` | What to search for | `All database query patterns that could cause N+1` |
50
+ | `SCOPE` | Where to look | `src/db/**/*.ts`, `src/api/` |
51
+ | `EXCLUDE` | What to skip | `test files, generated code, node_modules` |
52
+ | `ATTENTION` | What to watch for | `ORM lazy-loading traps, raw SQL in service layer` |
53
+ | `EXPECTED` | Output format | `file:line evidence list with severity` |
54
+
55
+ ## Execution Model
56
+
57
+ **Serial within endpoint, parallel across endpoints.**
58
+
59
+ Same API → jobs queue and run one-by-one (avoids rate limits).
60
+ Different APIs → queues run concurrently.
61
+
62
+ ```
63
+ Endpoint A: [job1] → [job2] → [job3] (serial)
64
+ Endpoint B: [job4] → [job5] (serial)
65
+ ↑ parallel ↑
66
+ ```
67
+
68
+ Raise per-endpoint parallelism with `--ep-concurrency 2` when the API allows it.
69
+
70
+ ## Multi-Prompt Input
71
+
72
+ **Inline**: `maestro explore "prompt1" "prompt2" "prompt3"`
73
+
74
+ **JSON file** (`-f prompts.json`):
75
+
76
+ ```json
77
+ [
78
+ "simple string prompt",
79
+ { "prompt": "FIND: auth bypass\nSCOPE: src/api/", "endpoint": "deepseek" }
80
+ ]
81
+ ```
82
+
83
+ Per-prompt `endpoint` overrides global `--endpoint`.
84
+
85
+ **Text file** (`-f prompts.txt`): paragraphs separated by blank lines.
86
+
87
+ **Mixed**: `maestro explore "inline" -f file.json`
88
+
89
+ ## Session
90
+
91
+ Results auto-save to `.workflow/explore/{session-id}.json` per workspace.
92
+
93
+ ```bash
94
+ maestro explore show # list sessions
95
+ maestro explore output <id> # view session results
96
+ maestro explore output <id> --json # JSON output
97
+ ```
98
+
99
+ ## Endpoint Config
100
+
101
+ File: `~/.maestro/api-explore.json`
102
+
103
+ ```json
104
+ {
105
+ "endpoints": {
106
+ "qwen": { "baseUrl": "https://...", "apiKey": "sk-xxx", "model": "Qwen/Qwen3-8B" },
107
+ "deepseek": { "baseUrl": "https://...", "apiKey": "sk-yyy", "model": "deepseek-chat" }
108
+ },
109
+ "maxTurns": 6,
110
+ "concurrency": 4
111
+ }
112
+ ```
113
+
114
+ Proxy auto-inherited from `~/.maestro/cli-tools.json`. Legacy single-endpoint and env vars also supported.
115
+
116
+ ## Execution Rules
117
+
118
+ Multi-prompt — **background**:
119
+
120
+ ```
121
+ Bash({ command: "maestro explore \"p1\" \"p2\" --json", run_in_background: true })
122
+ ```
123
+
124
+ Single quick lookup — foreground is fine:
125
+
126
+ ```
127
+ Bash({ command: "maestro explore \"Where is X defined?\"" })
128
+ ```
@@ -1,7 +1,5 @@
1
1
  # Workflow: finish-work
2
2
 
3
- Last step of session commands. Inline-extracts spec/knowhow from this single session, then writes `archive.json` so the session enters `wiki search` (strategy 2: only sealed/archived sessions are indexed).
4
-
5
3
  ## Inputs
6
4
 
7
5
  Caller passes: `SESSION_DIR`, `SESSION_TYPE` (grill | brainstorm | analyze | blueprint | plan | execute | verify), `SESSION_ID`, `LINKED_MILESTONE` (optional).
@@ -78,10 +76,10 @@ Source priority:
78
76
 
79
77
  Process:
80
78
  1. 从 session 产物中收集术语候选
81
- 2. 过滤已注册的 `glossary.json` terms
79
+ 2. 过滤已注册的 `glossary.yaml` terms
82
80
  3. 0 个新候选 → 跳过(静默)
83
81
  4. ≥ 1 个新候选 → 交互确认(domain 注册始终需要用户确认,`-y` 对 domain 无效)
84
- 5. 确认的术语写入 `glossary.json` via `maestro domain add`
82
+ 5. 确认的术语写入 `glossary.yaml` via `maestro domain add`
85
83
  6. 记录到 `archive.json` 的 `extraction.domain_ids[]`
86
84
 
87
85
  Skip conditions:
@@ -130,8 +128,6 @@ Next: /maestro-milestone-complete will flip lifecycle.status → archived and pr
130
128
 
131
129
  ## Idempotency
132
130
 
133
- Re-running on same session: archive.json overwritten with fresh timestamps. Steps 2-3 skipped when existing `archive.json.extraction.harvested == true` (avoids duplicate spec/knowhow). Force re-extract: delete `archive.json` first.
134
-
135
131
  ## Boundary
136
132
 
137
133
  - Does NOT flip `archived_at` or move files — that is milestone-complete Step 2.3.
package/workflows/fork.md CHANGED
@@ -1,9 +1,5 @@
1
1
  # Workflow: fork
2
2
 
3
- Create a git worktree for an entire milestone, enabling inter-milestone parallel development. Copies `.workflow/` context into the worktree since `.workflow/` is gitignored.
4
-
5
- Worktrees operate at the **milestone level** — all phases within a milestone are owned by one worktree and executed sequentially inside it. Per-phase parallelism within a milestone is not supported.
6
-
7
3
  ---
8
4
 
9
5
  ## Step 1: Parse Arguments and Flags
@@ -451,7 +451,20 @@ Write `{output_dir}/context-package.json`:
451
451
  }
452
452
  ```
453
453
 
454
- ### 7.2: Completion Report
454
+ ### 7.2: Domain Knowledge Flow
455
+
456
+ Grill 产出的领域术语通过以下路径沉淀到项目知识库:
457
+
458
+ ```
459
+ terminology.md (locked terms) ──→ finish-work Step 3.5 ──→ .workflow/domain/glossary.yaml
460
+ context-package.json#domain.terminology[] ──→ finish-work Step 3.5 ──→ glossary.yaml
461
+ ```
462
+
463
+ - Grill 期间**不应**直接调用 `maestro domain add` — 术语在 grilling 过程中可能被修改或推翻
464
+ - 所有术语经 Step 5 synthesis 锁定后,由 chain 末尾的 `manage-harvest --auto` 自动触发 finish-work 提取
465
+ - finish-work Step 3.5 的 domain extraction 始终交互确认(`-y` 对 domain 注册无效)
466
+
467
+ ### 7.3: Completion Report
455
468
 
456
469
  ```
457
470
  Grill session {artifact_id} completed.
@@ -1,6 +1,5 @@
1
1
  # Harvest Workflow
2
2
 
3
- Extract knowledge from **any workflow artifact** (analysis, brainstorm, debug, lite-plan/fix, scratchpad, sessions) and route into wiki / spec / issue stores.
4
3
 
5
4
  ---
6
5
 
@@ -260,8 +259,6 @@ For each routed item, record in `.workflow/harvest/harvest-log.jsonl`:
260
259
  }
261
260
  ```
262
261
 
263
- This log prevents duplicate harvesting in future runs.
264
-
265
262
  ---
266
263
 
267
264
  ## Stage 7: dedup_check
@@ -1,7 +1,5 @@
1
1
  Run systematic **technical** quality checks and generate a comprehensive report. Don't fix issues; document them for other commands to address.
2
2
 
3
- This is a code-level audit, not a design critique. Check what's measurable and verifiable in the implementation.
4
-
5
3
  ## Diagnostic Scan
6
4
 
7
5
  Run comprehensive checks across 5 dimensions. Score each dimension 0-4 using the criteria below.
@@ -1,9 +1,5 @@
1
1
  # Codex: Visual Direction & Asset Production
2
2
 
3
- This file is loaded by `/maestro-impeccable craft` when the harness has native image generation (currently Codex via `image_gen`). Other harnesses skip it. It covers the two craft steps that depend on real image generation: landing the visual direction, and producing the raster assets the implementation will compose.
4
-
5
- Read this *before* generating any images. The order matters, and the per-step user pauses are what keep generated imagery from drifting away from the brief.
6
-
7
3
  ### Four stop points before code
8
4
 
9
5
  Steps A through D each end with the user. Do not advance past any of them on your own read of the situation.
package/workflows/init.md CHANGED
@@ -113,6 +113,14 @@ If `.workflow/specs/` does not exist:
113
113
  - Skip spec-setup (nothing to scan)
114
114
  - Note: Specs will be progressively populated as pipeline stages produce knowledge
115
115
 
116
+ ## Step 2.5: Domain Init (first-run only)
117
+
118
+ If `.workflow/domain/` does not exist:
119
+
120
+ 1. Run `Bash("maestro domain init")` — creates `.workflow/domain/glossary.yaml` with empty terms array
121
+ 2. If brownfield project (has source files): run `maestro domain discover --auto` to scan codebase for initial term candidates, present top 5 for confirmation
122
+ 3. If greenfield project: skip discovery (no codebase to scan); domain terms will be populated by grill/brainstorm sessions via finish-work extraction
123
+
116
124
 
117
125
  ---
118
126
 
@@ -126,6 +134,7 @@ Verify all required directories and files exist:
126
134
  state.json ✓
127
135
  config.json ✓
128
136
  specs/ ✓
137
+ domain/ ✓ (glossary.yaml)
129
138
  research/ ✓ (if research enabled)
130
139
  scratch/ ✓ (create empty)
131
140
  milestones/ ✓ (create empty)
@@ -3,5 +3,6 @@
3
3
  - **One decision per turn** via AskUserQuestion, 2-4 options, first marked `(Recommended)`. User can redirect via `Other`.
4
4
  - **Search-first**: resolve via state.json → session artifacts → `maestro spec/wiki` → Glob/Grep/Read → Agent(Explore) / delegate. Never ask what code can answer.
5
5
  - **Writeback**: each decision **immediately written to disk** before the next question. No batching.
6
- - **Skip**: auto mode (`-y`), resume (`-c`), or unambiguous inputskip entire interview.
7
- - **Decision table**: `| # | Decision | Choice | Source (user / code / default) |`
6
+ - **Skip**: auto mode (`-y`) → 逐问题 Search-first 代答(不跳过整段 interview);仅当代码给出高置信答案时跳过该问题。**例外**:broad intent 的边界澄清永不跳过(即使 `-y`);phase 歧义永不跳过。resume (`-c`) 跳过已答问题。unambiguous 单一答案输入仅跳过该问题。
7
+ - **Decision table**: `| # | Decision | Choice | Source (user / code / default) | Confidence (high / medium / LOW) |`
8
+ - `code` source:Search-first 派生(state.json / spec / Glob / Grep)。`code` + 非 broad → 可自动定;`code` + broad → 标 `LOW CONFIDENCE` 需用户确认;`default` source → 一律标 `LOW CONFIDENCE`。
@@ -3,8 +3,6 @@
3
3
  > **DEPRECATED**: Superseded by `issue-gaps-analyze.md` which adds batch support and context.md output.
4
4
  > Use `maestro-analyze --gaps [ISS-ID]` instead.
5
5
 
6
- This workflow's executable steps have been removed to prevent divergent implementations.
7
-
8
6
  ## Migration
9
7
 
10
8
  | Old usage | New usage |
@@ -20,6 +18,3 @@ This workflow's executable steps have been removed to prevent divergent implemen
20
18
  - `issue-execute.md` — downstream execution after planning
21
19
 
22
20
  ## Notes
23
-
24
- - Issue records analyzed by the new pipeline still write to `.workflow/issues/issues.jsonl` with `analysis` field (root_cause, impact, related_files, confidence, suggested_approach, analyzed_at, analyzed_by).
25
- - Status is unchanged by analysis (non-destructive enrichment).
@@ -1,11 +1,5 @@
1
1
  # Workflow: Issue Gaps Analysis (Codex — CSV Wave)
2
2
 
3
- Root cause analysis for issues via `spawn_agents_on_csv` wave execution.
4
- Supports single issue (ISS-ID) or batch with classification and parallel analysis.
5
- Produces analysis records in issues.jsonl and context.md for downstream `plan --gaps`.
6
-
7
- **Invoked by**: `maestro-analyze --gaps [ISS-ID]` (codex SKILL.md)
8
-
9
3
  ## Pipeline
10
4
 
11
5
  ```
@@ -1,9 +1,5 @@
1
1
  # Knowledge Audit Workflow
2
2
 
3
- 审查 spec / knowhow / artifact 三大知识存储,识别矛盾、失效、老化、孤儿,通过 keep/deprecate/delete 三态决策淘汰。
4
-
5
- 与 `harvest.md` 对称:harvest 写入知识 → knowledge-audit 清理知识。与 `harvest --prune`(Stage 9)的区别:prune 做物理 GC(孤儿指针、格式损坏),audit 做语义审查(逻辑矛盾、生命周期决策)。
6
-
7
3
  ---
8
4
 
9
5
  ## Prerequisites
@@ -1,15 +1,9 @@
1
1
  # Learn Workflow
2
2
 
3
- Atomic insight capture, search, and retrieval. Lightweight gstack-style "eureka moment" log that complements the retrospective workflow: where retrospective extracts insights from completed phases in bulk, `manage-learn` captures one insight at a time during active work.
4
-
5
3
  Storage:
6
4
  - `.workflow/specs/learnings.md` — append-only container of `<spec-entry>` sub-entries (shared with retrospective output)
7
5
  - Auto-indexed by WikiIndexer (no manual index required)
8
6
 
9
- **Shared store rationale:** Manual captures (`source: "manual"`), tips (`source: "tip"`), retrospective-distilled insights (`source: "retrospective"`, `lens: <name>` from `quality-retrospective`), and learn-retro insights (`source: "retro-git"` or `source: "retro-decision"` from `learn-retro`) all live in the same store so search and list see the entire knowledge corpus. The `source` field disambiguates origin.
10
-
11
- This workflow does NOT spawn sub-agents; it may invoke maestro CLI utilities (e.g. `maestro wiki search`, `maestro wiki list`) for list/search subcommands. The core capture flow is a thin file operation: parse → infer → append → confirm.
12
-
13
7
  ---
14
8
 
15
9
  ## Prerequisites
@@ -1,9 +1,5 @@
1
1
  # Workflow: Maestro (Codex Edition)
2
2
 
3
- CSV wave coordinator version of the intelligent coordinator. Replaces `spawn_agent / wait / close_agent` loop with `spawn_agents_on_csv` (max_workers=1) for sequential pipeline execution. Each chain step is a CSV row with `skill_call` column; agents read prior results from session directory for context propagation.
4
-
5
- > Referenced by: `~/.codex/skills/maestro/SKILL.md`
6
-
7
3
  ---
8
4
 
9
5
  ## Step 1: Parse Arguments