maestro-flow 0.5.3 → 0.5.31

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 (259) hide show
  1. package/.agents/skills/learn-follow/SKILL.md +114 -114
  2. package/.agents/skills/learn-investigate/SKILL.md +138 -139
  3. package/.agents/skills/learn-second-opinion/SKILL.md +105 -109
  4. package/.agents/skills/maestro/SKILL.md +2 -10
  5. package/.agents/skills/maestro-amend/SKILL.md +152 -152
  6. package/.agents/skills/maestro-analyze/SKILL.md +201 -252
  7. package/.agents/skills/maestro-blueprint/SKILL.md +175 -190
  8. package/.agents/skills/maestro-brainstorm/SKILL.md +196 -200
  9. package/.agents/skills/maestro-collab/SKILL.md +159 -159
  10. package/.agents/skills/maestro-companion/SKILL.md +517 -517
  11. package/.agents/skills/maestro-composer/SKILL.md +173 -164
  12. package/.agents/skills/maestro-execute/SKILL.md +169 -170
  13. package/.agents/skills/maestro-fork/SKILL.md +97 -96
  14. package/.agents/skills/maestro-grill/SKILL.md +161 -162
  15. package/.agents/skills/maestro-guard/SKILL.md +93 -92
  16. package/.agents/skills/maestro-impeccable/SKILL.md +296 -253
  17. package/.agents/skills/maestro-init/SKILL.md +117 -118
  18. package/.agents/skills/maestro-merge/SKILL.md +73 -66
  19. package/.agents/skills/maestro-milestone-audit/SKILL.md +4 -10
  20. package/.agents/skills/maestro-milestone-complete/SKILL.md +6 -7
  21. package/.agents/skills/maestro-milestone-release/SKILL.md +122 -131
  22. package/.agents/skills/maestro-next/SKILL.md +241 -245
  23. package/.agents/skills/maestro-overlay/SKILL.md +176 -166
  24. package/.agents/skills/maestro-plan/SKILL.md +211 -197
  25. package/.agents/skills/maestro-player/SKILL.md +167 -167
  26. package/.agents/skills/maestro-quick/SKILL.md +69 -63
  27. package/.agents/skills/maestro-ralph/SKILL.md +2 -36
  28. package/.agents/skills/maestro-ralph-beta/SKILL.md +861 -872
  29. package/.agents/skills/maestro-ralph-execute/SKILL.md +234 -234
  30. package/.agents/skills/maestro-roadmap/SKILL.md +159 -172
  31. package/.agents/skills/maestro-swarm-workflow/SKILL.md +229 -250
  32. package/.agents/skills/maestro-tools-execute/SKILL.md +108 -103
  33. package/.agents/skills/maestro-tools-register/SKILL.md +148 -143
  34. package/.agents/skills/maestro-ui-codify/SKILL.md +103 -86
  35. package/.agents/skills/maestro-universal-workflow/SKILL.md +534 -547
  36. package/.agents/skills/maestro-update/SKILL.md +109 -106
  37. package/.agents/skills/manage-codebase-rebuild/SKILL.md +73 -71
  38. package/.agents/skills/manage-harvest/SKILL.md +83 -81
  39. package/.agents/skills/manage-issue/SKILL.md +59 -60
  40. package/.agents/skills/manage-issue-discover/SKILL.md +70 -68
  41. package/.agents/skills/manage-kg-extractors/SKILL.md +130 -0
  42. package/.agents/skills/manage-knowhow/SKILL.md +70 -66
  43. package/.agents/skills/manage-knowhow-capture/SKILL.md +79 -69
  44. package/.agents/skills/manage-knowledge-audit/SKILL.md +91 -74
  45. package/.agents/skills/manage-status/SKILL.md +52 -42
  46. package/.agents/skills/manage-wiki/SKILL.md +69 -58
  47. package/.agents/skills/odyssey-debug/SKILL.md +445 -459
  48. package/.agents/skills/odyssey-improve/SKILL.md +477 -491
  49. package/.agents/skills/odyssey-planex/SKILL.md +576 -587
  50. package/.agents/skills/odyssey-review-test-fix/SKILL.md +400 -413
  51. package/.agents/skills/odyssey-ui/SKILL.md +431 -448
  52. package/.agents/skills/quality-auto-test/SKILL.md +140 -123
  53. package/.agents/skills/quality-debug/SKILL.md +145 -106
  54. package/.agents/skills/quality-refactor/SKILL.md +91 -53
  55. package/.agents/skills/quality-retrospective/SKILL.md +109 -63
  56. package/.agents/skills/quality-review/SKILL.md +141 -114
  57. package/.agents/skills/quality-sync/SKILL.md +74 -38
  58. package/.agents/skills/quality-test/SKILL.md +133 -103
  59. package/.agents/skills/security-audit/SKILL.md +217 -166
  60. package/.agents/skills/spec-add/SKILL.md +66 -59
  61. package/.agents/skills/spec-load/SKILL.md +68 -68
  62. package/.agents/skills/spec-remove/SKILL.md +42 -42
  63. package/.agents/skills/spec-setup/SKILL.md +38 -41
  64. package/.agy/skills/learn-follow/SKILL.md +114 -114
  65. package/.agy/skills/learn-investigate/SKILL.md +138 -139
  66. package/.agy/skills/learn-second-opinion/SKILL.md +105 -109
  67. package/.agy/skills/maestro/SKILL.md +2 -10
  68. package/.agy/skills/maestro-amend/SKILL.md +152 -152
  69. package/.agy/skills/maestro-analyze/SKILL.md +201 -252
  70. package/.agy/skills/maestro-blueprint/SKILL.md +175 -190
  71. package/.agy/skills/maestro-brainstorm/SKILL.md +196 -200
  72. package/.agy/skills/maestro-collab/SKILL.md +159 -159
  73. package/.agy/skills/maestro-companion/SKILL.md +517 -517
  74. package/.agy/skills/maestro-composer/SKILL.md +173 -164
  75. package/.agy/skills/maestro-execute/SKILL.md +169 -170
  76. package/.agy/skills/maestro-fork/SKILL.md +97 -96
  77. package/.agy/skills/maestro-grill/SKILL.md +161 -162
  78. package/.agy/skills/maestro-guard/SKILL.md +93 -92
  79. package/.agy/skills/maestro-impeccable/SKILL.md +296 -253
  80. package/.agy/skills/maestro-init/SKILL.md +117 -118
  81. package/.agy/skills/maestro-merge/SKILL.md +73 -66
  82. package/.agy/skills/maestro-milestone-audit/SKILL.md +4 -10
  83. package/.agy/skills/maestro-milestone-complete/SKILL.md +6 -7
  84. package/.agy/skills/maestro-milestone-release/SKILL.md +122 -131
  85. package/.agy/skills/maestro-next/SKILL.md +241 -245
  86. package/.agy/skills/maestro-overlay/SKILL.md +176 -166
  87. package/.agy/skills/maestro-plan/SKILL.md +211 -197
  88. package/.agy/skills/maestro-player/SKILL.md +167 -167
  89. package/.agy/skills/maestro-quick/SKILL.md +69 -63
  90. package/.agy/skills/maestro-ralph/SKILL.md +2 -36
  91. package/.agy/skills/maestro-ralph-beta/SKILL.md +861 -872
  92. package/.agy/skills/maestro-ralph-execute/SKILL.md +234 -234
  93. package/.agy/skills/maestro-roadmap/SKILL.md +159 -172
  94. package/.agy/skills/maestro-swarm-workflow/SKILL.md +229 -250
  95. package/.agy/skills/maestro-tools-execute/SKILL.md +108 -103
  96. package/.agy/skills/maestro-tools-register/SKILL.md +148 -143
  97. package/.agy/skills/maestro-ui-codify/SKILL.md +103 -86
  98. package/.agy/skills/maestro-universal-workflow/SKILL.md +534 -547
  99. package/.agy/skills/maestro-update/SKILL.md +109 -106
  100. package/.agy/skills/manage-codebase-rebuild/SKILL.md +73 -71
  101. package/.agy/skills/manage-harvest/SKILL.md +83 -81
  102. package/.agy/skills/manage-issue/SKILL.md +59 -60
  103. package/.agy/skills/manage-issue-discover/SKILL.md +70 -68
  104. package/.agy/skills/manage-kg-extractors/SKILL.md +130 -0
  105. package/.agy/skills/manage-knowhow/SKILL.md +70 -66
  106. package/.agy/skills/manage-knowhow-capture/SKILL.md +79 -69
  107. package/.agy/skills/manage-knowledge-audit/SKILL.md +91 -74
  108. package/.agy/skills/manage-status/SKILL.md +52 -42
  109. package/.agy/skills/manage-wiki/SKILL.md +69 -58
  110. package/.agy/skills/odyssey-debug/SKILL.md +445 -459
  111. package/.agy/skills/odyssey-improve/SKILL.md +477 -491
  112. package/.agy/skills/odyssey-planex/SKILL.md +576 -587
  113. package/.agy/skills/odyssey-review-test-fix/SKILL.md +400 -413
  114. package/.agy/skills/odyssey-ui/SKILL.md +431 -448
  115. package/.agy/skills/quality-auto-test/SKILL.md +140 -123
  116. package/.agy/skills/quality-debug/SKILL.md +145 -106
  117. package/.agy/skills/quality-refactor/SKILL.md +91 -53
  118. package/.agy/skills/quality-retrospective/SKILL.md +109 -63
  119. package/.agy/skills/quality-review/SKILL.md +141 -114
  120. package/.agy/skills/quality-sync/SKILL.md +74 -38
  121. package/.agy/skills/quality-test/SKILL.md +133 -103
  122. package/.agy/skills/security-audit/SKILL.md +217 -166
  123. package/.agy/skills/spec-add/SKILL.md +66 -59
  124. package/.agy/skills/spec-load/SKILL.md +68 -68
  125. package/.agy/skills/spec-remove/SKILL.md +42 -42
  126. package/.agy/skills/spec-setup/SKILL.md +38 -41
  127. package/.claude/commands/learn-follow.md +127 -127
  128. package/.claude/commands/learn-investigate.md +151 -152
  129. package/.claude/commands/learn-second-opinion.md +118 -122
  130. package/.claude/commands/maestro-amend.md +164 -164
  131. package/.claude/commands/maestro-analyze.md +215 -266
  132. package/.claude/commands/maestro-blueprint.md +189 -204
  133. package/.claude/commands/maestro-brainstorm.md +209 -213
  134. package/.claude/commands/maestro-collab.md +172 -172
  135. package/.claude/commands/maestro-companion.md +531 -531
  136. package/.claude/commands/maestro-composer.md +188 -179
  137. package/.claude/commands/maestro-execute.md +183 -184
  138. package/.claude/commands/maestro-fork.md +111 -110
  139. package/.claude/commands/maestro-grill.md +175 -176
  140. package/.claude/commands/maestro-guard.md +103 -102
  141. package/.claude/commands/maestro-impeccable.md +311 -268
  142. package/.claude/commands/maestro-init.md +130 -131
  143. package/.claude/commands/maestro-merge.md +87 -80
  144. package/.claude/commands/maestro-milestone-audit.md +4 -10
  145. package/.claude/commands/maestro-milestone-complete.md +6 -7
  146. package/.claude/commands/maestro-milestone-release.md +136 -145
  147. package/.claude/commands/maestro-next.md +253 -257
  148. package/.claude/commands/maestro-overlay.md +188 -178
  149. package/.claude/commands/maestro-plan.md +225 -211
  150. package/.claude/commands/maestro-player.md +182 -182
  151. package/.claude/commands/maestro-quick.md +83 -77
  152. package/.claude/commands/maestro-ralph-beta.md +875 -886
  153. package/.claude/commands/maestro-ralph-execute.md +247 -247
  154. package/.claude/commands/maestro-ralph.md +2 -36
  155. package/.claude/commands/maestro-roadmap.md +173 -186
  156. package/.claude/commands/maestro-swarm-workflow.md +243 -264
  157. package/.claude/commands/maestro-tools-execute.md +122 -117
  158. package/.claude/commands/maestro-tools-register.md +162 -157
  159. package/.claude/commands/maestro-ui-codify.md +117 -100
  160. package/.claude/commands/maestro-universal-workflow.md +548 -561
  161. package/.claude/commands/maestro-update.md +122 -119
  162. package/.claude/commands/maestro.md +2 -10
  163. package/.claude/commands/manage-codebase-rebuild.md +87 -85
  164. package/.claude/commands/manage-harvest.md +97 -95
  165. package/.claude/commands/manage-issue-discover.md +83 -81
  166. package/.claude/commands/manage-issue.md +72 -73
  167. package/.claude/commands/manage-kg-extractors.md +128 -0
  168. package/.claude/commands/manage-knowhow-capture.md +92 -82
  169. package/.claude/commands/manage-knowhow.md +83 -79
  170. package/.claude/commands/manage-knowledge-audit.md +105 -88
  171. package/.claude/commands/manage-status.md +62 -52
  172. package/.claude/commands/manage-wiki.md +82 -71
  173. package/.claude/commands/odyssey-debug.md +459 -473
  174. package/.claude/commands/odyssey-improve.md +491 -505
  175. package/.claude/commands/odyssey-planex.md +590 -601
  176. package/.claude/commands/odyssey-review-test-fix.md +414 -427
  177. package/.claude/commands/odyssey-ui.md +445 -462
  178. package/.claude/commands/quality-auto-test.md +153 -136
  179. package/.claude/commands/quality-debug.md +159 -120
  180. package/.claude/commands/quality-refactor.md +105 -67
  181. package/.claude/commands/quality-retrospective.md +123 -77
  182. package/.claude/commands/quality-review.md +155 -128
  183. package/.claude/commands/quality-sync.md +88 -52
  184. package/.claude/commands/quality-test.md +147 -117
  185. package/.claude/commands/security-audit.md +230 -179
  186. package/.claude/commands/spec-add.md +77 -70
  187. package/.claude/commands/spec-load.md +78 -78
  188. package/.claude/commands/spec-remove.md +55 -55
  189. package/.claude/commands/spec-setup.md +49 -52
  190. package/dist/src/cli.js +1 -1
  191. package/dist/src/cli.js.map +1 -1
  192. package/dist/src/commands/kg.d.ts.map +1 -1
  193. package/dist/src/commands/kg.js +11 -5
  194. package/dist/src/commands/kg.js.map +1 -1
  195. package/dist/src/graph/kg/extraction/code/code-extractor.d.ts +2 -0
  196. package/dist/src/graph/kg/extraction/code/code-extractor.d.ts.map +1 -1
  197. package/dist/src/graph/kg/extraction/code/code-extractor.js +32 -3
  198. package/dist/src/graph/kg/extraction/code/code-extractor.js.map +1 -1
  199. package/dist/src/graph/kg/extraction/code/plugin-engine.d.ts +35 -0
  200. package/dist/src/graph/kg/extraction/code/plugin-engine.d.ts.map +1 -0
  201. package/dist/src/graph/kg/extraction/code/plugin-engine.js +573 -0
  202. package/dist/src/graph/kg/extraction/code/plugin-engine.js.map +1 -0
  203. package/dist/src/graph/kg/extraction/code/plugin-types.d.ts +95 -0
  204. package/dist/src/graph/kg/extraction/code/plugin-types.d.ts.map +1 -0
  205. package/dist/src/graph/kg/extraction/code/plugin-types.js +5 -0
  206. package/dist/src/graph/kg/extraction/code/plugin-types.js.map +1 -0
  207. package/dist/src/graph/kg/extraction/orchestrator.d.ts.map +1 -1
  208. package/dist/src/graph/kg/extraction/orchestrator.js +17 -5
  209. package/dist/src/graph/kg/extraction/orchestrator.js.map +1 -1
  210. package/dist/src/graph/kg/schema.sql +16 -11
  211. package/dist/src/graph/kg/surface/cli.d.ts.map +1 -1
  212. package/dist/src/graph/kg/surface/cli.js +153 -56
  213. package/dist/src/graph/kg/surface/cli.js.map +1 -1
  214. package/dist/src/hooks/workspace.d.ts +4 -2
  215. package/dist/src/hooks/workspace.d.ts.map +1 -1
  216. package/dist/src/hooks/workspace.js +6 -2
  217. package/dist/src/hooks/workspace.js.map +1 -1
  218. package/package.json +91 -91
  219. package/workflows/analyze.md +25 -49
  220. package/workflows/auto-test.md +699 -699
  221. package/workflows/blueprint.md +403 -431
  222. package/workflows/brainstorm.md +54 -195
  223. package/workflows/business-test.md +570 -570
  224. package/workflows/claude-instructions.md +23 -51
  225. package/workflows/codex-instructions.md +27 -77
  226. package/workflows/coding-philosophy.md +69 -69
  227. package/workflows/command-authoring.md +823 -823
  228. package/workflows/debug.md +43 -98
  229. package/workflows/delegate-usage.md +39 -241
  230. package/workflows/execute.md +4 -53
  231. package/workflows/grill.md +12 -56
  232. package/workflows/harvest.md +22 -68
  233. package/workflows/init.md +148 -148
  234. package/workflows/instruction-authoring-guide.md +97 -0
  235. package/workflows/issue-execute.md +110 -110
  236. package/workflows/issue-gaps-analyze.codex.md +260 -260
  237. package/workflows/issue-gaps-analyze.md +216 -216
  238. package/workflows/issue-plan.md +110 -110
  239. package/workflows/issue.md +338 -346
  240. package/workflows/knowhow.md +0 -32
  241. package/workflows/learn.md +277 -277
  242. package/workflows/maestro-chain-execute.md +20 -20
  243. package/workflows/refactor.md +22 -44
  244. package/workflows/retrospective.md +16 -65
  245. package/workflows/review.md +446 -486
  246. package/workflows/roadmap.md +35 -132
  247. package/workflows/skill-authoring.md +265 -265
  248. package/workflows/spec-generate.md +470 -470
  249. package/workflows/specs-remove.md +104 -104
  250. package/workflows/sync.md +11 -41
  251. package/workflows/test-gen.md +226 -226
  252. package/workflows/test.md +385 -475
  253. package/workflows/ui-design.md +391 -391
  254. package/workflows/ui-style.md +199 -199
  255. package/workflows/wiki-connect.md +151 -151
  256. package/workflows/wiki-digest.md +178 -178
  257. package/workflows/wiki-manage.md +109 -109
  258. package/workflows/cli-tools-usage.md +0 -252
  259. package/workflows/delegate-protocol.codex.md +0 -65
@@ -1,13 +1,8 @@
1
1
  # Debug Workflow
2
2
 
3
- Debug issues using scientific method with subagent isolation. Supports three modes:
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
4
 
5
- 1. **Standalone**: User describes issue, gather symptoms via 5 questions
6
- 2. **From UAT**: --from-uat reads uat.md gaps as pre-filled symptoms (skip gathering). Input-only: does not write back to uat.md/test artifacts (test workflow is the sole caller and owns uat.md writes).
7
- 3. **Parallel**: --parallel spawns one debug agent per gap cluster concurrently
8
-
9
- Output: understanding.md + evidence.ndjson per investigation.
10
- When root causes found, auto-updates originating uat.md with diagnosis.
5
+ Output: `understanding.md` + `evidence.ndjson` per investigation.
11
6
 
12
7
  ---
13
8
 
@@ -43,44 +38,37 @@ All of these mean: **return to Step 3/6 evidence gathering**.
43
38
 
44
39
  ## Rationalization Table
45
40
 
46
- | Excuse | Why It's Wrong |
47
- |--------|----------------|
48
- | "It's probably just a typo" | Typos cause cascading failures; verify before assuming |
49
- | "The error message says X so it must be X" | Error messages often point to symptoms, not causes |
50
- | "I fixed something similar before" | Similar symptoms can have completely different root causes |
41
+ | Excuse | Reality |
42
+ |--------|---------|
43
+ | "It's probably just a typo" | Verify before assuming — typos cause cascading failures |
44
+ | "The error message says X so it must be X" | Error messages point to symptoms, not causes |
45
+ | "I fixed something similar before" | Similar symptoms can have different root causes |
51
46
  | "The fix works in my test" | One passing test doesn't prove root cause was found |
52
- | "We don't have time for full investigation" | Quick fixes under pressure create more bugs than they solve |
53
- | "The code looks correct so it must be something else" | Reading code is not the same as tracing execution |
47
+ | "We don't have time for full investigation" | Quick fixes create more bugs than they solve |
48
+ | "The code looks correct" | Reading code is not tracing execution |
54
49
  | "Let me just add a try-catch/null check" | Suppressing errors hides the real problem |
55
- | "3 failed hypotheses, let me try a 4th guess" | After 3 failures, stop guessing — escalate (see Escalation Rule) |
50
+ | "3 failed hypotheses, let me try a 4th" | After 3 failures, STOP — escalate |
56
51
 
57
52
  ---
58
53
 
59
54
  ## Escalation Rule — 3-Strike Architecture Check
60
55
 
61
- After **3 failed hypotheses** (refuted with evidence), STOP proposing more fixes:
56
+ After **3 failed hypotheses**, STOP:
62
57
 
63
- 1. **Summarize** all failed hypotheses and their evidence
64
- 2. **Question architecture**: "Is the problem at a deeper level than individual code?"
65
- 3. **Present to user** via AskUserQuestion with the summary and ask:
66
- - Continue investigating with different approach?
67
- - Re-examine architecture assumptions?
68
- - Bring in additional context/expertise?
58
+ 1. Summarize all failed hypotheses and evidence
59
+ 2. Question architecture: "Is the problem deeper than individual code?"
60
+ 3. AskUserQuestion: Continue with different approach? / Re-examine architecture? / Bring in additional context?
69
61
 
70
- Do NOT propose a 4th hypothesis without user confirmation.
62
+ NEVER propose a 4th hypothesis without user confirmation.
71
63
 
72
64
  ---
73
65
 
74
66
  ## Backward Tracing Method
75
67
 
76
- When investigating root cause, trace **backward** from symptom to source:
77
-
78
- 1. **Find** where the incorrect value/behavior first appears
79
- 2. **Trace backward** through the call chain what called this? What value was passed?
80
- 3. **Continue backward** until you find where correct data becomes incorrect
81
- 4. **Fix at the source**, not at the symptom location
82
-
83
- Example: UI shows wrong data → API returns wrong data → service queries wrong table → fix the query, NOT the UI rendering.
68
+ 1. **Find** where incorrect value/behavior first appears
69
+ 2. **Trace backward** through call chain — what called this? What value was passed?
70
+ 3. **Continue** until you find where correct data becomes incorrect
71
+ 4. **Fix at the source**, not the symptom location
84
72
 
85
73
  ---
86
74
 
@@ -127,17 +115,16 @@ If resuming: load understanding.md + evidence.ndjson, spawn continuation agent.
127
115
 
128
116
  ```
129
117
  specs_content = maestro spec load --category debug
118
+ → Pass to debug agents as prior knowledge
130
119
  ```
131
120
 
132
- Pass to debug agents as prior knowledge (known issues, root causes, workarounds).
133
-
134
121
  ---
135
122
 
136
123
  ### Step 2: Load UAT Gaps (if --from-uat)
137
124
 
138
- Skip if --from-uat is not set. Go to Step 3 instead.
125
+ Skip if --from-uat not set go to Step 3.
139
126
 
140
- Read `{artifact_dir}/uat.md` Gaps section (artifact_dir resolved from artifact registry). For each gap:
127
+ Read `{artifact_dir}/uat.md` Gaps section. For each gap:
141
128
  ```yaml
142
129
  - test: T-003
143
130
  truth: "User can reply to comments"
@@ -158,18 +145,15 @@ Read `{artifact_dir}/uat.md` Gaps section (artifact_dir resolved from artifact r
158
145
  | Same flow | T-001 (login) + T-002 (session) -> "auth-flow" cluster |
159
146
  | Unrelated | T-005 (nav color) -> standalone "nav-styling" cluster |
160
147
 
161
- **Extract issue references for context enrichment:** For each gap with an `issue_id`, look up the matching issue in `.workflow/issues/issues.jsonl` and attach `issue_context` (severity, feedback, fix_direction, context) to the gap. Pass to debug agent prompts for richer diagnosis.
148
+ **Issue enrichment:** For each gap with `issue_id`, look up in `.workflow/issues/issues.jsonl` and attach `issue_context` to the gap.
162
149
 
163
- If --parallel is set: go to Step 5: Spawn Parallel Debuggers.
164
- If --parallel is not set: investigate clusters sequentially (Step 6: Spawn Single Debugger per cluster).
150
+ If `--parallel`: Step 5. Else: Step 6 (sequential).
165
151
 
166
152
  ---
167
153
 
168
154
  ### Step 3: Gather Symptoms (standalone mode only)
169
155
 
170
- Skip if --from-uat is set.
171
-
172
- Generate a slug from issue description (lowercase, hyphens, max 40 chars).
156
+ Skip if `--from-uat`. Generate slug from issue description (lowercase, hyphens, max 40 chars).
173
157
 
174
158
  Ask 5 questions via AskUserQuestion:
175
159
  1. "What should happen? (expected behavior)"
@@ -178,14 +162,9 @@ Ask 5 questions via AskUserQuestion:
178
162
  4. "When did this start? Did it ever work?"
179
163
  5. "How do you trigger this? (reproduction steps)"
180
164
 
181
- Also gather automated context:
182
- ```bash
183
- git log --oneline -10 2>/dev/null
184
- git diff --stat HEAD~3 2>/dev/null
185
- ```
165
+ Also gather: `git log --oneline -10`, `git diff --stat HEAD~3`.
186
166
 
187
- Store all responses. Confirm: "Symptoms gathered. Starting investigation..."
188
- Create debug session directory and proceed to Step 6.
167
+ Store responses create debug session directory → Step 6.
189
168
 
190
169
  ---
191
170
 
@@ -193,34 +172,26 @@ Create debug session directory and proceed to Step 6.
193
172
 
194
173
  | Mode | Directory |
195
174
  |------|-----------|
196
- | Phase-scoped (from UAT) | `{ARTIFACT_DIR}/.debug/{gap-slug}/` (ARTIFACT_DIR resolved from artifact registry) |
175
+ | Phase-scoped (from UAT) | `{ARTIFACT_DIR}/.debug/{gap-slug}/` |
197
176
  | Standalone | `.workflow/scratch/{YYYYMMDD}-debug-{slug}/` |
198
177
 
199
- Resolve `DEBUG_DIR` from artifact registry:
200
- - Phase-scoped: look up phase in `.workflow/state.json` artifacts (type=execute), set `DEBUG_DIR = ".workflow/{art.path}/.debug/{gap-slug}/"`. Error if not found.
201
- - Standalone: `DEBUG_DIR = ".workflow/scratch/{YYYYMMDD}-debug-{slug}/"`
202
-
203
178
  Create the directory.
204
179
 
205
180
  ---
206
181
 
207
182
  ### Step 5: Spawn Parallel Debug Agents
208
183
 
209
- For each cluster, spawn concurrently as general-purpose agent (`run_in_background: false`):
184
+ For each cluster, spawn concurrently (`run_in_background: false`):
210
185
 
211
186
  - **Input**: cluster name, phase, all gaps (test_id, truth, reason, severity). Mode: `symptoms_prefilled`.
212
- - **Process**: read source files, form 2-3 hypotheses per gap ranked by likelihood, search code for evidence, log each as NDJSON line, confirm/refute.
213
- - **Output per gap**: `root_cause`, `fix_direction`, `affected_files` (file:line), `confidence` (multi-factor; also include legacy `confidence_level`: high/medium/low for backward compat), `evidence` summary.
187
+ - **Process**: form 2-3 hypotheses per gap, search code for evidence, log NDJSON, confirm/refute.
188
+ - **Output per gap**: `root_cause`, `fix_direction`, `affected_files` (file:line), `confidence` (multi-factor + legacy `confidence_level`), `evidence` summary.
214
189
  - **Files**: `{debug_dir}/evidence-{cluster_slug}.ndjson`, `{debug_dir}/understanding-{cluster_slug}.md`
215
190
 
216
- All agents run concurrently. Collect all results.
217
-
218
191
  ---
219
192
 
220
193
  ### Step 5.5: CLI Supplementary Evidence Gathering (optional)
221
194
 
222
- **Purpose:** Use external CLI tool for broad codebase evidence collection before spawning debug agents. Provides agents with richer context without consuming their token budget on exploration.
223
-
224
195
  **Skip if** no enabled CLI tools or standalone mode with minimal context.
225
196
 
226
197
  ```
@@ -254,27 +225,18 @@ Pass cli_evidence as supplementary_context to debug agent prompts in Step 5/6
254
225
 
255
226
  ### Step 6: Spawn Single Debug Agent (sequential mode)
256
227
 
257
- Spawn general-purpose agent (`run_in_background: false`) with:
228
+ Spawn agent (`run_in_background: false`):
258
229
 
259
- - **Input**: slug, description, symptoms (expected, actual, errors, reproduction, timeline). `symptoms_prefilled: {true if from UAT}`, goal: `find_and_fix`.
260
- - **Process**: form hypotheses ranked by likelihood, test each (design test, execute, log NDJSON evidence, update understanding.md).
261
- - **Return one of**: `## ROOT CAUSE FOUND` (+ cause, evidence, fix), `## CHECKPOINT REACHED` (+ what's needed from user), `## INVESTIGATION INCONCLUSIVE` (+ what was checked/eliminated).
230
+ - **Input**: slug, description, symptoms. `symptoms_prefilled: {true if from UAT}`, goal: `find_and_fix`.
231
+ - **Process**: form hypotheses, test each, log NDJSON evidence, update understanding.md.
232
+ - **Return**: `## ROOT CAUSE FOUND` | `## CHECKPOINT REACHED` | `## INVESTIGATION INCONCLUSIVE`
262
233
  - **Files**: `{$DEBUG_DIR}/understanding.md`, `{$DEBUG_DIR}/evidence.ndjson`
263
234
 
264
- Handle result based on agent output type.
265
-
266
235
  ---
267
236
 
268
237
  ### Step 7: Collect and Unify Results
269
238
 
270
- For each agent result, extract:
271
- - root_cause per gap
272
- - fix_direction per gap
273
- - affected_files per gap
274
- - confidence (multi-factor, see 7.1)
275
- - evidence summary
276
-
277
- Build unified diagnosis:
239
+ Build unified diagnosis from all agent results:
278
240
  ```json
279
241
  {
280
242
  "session_id": "{debug session ID}",
@@ -307,19 +269,15 @@ Readiness Gate (blocks Step 9): evidence_completeness ≥ 40% | pressure pass do
307
269
 
308
270
  ### Step 7.1: Update Issues with Diagnosis
309
271
 
310
- For each diagnosed gap with an `issue_id`, update the corresponding issue in `.workflow/issues/issues.jsonl`:
311
- - Set `status: "diagnosed"`, `context.suggested_fix: fix_direction`, `context.notes: root_cause`, `updated_at: now()`
272
+ For each diagnosed gap with `issue_id`, update in `.workflow/issues/issues.jsonl`:
273
+ - Set `status: "diagnosed"`, `context.suggested_fix: fix_direction`, `context.notes: root_cause`
312
274
  - Append to `issue_history`: `{ from: previous_status, to: "diagnosed", changed_at: now(), actor: "debug-agent" }`
313
275
 
314
- Display: "Updated {count} issues with diagnosis results"
315
-
316
276
  ---
317
277
 
318
278
  ### Step 8: Update UAT (if --from-uat)
319
279
 
320
- Skip if standalone mode.
321
-
322
- For each diagnosed gap, update the uat.md Gaps section:
280
+ Skip if standalone. For each diagnosed gap, update uat.md Gaps:
323
281
  ```yaml
324
282
  - test: T-003
325
283
  truth: "User can reply to comments"
@@ -331,14 +289,10 @@ For each diagnosed gap, update the uat.md Gaps section:
331
289
  affected_files: ["src/components/Comments.tsx:42", "src/api/comments.ts:78"]
332
290
  ```
333
291
 
334
- This closes the UAT -> debug feedback loop.
335
-
336
292
  ---
337
293
 
338
294
  ### Step 9: Handle Root Cause Found
339
295
 
340
- Display root cause, evidence, and fix recommendation.
341
-
342
296
  ```
343
297
  ------------------------------------------------------------
344
298
  ROOT CAUSE IDENTIFIED
@@ -364,26 +318,19 @@ Options:
364
318
 
365
319
  ### Step 10: Handle Checkpoint
366
320
 
367
- Parse checkpoint type and details. Present to user via AskUserQuestion.
368
- If user provides input: spawn continuation agent with prior state + user response.
369
- If user wants to pause: save state, exit.
321
+ Present checkpoint to user via AskUserQuestion. Input spawn continuation agent. Pause → save state, exit.
370
322
 
371
323
  ---
372
324
 
373
325
  ### Step 11: Handle Inconclusive
374
326
 
375
- Display what was checked and eliminated. Offer:
376
- 1. Continue investigating (fresh agent with prior state)
377
- 2. Add more context (gather additional symptoms)
378
- 3. Manual investigation (pause session)
327
+ Display what was checked/eliminated. Offer: 1) Continue (fresh agent with prior state) 2) Add context 3) Manual investigation.
379
328
 
380
329
  ---
381
330
 
382
331
  ### Step 12: Spawn Continuation Agent
383
332
 
384
- Load prior state (understanding.md + evidence.ndjson).
385
- Build continuation prompt with user's checkpoint response.
386
- Handle return the same way (root cause / checkpoint / inconclusive).
333
+ Load prior state (understanding.md + evidence.ndjson) + user checkpoint response. Handle return same as Step 6.
387
334
 
388
335
  ---
389
336
 
@@ -421,14 +368,12 @@ Next steps:
421
368
 
422
369
  ## Evidence Format
423
370
 
424
- **evidence.ndjson -- one JSON object per line:**
371
+ **evidence.ndjson** one JSON object per line, append-only:
425
372
 
426
373
  ```json
427
374
  {"timestamp":"2026-03-14T10:30:00+08:00","hypothesis":"JWT token not refreshed on 401","action":"grep for 401 handler","result":"Found handler but no refresh call","conclusion":"confirmed"}
428
375
  ```
429
376
 
430
- Each line is a self-contained investigation step. Append-only.
431
-
432
377
  ---
433
378
 
434
379
  ## Understanding Template
@@ -1,151 +1,43 @@
1
- # Delegate Execution Specification
2
-
3
- <purpose>
4
- Unified reference for `maestro delegate` — synchronous task delegation with broker-managed lifecycle, message injection, and MCP notifications.
5
- </purpose>
6
-
7
- **References**: `~/.maestro/cli-tools.json` (tool config), `~/.maestro/templates/cli/` (protocol + prompt templates)
8
-
9
- ---
10
-
11
- ## 1. Quick Reference
12
-
13
- <context>
14
-
15
- ### Command Syntax
1
+ # Delegate Usage
16
2
 
17
3
  ```bash
18
4
  maestro delegate "<PROMPT>" [options]
19
5
  ```
20
6
 
21
- ### Options
7
+ ## Options
22
8
 
23
9
  | Option | Description | Default |
24
10
  |--------|-------------|---------|
25
- | `--to <tool>` | Explicit tool: gemini, qwen, codex, claude, opencode | First enabled in config |
26
- | `--role <role>` | Capability role: analyze, explore, review, implement, plan, brainstorm, research | — (resolves via config) |
27
- | `--mode <mode>` | `analysis` (read-only) or `write` (create/modify/delete) | `analysis` |
11
+ | `--to <tool>` | gemini, qwen, codex, claude, opencode | First enabled |
12
+ | `--role <role>` | analyze, explore, review, implement, plan, brainstorm, research | — |
13
+ | `--mode <mode>` | `analysis` (read-only) / `write` (modify) | `analysis` |
28
14
  | `--model <model>` | Model override | Tool's `primaryModel` |
29
- | `--cd <dir>` | Working directory | Current directory |
30
- | `--rule <template>` | Load protocol + prompt template | — (optional) |
15
+ | `--cd <dir>` | Working directory | Current |
16
+ | `--rule <template>` | Protocol + prompt template | — |
31
17
  | `--id <id>` | Execution ID | Auto: `{prefix}-{HHmmss}-{rand4}` |
32
- | `--resume [id]` | Resume previous session (last if no id) | — |
18
+ | `--resume [id]` | Resume previous session | — |
33
19
  | `--includeDirs <dirs>` | Additional directories (comma-separated) | — |
34
- | `--backend <type>` | Adapter backend: `direct` or `terminal` (tmux/wezterm) | `direct` |
35
-
36
- ### Tool Resolution Priority
37
-
38
- 1. `--to <tool>` — explicit tool selection (backward compat, highest priority)
39
- 2. `--role <role>` — capability-based auto-selection via config
40
- 3. No flag — first enabled tool in config
41
-
42
- ### Role-Based Tool Selection
43
-
44
- Roles map to tools via `cli-tools.json` configuration:
45
- - User-defined roles in `roles` section override built-in defaults
46
- - Workspace `.maestro/cli-tools.json` overrides global `~/.maestro/cli-tools.json`
47
- - Built-in roles: `analyze`, `explore`, `review`, `implement`, `plan`, `brainstorm`, `research`
48
-
49
- ### Mode Definition (Authoritative)
50
-
51
- | Mode | Permission | Auto-Invoke Safe | Use For |
52
- |------|-----------|------------------|---------|
53
- | `analysis` | Read-only | Yes | Review, exploration, diagnosis, architecture analysis |
54
- | `write` | Create/Modify/Delete | No — requires explicit intent | Implementation, bug fixes, refactoring |
55
-
56
- > `--mode` is the **authoritative** permission control. The `MODE:` field inside prompt text is a hint for the agent — both should be consistent, but `--mode` governs actual behavior.
57
- </context>
58
-
59
- ---
60
-
61
- ## 2. Configuration
62
-
63
- <context>
64
-
65
- ### Config File: `~/.maestro/cli-tools.json`
66
-
67
- | Field | Description |
68
- |-------|-------------|
69
- | `enabled` | Tool availability |
70
- | `primaryModel` | Default model |
71
- | `secondaryModel` | Fallback model |
72
- | `tags` | Capability tags (for caller-side routing) |
73
- | `type` | `builtin` / `cli-wrapper` / `api-endpoint` |
74
-
75
- > `api-endpoint` tools support **analysis only** — no file write capability.
76
-
77
- ### Tool Selection
78
-
79
- 1. Explicit `--to` specified → use it (validate enabled)
80
- 2. No `--to` → first enabled tool in config order
81
20
 
82
- ### Fallback Chain
21
+ Tool resolution: `--to` > `--role` > first enabled in config.
83
22
 
84
- Primary model fails `secondaryModel` next enabled tool first enabled (default).
23
+ **`--mode` is authoritative** `MODE:` in prompt text is a hint only.
85
24
 
86
- ### MCP Server Startup
87
-
88
- ```bash
89
- # Claude Code — load Maestro as development MCP server
90
- claude --dangerously-load-development-channels server:maestro --dangerously-skip-permissions
91
- ```
92
-
93
- With MCP connected, all delegate tools are available programmatically.
94
- </context>
95
-
96
- ---
97
-
98
- ## 3. Prompt Construction
99
-
100
- <context>
101
-
102
- ### Assembly Order
103
-
104
- `maestro delegate` builds the final prompt as:
105
-
106
- 1. **Mode protocol** — `~/.maestro/templates/cli/protocols/{mode}-protocol.md`
107
- 2. **User prompt** — the positional `"<PROMPT>"` value
108
- 3. **Rule template** — `~/.maestro/templates/cli/prompts/{rule}.txt` (if `--rule` specified)
109
-
110
- ### Prompt Template (6 Fields)
25
+ ## Prompt Template
111
26
 
112
27
  ```
113
- PURPOSE: [goal] + [why] + [success criteria]
28
+ PURPOSE: [goal] + [success criteria]
114
29
  TASK: [step 1] | [step 2] | [step 3]
115
30
  MODE: analysis|write
116
- CONTEXT: @[file patterns] | Memory: [prior work context]
117
- EXPECTED: [output format] + [quality criteria]
118
- CONSTRAINTS: [scope limits] | [special requirements]
119
- ```
120
-
121
- - **PURPOSE**: What + Why + Success. Not "Analyze code" but "Identify auth vulnerabilities; success = OWASP Top 10 covered"
122
- - **TASK**: Specific verbs. Not "Review code" but "Scan for SQL injection | Check XSS | Verify CSRF"
123
- - **MODE**: Must match `--mode` flag
124
- - **CONTEXT**: File scope + memory from prior work
125
- - **EXPECTED**: Deliverable format, not just "Report"
126
- - **CONSTRAINTS**: Task-specific limits (vs `--rule` which loads generic templates)
127
-
128
- ### CONTEXT: File Patterns + Directory
129
-
130
- - `@**/*` — all files in working directory (default)
131
- - `@src/**/*.ts` — scoped pattern
132
- - `@../shared/**/*` — sibling directory (**requires `--includeDirs`**)
133
-
134
- **Rule**: If CONTEXT uses `@../dir/**/*`, must add `--includeDirs ../dir`.
135
-
136
- ```bash
137
- maestro delegate "CONTEXT: @**/* @../shared/**/*" --to gemini --mode analysis \
138
- --cd "src/auth" --includeDirs "../shared"
31
+ CONTEXT: @[file patterns] | Memory: [prior work]
32
+ EXPECTED: [output format]
33
+ CONSTRAINTS: [scope limits]
139
34
  ```
140
35
 
141
- ### CONTEXT: Memory
36
+ ### CONTEXT Patterns
142
37
 
143
- Include when building on previous work:
144
-
145
- ```
146
- Memory: Building on auth refactoring (commit abc123), implementing refresh tokens
147
- Memory: Integration with auth module, using shared error patterns
148
- ```
38
+ - `@**/*` all files (default)
39
+ - `@src/**/*.ts` — scoped
40
+ - `@../shared/**/*` — sibling dir (**requires `--includeDirs ../shared`**)
149
41
 
150
42
  ### --rule Templates
151
43
 
@@ -157,93 +49,44 @@ Memory: Integration with auth module, using shared error patterns
157
49
 
158
50
  **Development**: `development-implement-feature`, `development-refactor-codebase`, `development-generate-tests`, `development-implement-component-ui`, `development-debug-runtime-issues`
159
51
 
160
- ### Complete Example
161
-
162
- ```bash
163
- maestro delegate "PURPOSE: Identify OWASP Top 10 vulnerabilities in auth module; success = all critical/high documented with remediation
164
- TASK: Scan for injection flaws | Check auth bypass vectors | Evaluate session management | Assess data exposure
165
- MODE: analysis
166
- CONTEXT: @src/auth/**/* @src/middleware/auth.ts | Memory: Using bcrypt + JWT
167
- EXPECTED: Severity matrix, file:line references, remediation snippets, priority ranking
168
- CONSTRAINTS: Focus on authentication | Ignore test files
169
- " --to gemini --mode analysis --rule analysis-assess-security-risks --cd "src/auth"
170
- ```
171
- </context>
172
-
173
- ---
52
+ ## Execution Rules
174
53
 
175
- ## 4. Execution
176
-
177
- <execution>
178
-
179
- ### Calling Convention
180
-
181
- `maestro delegate` runs synchronously. Status summary and output are **auto-appended** on completion — no manual `output` or `status` commands needed.
182
-
183
- **Always** use `run_in_background: true` and **end your response immediately**:
54
+ **ALWAYS** use `run_in_background: true`, then **stop immediately**:
184
55
 
185
56
  ```
186
57
  Bash({ command: "maestro delegate \"...\" --to gemini --mode analysis", run_in_background: true })
187
58
  ```
188
59
 
189
- When the background callback arrives, the result is already included:
190
- ```
191
- [MAESTRO_EXEC_ID=gem-143022-a7f2] ← at start
192
- [DELEGATE COMPLETED] gem-143022-a7f2 gemini/analysis ← status, on completion
193
- --- Output ---
194
- <actual output content> ← output, on completion
195
- ```
196
-
197
- **Rules:**
198
60
  - NEVER use foreground Bash for delegate calls
199
- - NEVER output text or tool calls after the `run_in_background` Bash call
200
- - When the callback arrives, output is already included directly use it
201
-
202
- ### Execution ID
61
+ - NEVER output text or tool calls after the background Bash call
62
+ - Callback includes status + output — use it directly
203
63
 
204
- ID prefix: gemini→`gem`, qwen→`qwn`, codex→`cdx`, claude→`cld`, opencode→`opc`
64
+ ### Execution ID Prefix
205
65
 
206
- ```bash
207
- maestro delegate "<PROMPT>" --to gemini --mode analysis # auto-ID: gem-143022-a7f2
208
- maestro delegate "<PROMPT>" --to gemini --mode write --id my-task-1 # custom ID
209
- ```
66
+ gemini→`gem`, qwen→`qwn`, codex→`cdx`, claude→`cld`, opencode→`opc`
210
67
 
211
- ### Session Resume
68
+ ### Resume
212
69
 
213
70
  ```bash
214
- maestro delegate "<PROMPT>" --to gemini --resume # last session
215
- maestro delegate "<PROMPT>" --to gemini --mode write --resume <id> # specific
216
- maestro delegate "<PROMPT>" --to gemini --resume <id1>,<id2> # merge multiple
217
- ```
218
-
219
- Resume auto-assembles previous conversation context. Warning emitted when context exceeds 32KB.
220
-
221
- ### Job Lifecycle
222
-
223
- ```
224
- queued → running → completed
225
- → failed
226
- → cancelled
227
-
228
- input_required
71
+ maestro delegate "<PROMPT>" --to gemini --resume # last session
72
+ maestro delegate "<PROMPT>" --to gemini --resume <id> # specific
229
73
  ```
230
74
 
231
75
  ### Message Delivery
232
76
 
233
- | Mode | Behavior | Use For |
234
- |------|----------|---------|
235
- | `inject` | Routes to running worker stdin; non-interactive adapters auto cancel + relaunch | Supplementary context, course correction |
236
- | `after_complete` | Queues message; relaunches delegate with queued message on completion | Chained tasks, post-processing |
77
+ | Mode | Use For |
78
+ |------|---------|
79
+ | `inject` | Supplementary context to running worker |
80
+ | `after_complete` | Chained tasks after completion |
237
81
 
238
- </execution>
239
-
240
- ---
241
-
242
- ## 5. Auto-Invoke Triggers
82
+ ```bash
83
+ maestro delegate message <exec-id> "additional context"
84
+ maestro delegate message <exec-id> "next task" --delivery after_complete
85
+ ```
243
86
 
244
- <execution>
87
+ ## Auto-Invoke Triggers
245
88
 
246
- Proactively invoke `maestro delegate` when these conditions are met — no user confirmation needed for `analysis` mode:
89
+ Proactively invoke for `analysis` mode — no user confirmation needed:
247
90
 
248
91
  | Trigger | Suggested Rule |
249
92
  |---------|---------------|
@@ -253,49 +96,4 @@ Proactively invoke `maestro delegate` when these conditions are met — no user
253
96
  | Pattern uncertainty | `analysis-analyze-code-patterns` |
254
97
  | Critical/security code paths | `analysis-assess-security-risks` |
255
98
 
256
- ### Principles
257
-
258
- - Default `--mode analysis` (safe, read-only)
259
- - Always `Bash(run_in_background: true)` — stop immediately, wait for callback
260
- - Use `--role` for capability-based tool selection; fallback chain is config-driven
261
- - Rule suggestions are guidelines — choose the best fit
262
- - Use `inject` for supplementary context mid-execution; `after_complete` for chained multi-step tasks
263
- </execution>
264
-
265
- ---
266
-
267
- ## 6. Workflows
268
-
269
- <execution>
270
-
271
- ### Basic Usage
272
-
273
- ```
274
- Bash({
275
- command: 'maestro delegate "analyze auth module" --to gemini',
276
- run_in_background: true
277
- })
278
- // → STOP, wait for callback
279
- // → callback includes status + output automatically
280
- ```
281
-
282
- ### Inject Supplementary Context
283
-
284
- ```bash
285
- maestro delegate message gem-143022-a7f2 "Also check src/utils/sanitize.ts"
286
- # → accepted: true, delivery: inject
287
- ```
288
-
289
- ### Chain: Analyze → Fix
290
-
291
- ```
292
- Bash({
293
- command: 'maestro delegate "find SQL injection vulnerabilities" --to gemini',
294
- run_in_background: true
295
- })
296
- // → STOP, wait for callback
297
- // → on callback: chain next step
298
- maestro delegate message gem-143022-a7f2 "Fix all critical vulnerabilities" --delivery after_complete
299
- // → queued, relaunches after analysis completes
300
- ```
301
- </execution>
99
+ **Always** `run_in_background: true`, default `--mode analysis`.