maestro-flow 0.3.19 → 0.3.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 (64) hide show
  1. package/.claude/commands/learn-investigate.md +195 -195
  2. package/.claude/commands/learn-retro.md +303 -303
  3. package/.claude/commands/learn-second-opinion.md +167 -167
  4. package/.claude/commands/maestro-amend.md +300 -300
  5. package/.claude/commands/maestro-analyze.md +126 -126
  6. package/.claude/commands/maestro-composer.md +354 -354
  7. package/.claude/commands/maestro-execute.md +114 -114
  8. package/.claude/commands/maestro-learn.md +140 -140
  9. package/.claude/commands/maestro-milestone-audit.md +68 -68
  10. package/.claude/commands/maestro-milestone-complete.md +75 -75
  11. package/.claude/commands/maestro-milestone-release.md +96 -96
  12. package/.claude/commands/maestro-plan.md +138 -138
  13. package/.claude/commands/maestro-player.md +404 -404
  14. package/.claude/commands/maestro-update.md +176 -176
  15. package/.claude/commands/maestro-verify.md +90 -90
  16. package/.claude/commands/manage-codebase-rebuild.md +75 -75
  17. package/.claude/commands/manage-knowhow-capture.md +193 -193
  18. package/.claude/commands/manage-knowhow.md +77 -77
  19. package/.claude/commands/manage-learn.md +67 -67
  20. package/.claude/commands/manage-wiki.md +62 -62
  21. package/.claude/commands/quality-business-test.md +110 -110
  22. package/.claude/commands/quality-retrospective.md +78 -78
  23. package/.claude/commands/spec-add.md +49 -49
  24. package/.claude/commands/spec-load.md +51 -51
  25. package/.claude/commands/spec-remove.md +51 -51
  26. package/.claude/commands/wiki-connect.md +62 -62
  27. package/.claude/commands/wiki-digest.md +69 -69
  28. package/.codex/skills/maestro/SKILL.md +1 -1
  29. package/.codex/skills/maestro-analyze/SKILL.md +2 -2
  30. package/.codex/skills/maestro-brainstorm/SKILL.md +2 -2
  31. package/.codex/skills/maestro-execute/SKILL.md +1 -1
  32. package/.codex/skills/maestro-link-coordinate/SKILL.md +6 -6
  33. package/.codex/skills/maestro-plan/SKILL.md +2 -2
  34. package/.codex/skills/maestro-player/SKILL.md +6 -6
  35. package/.codex/skills/maestro-roadmap/SKILL.md +1 -1
  36. package/.codex/skills/maestro-spec-generate/SKILL.md +1 -1
  37. package/.codex/skills/maestro-verify/SKILL.md +1 -1
  38. package/.codex/skills/manage-codebase-rebuild/SKILL.md +1 -1
  39. package/.codex/skills/manage-issue-discover/SKILL.md +1 -1
  40. package/.codex/skills/quality-debug/SKILL.md +2 -2
  41. package/.codex/skills/quality-integration-test/SKILL.md +1 -1
  42. package/.codex/skills/quality-review/SKILL.md +1 -1
  43. package/.codex/skills/quality-test-gen/SKILL.md +1 -1
  44. package/.codex/skills/spec-map/SKILL.md +1 -1
  45. package/.codex/skills/team-coordinate/roles/coordinator/role.md +1 -0
  46. package/.codex/skills/team-executor/roles/executor/role.md +3 -0
  47. package/.codex/skills/team-lifecycle-v4/roles/coordinator/role.md +1 -0
  48. package/.codex/skills/team-quality-assurance/roles/coordinator/role.md +1 -0
  49. package/.codex/skills/team-review/roles/coordinator/role.md +1 -0
  50. package/.codex/skills/team-tech-debt/roles/coordinator/role.md +1 -0
  51. package/.codex/skills/team-testing/roles/coordinator/role.md +1 -0
  52. package/dashboard/dist-server/dashboard/src/server/coordinator/workflow-coordinator.js +3 -3
  53. package/dashboard/dist-server/dashboard/src/server/coordinator/workflow-coordinator.js.map +1 -1
  54. package/dashboard/dist-server/dashboard/src/server/execution/execution-scheduler.js +1 -1
  55. package/dashboard/dist-server/dashboard/src/server/execution/execution-scheduler.js.map +1 -1
  56. package/dist/src/commands/coordinate.js +2 -2
  57. package/dist/src/commands/coordinate.js.map +1 -1
  58. package/dist/src/hooks/coordinator-tracker.d.ts +1 -1
  59. package/dist/src/hooks/coordinator-tracker.js +3 -3
  60. package/dist/src/hooks/coordinator-tracker.js.map +1 -1
  61. package/package.json +1 -1
  62. package/workflows/maestro-link-coordinate.md +3 -3
  63. package/workflows/maestro.codex.md +2 -2
  64. package/workflows/maestro-coordinate.codex.md +0 -281
@@ -1,69 +1,69 @@
1
- ---
2
- name: wiki-digest
3
- description: Generate knowledge digest from wiki entries with theme clustering, gap analysis, and coverage heatmap
4
- argument-hint: "[<topic>|--recent N] [--type <type>] [--format brief|full]"
5
- allowed-tools:
6
- - Read
7
- - Write
8
- - Bash
9
- - Glob
10
- - Grep
11
- - Agent
12
- - AskUserQuestion
13
- ---
14
- <purpose>
15
- Knowledge synthesis command that generates actionable digests from the wiki knowledge graph. Clusters entries by semantic theme, identifies knowledge gaps, and produces a coverage heatmap. Unique to maestro — leverages the wiki graph (BM25 search, backlinks, health) to surface trends and missing knowledge.
16
-
17
- Unlike `maestro wiki list` which shows raw entries, this command synthesizes and interprets the knowledge base, producing a curated summary with gap analysis and recommended next actions.
18
- </purpose>
19
-
20
- <required_reading>
21
- @~/.maestro/workflows/wiki-digest.md
22
- </required_reading>
23
-
24
- <deferred_reading>
25
- - @~/.maestro/workflows/issue.md (issues.jsonl canonical schema for `--create-issues` routing)
26
- </deferred_reading>
27
-
28
- <context>
29
- Arguments: $ARGUMENTS
30
-
31
- Flags, scope resolution, storage paths, and CLI commands defined in workflow wiki-digest.md.
32
- </context>
33
-
34
- <execution>
35
- Follow '~/.maestro/workflows/wiki-digest.md' completely (Stages 1-8).
36
-
37
- **Next-step routing:**
38
- - Deep dive on a theme → `/learn-follow <wiki-id>`
39
- - Fix graph gaps → `/wiki-connect --fix`
40
- - Decompose code for missing patterns → `/learn-decompose <path>`
41
- - Create missing entries → `maestro wiki create --type <type> --slug <slug>`
42
- - Triage gap issues → `/manage-issue list --source wiki-digest`
43
- </execution>
44
-
45
- <error_codes>
46
- | Code | Severity | Condition | Recovery |
47
- |------|----------|-----------|----------|
48
- | E001 | error | No wiki entries found (empty index) | Initialize wiki content first |
49
- | E002 | error | Topic search returned 0 results | Broaden topic or check wiki content |
50
- | W001 | warning | Too few entries (<5) for meaningful theme clustering | Digest produced but themes may be trivial |
51
- | W002 | warning | lessons.jsonl not found — skipping cross-reference | Proceed without lesson context |
52
- | W003 | warning | Some entry bodies failed to load — partial summaries | Note incomplete entries in digest |
53
- </error_codes>
54
-
55
- <success_criteria>
56
- - [ ] Scope parsed and entries loaded
57
- - [ ] Baseline health score recorded
58
- - [ ] Entries clustered into 3-5 semantic themes
59
- - [ ] Per-theme analysis: summary, key entries, gaps, health
60
- - [ ] Cross-reference with lessons.jsonl completed
61
- - [ ] Coverage heatmap generated (type × theme matrix)
62
- - [ ] Knowledge gaps identified with suggested actions
63
- - [ ] If `--create-issues`: gap issues created in `issues.jsonl` (deduped)
64
- - [ ] Digest written to `digest-{slug}-{date}.md`
65
- - [ ] Meta-insights appended to `lessons.jsonl`
66
- - [ ] `learning-index.json` updated
67
- - [ ] No files modified outside `.workflow/learning/` and `.workflow/issues/` (issues only when `--create-issues`)
68
- - [ ] Summary displayed with key findings and next-step routing
69
- </success_criteria>
1
+ ---
2
+ name: wiki-digest
3
+ description: Generate knowledge digest from wiki entries with theme clustering, gap analysis, and coverage heatmap
4
+ argument-hint: "[<topic>|--recent N] [--type <type>] [--format brief|full]"
5
+ allowed-tools:
6
+ - Read
7
+ - Write
8
+ - Bash
9
+ - Glob
10
+ - Grep
11
+ - Agent
12
+ - AskUserQuestion
13
+ ---
14
+ <purpose>
15
+ Knowledge synthesis command that generates actionable digests from the wiki knowledge graph. Clusters entries by semantic theme, identifies knowledge gaps, and produces a coverage heatmap. Unique to maestro — leverages the wiki graph (BM25 search, backlinks, health) to surface trends and missing knowledge.
16
+
17
+ Unlike `maestro wiki list` which shows raw entries, this command synthesizes and interprets the knowledge base, producing a curated summary with gap analysis and recommended next actions.
18
+ </purpose>
19
+
20
+ <required_reading>
21
+ @~/.maestro/workflows/wiki-digest.md
22
+ </required_reading>
23
+
24
+ <deferred_reading>
25
+ - @~/.maestro/workflows/issue.md (issues.jsonl canonical schema for `--create-issues` routing)
26
+ </deferred_reading>
27
+
28
+ <context>
29
+ Arguments: $ARGUMENTS
30
+
31
+ Flags, scope resolution, storage paths, and CLI commands defined in workflow wiki-digest.md.
32
+ </context>
33
+
34
+ <execution>
35
+ Follow '~/.maestro/workflows/wiki-digest.md' completely (Stages 1-8).
36
+
37
+ **Next-step routing:**
38
+ - Deep dive on a theme → `/learn-follow <wiki-id>`
39
+ - Fix graph gaps → `/wiki-connect --fix`
40
+ - Decompose code for missing patterns → `/learn-decompose <path>`
41
+ - Create missing entries → `maestro wiki create --type <type> --slug <slug>`
42
+ - Triage gap issues → `/manage-issue list --source wiki-digest`
43
+ </execution>
44
+
45
+ <error_codes>
46
+ | Code | Severity | Condition | Recovery |
47
+ |------|----------|-----------|----------|
48
+ | E001 | error | No wiki entries found (empty index) | Initialize wiki content first |
49
+ | E002 | error | Topic search returned 0 results | Broaden topic or check wiki content |
50
+ | W001 | warning | Too few entries (<5) for meaningful theme clustering | Digest produced but themes may be trivial |
51
+ | W002 | warning | lessons.jsonl not found — skipping cross-reference | Proceed without lesson context |
52
+ | W003 | warning | Some entry bodies failed to load — partial summaries | Note incomplete entries in digest |
53
+ </error_codes>
54
+
55
+ <success_criteria>
56
+ - [ ] Scope parsed and entries loaded
57
+ - [ ] Baseline health score recorded
58
+ - [ ] Entries clustered into 3-5 semantic themes
59
+ - [ ] Per-theme analysis: summary, key entries, gaps, health
60
+ - [ ] Cross-reference with lessons.jsonl completed
61
+ - [ ] Coverage heatmap generated (type × theme matrix)
62
+ - [ ] Knowledge gaps identified with suggested actions
63
+ - [ ] If `--create-issues`: gap issues created in `issues.jsonl` (deduped)
64
+ - [ ] Digest written to `digest-{slug}-{date}.md`
65
+ - [ ] Meta-insights appended to `lessons.jsonl`
66
+ - [ ] `learning-index.json` updated
67
+ - [ ] No files modified outside `.workflow/learning/` and `.workflow/issues/` (issues only when `--create-issues`)
68
+ - [ ] Summary displayed with key findings and next-step routing
69
+ </success_criteria>
@@ -141,7 +141,7 @@ After each barrier skill completes, read its artifacts and update `state.context
141
141
  spawn_agents_on_csv({
142
142
  csv_path: "{sessionDir}/wave-{N}.csv",
143
143
  id_column: "id", instruction: WAVE_INSTRUCTION,
144
- max_workers: <wave size>, max_runtime_seconds: 1800,
144
+ max_workers: <wave size>, max_runtime_seconds: 3600,
145
145
  output_csv_path: "{sessionDir}/wave-{N}-results.csv",
146
146
  output_schema: RESULT_SCHEMA
147
147
  })
@@ -252,7 +252,7 @@ spawn_agents_on_csv({
252
252
  id_column: "id",
253
253
  instruction: buildExplorationInstruction(sessionFolder),
254
254
  max_concurrency: maxConcurrency,
255
- max_runtime_seconds: 600,
255
+ max_runtime_seconds: 3600,
256
256
  output_csv_path: `${sessionFolder}/wave-1-results.csv`,
257
257
  output_schema: { id, status: ["completed"|"failed"], findings, score, recommendations, error }
258
258
  // required: id, status, findings
@@ -277,7 +277,7 @@ spawn_agents_on_csv({
277
277
  id_column: "id",
278
278
  instruction: buildScoringInstruction(sessionFolder),
279
279
  max_concurrency: maxConcurrency,
280
- max_runtime_seconds: 600,
280
+ max_runtime_seconds: 3600,
281
281
  output_csv_path: `${sessionFolder}/wave-2-results.csv`,
282
282
  output_schema: { id, status: ["completed"|"failed"], findings, score, recommendations, error }
283
283
  // required: id, status, findings, score
@@ -230,7 +230,7 @@ spawn_agents_on_csv({
230
230
  csv_path: `${sessionFolder}/wave-1.csv`,
231
231
  id_column: "id",
232
232
  instruction: buildGuidanceInstruction(sessionFolder, topicArg),
233
- max_concurrency: 1, max_runtime_seconds: 600,
233
+ max_concurrency: 1, max_runtime_seconds: 3600,
234
234
  output_csv_path: `${sessionFolder}/wave-1-results.csv`,
235
235
  output_schema: { id, status: [completed|failed], findings, analysis_file, error }
236
236
  })
@@ -258,7 +258,7 @@ spawn_agents_on_csv({
258
258
  csv_path: `${sessionFolder}/wave-2.csv`,
259
259
  id_column: "id",
260
260
  instruction: buildRoleAnalysisInstruction(sessionFolder),
261
- max_concurrency: maxConcurrency, max_runtime_seconds: 900,
261
+ max_concurrency: maxConcurrency, max_runtime_seconds: 3600,
262
262
  output_csv_path: `${sessionFolder}/wave-2-results.csv`,
263
263
  output_schema: { id, status: [completed|failed], findings, analysis_file, error }
264
264
  })
@@ -219,7 +219,7 @@ spawn_agents_on_csv({
219
219
  csv_path: `${sessionFolder}/wave-${N}.csv`,
220
220
  id_column: "id",
221
221
  instruction: buildExecutorInstruction(sessionFolder, phaseDir, autoCommit, specsContent),
222
- max_concurrency: maxConcurrency, max_runtime_seconds: 900,
222
+ max_concurrency: maxConcurrency, max_runtime_seconds: 3600,
223
223
  output_csv_path: `${sessionFolder}/wave-${N}-results.csv`,
224
224
  output_schema: { id, status: [completed|failed|blocked], findings, files_modified, tests_passed, error }
225
225
  })
@@ -52,7 +52,7 @@ $ARGUMENTS — user intent text, or flags.
52
52
  - `--chain <name>` — Force a specific chain graph
53
53
  - `-y / --yes` — Auto mode: no confirmations between nodes
54
54
 
55
- **Session state**: `.workflow/.maestro-coordinate/{session-id}/`
55
+ **Session state**: `.workflow/.maestro/{session-id}/`
56
56
  **Chain graphs**: `chains/` and `chains/singles/` directories (JSON files)
57
57
  </context>
58
58
 
@@ -74,7 +74,7 @@ Parse `$ARGUMENTS` to extract: `listMode` (`--list`), `autoYes` (`-y`/`--yes`),
74
74
 
75
75
  **`--list`**: Scan `chains/*.json` and `chains/singles/*.json`, display names + descriptions, stop.
76
76
 
77
- **`-c` (resume)**: Glob `.workflow/.maestro-coordinate/MLC-*/state.json`, pick most recent (or by `resumeId`). Load state → find first incomplete node → jump to Phase 2.
77
+ **`-c` (resume)**: Glob `.workflow/.maestro/MLC-*/state.json`, pick most recent (or by `resumeId`). Load state → find first incomplete node → jump to Phase 2.
78
78
 
79
79
  **Fresh session**:
80
80
  1. Resolve chain: `--chain` direct or classify from intent using `chains/_intent-map.json`
@@ -94,7 +94,7 @@ Parse `$ARGUMENTS` to extract: `listMode` (`--list`), `autoYes` (`-y`/`--yes`),
94
94
  }
95
95
  ```
96
96
 
97
- Session dir: `.workflow/.maestro-coordinate/{sessionId}/`
97
+ Session dir: `.workflow/.maestro/{sessionId}/`
98
98
 
99
99
  **`--dry-run`**: Display node walk order with types, stop.
100
100
  **Confirm** (skip if `autoYes`): Display chain summary, prompt `Proceed?`.
@@ -119,7 +119,7 @@ spawn_agents_on_csv({
119
119
  id_column: "id",
120
120
  instruction: AGENT_INSTRUCTION,
121
121
  max_workers: 1,
122
- max_runtime_seconds: 1800,
122
+ max_runtime_seconds: 3600,
123
123
  output_csv_path: `${sessionDir}/wave-${nodeId}-results.csv`,
124
124
  output_schema: RESULT_SCHEMA
125
125
  })
@@ -173,7 +173,7 @@ Set `state.status` to completed/failed based on `node.status`. Record final hist
173
173
  {topic}
174
174
 
175
175
  限制:
176
- - 不要修改 .workflow/.maestro-coordinate/ 下的 state 文件
176
+ - 不要修改 .workflow/.maestro/ 下的 state 文件
177
177
  - skill 内部有自己的 session 管理,按 skill SKILL.md 执行即可
178
178
 
179
179
  最后必须调用 `report_agent_job_result`,返回 JSON:
@@ -222,7 +222,7 @@ NODE WALK:
222
222
  [✓] test (command) — success — All tests passing
223
223
 
224
224
  Nodes: {completed}/{total} | Visits: {total_visits}
225
- State: .workflow/.maestro-coordinate/{sessionId}/state.json
225
+ State: .workflow/.maestro/{sessionId}/state.json
226
226
  Resume: $maestro-link-coordinate -c {sessionId}
227
227
  ```
228
228
 
@@ -227,7 +227,7 @@ spawn_agents_on_csv({
227
227
  id_column: "id",
228
228
  instruction: buildExplorationInstruction(sessionFolder, phaseDir),
229
229
  max_concurrency: maxConcurrency,
230
- max_runtime_seconds: 600,
230
+ max_runtime_seconds: 3600,
231
231
  output_csv_path: `${sessionFolder}/wave-1-results.csv`,
232
232
  output_schema: { // required: id, status, findings
233
233
  id: "string", status: "completed|failed", findings: "string", error: "string"
@@ -268,7 +268,7 @@ spawn_agents_on_csv({
268
268
  contextMd, indexJson, specRef, docIndex, designRef, gapsContext
269
269
  }),
270
270
  max_concurrency: 1, // Single planning agent
271
- max_runtime_seconds: 900,
271
+ max_runtime_seconds: 3600,
272
272
  output_csv_path: `${sessionFolder}/wave-2-results.csv`,
273
273
  output_schema: { // required: id, status, findings
274
274
  id: "string", status: "completed|failed", findings: "string", error: "string"
@@ -14,7 +14,7 @@ Aligned with maestro codex coordinator pattern:
14
14
  - ALL skill execution via `spawn_agents_on_csv` — coordinator never executes directly
15
15
  - Barrier nodes (checkpoints + artifact-producing skills) execute solo
16
16
  - Non-barrier nodes grouped into parallel waves
17
- - Session state at `.workflow/.maestro-coordinate/{session-id}/`
17
+ - Session state at `.workflow/.maestro/{session-id}/`
18
18
  - Resume from last completed wave via `-c`
19
19
 
20
20
  ```
@@ -57,7 +57,7 @@ $ARGUMENTS — template slug/path, or flags.
57
57
  | Constant | Value |
58
58
  |----------|-------|
59
59
  | Session prefix | `MCP` (Maestro Composer Player) |
60
- | Session dir | `.workflow/.maestro-coordinate/MCP-<YYYYMMDD>-<HHmmss>/` |
60
+ | Session dir | `.workflow/.maestro/MCP-<YYYYMMDD>-<HHmmss>/` |
61
61
  | State file | `state.json` |
62
62
  | Wave CSV | `wave-{N}.csv` |
63
63
  | Wave results | `wave-{N}-results.csv` |
@@ -199,7 +199,7 @@ spawn_agents_on_csv({
199
199
  id_column: "id",
200
200
  instruction: PLAYER_INSTRUCTION,
201
201
  max_workers: waveSteps.length,
202
- max_runtime_seconds: 1800,
202
+ max_runtime_seconds: 3600,
203
203
  output_csv_path: `${sessionDir}/wave-${waveNum}-results.csv`,
204
204
  output_schema: RESULT_SCHEMA
205
205
  })
@@ -223,7 +223,7 @@ spawn_agents_on_csv({
223
223
  {topic}
224
224
 
225
225
  限制:
226
- - 不要修改 .workflow/.maestro-coordinate/ 下的 state 文件
226
+ - 不要修改 .workflow/.maestro/ 下的 state 文件
227
227
  - skill 内部有自己的 session 管理,按 skill SKILL.md 执行即可
228
228
 
229
229
  最后必须调用 `report_agent_job_result`,返回 JSON:
@@ -266,7 +266,7 @@ const RESULT_SCHEMA = {
266
266
  [W3] $quality-test {phase} → ✓ all tests pass
267
267
  $quality-review {phase} → ✓ no issues
268
268
 
269
- State: .workflow/.maestro-coordinate/<session_id>/state.json
269
+ State: .workflow/.maestro/<session_id>/state.json
270
270
  Resume: $maestro-player -c
271
271
  ============================================================
272
272
  ```
@@ -310,7 +310,7 @@ Written by `spawn_agents_on_csv`. Contains result per agent.
310
310
  <success_criteria>
311
311
  - [ ] Template loaded from `~/.maestro/templates/workflows/` and validated
312
312
  - [ ] All required context variables bound
313
- - [ ] Session dir at `.workflow/.maestro-coordinate/MCP-*/` with `state.json`
313
+ - [ ] Session dir at `.workflow/.maestro/MCP-*/` with `state.json`
314
314
  - [ ] DAG nodes converted to waves (barrier=solo, non-barrier=parallel)
315
315
  - [ ] Every skill invocation goes through `spawn_agents_on_csv` — none in coordinator
316
316
  - [ ] Checkpoint nodes handled inline (state save, optional user pause)
@@ -198,7 +198,7 @@ spawn_agents_on_csv({
198
198
  id_column: "id",
199
199
  instruction: buildAnalysisInstruction(sessionFolder, requirementArg, strategy),
200
200
  max_concurrency: 3,
201
- max_runtime_seconds: 300,
201
+ max_runtime_seconds: 3600,
202
202
  output_csv_path: `${sessionFolder}/wave-1-results.csv`,
203
203
  output_schema: {
204
204
  type: "object",
@@ -218,7 +218,7 @@ spawn_agents_on_csv({
218
218
  id_column: "id",
219
219
  instruction: buildResearchInstruction(sessionFolder, topicArg),
220
220
  max_concurrency: 3,
221
- max_runtime_seconds: 600,
221
+ max_runtime_seconds: 3600,
222
222
  output_csv_path: `${sessionFolder}/wave-1-results.csv`,
223
223
  output_schema: {
224
224
  type: "object",
@@ -235,7 +235,7 @@ spawn_agents_on_csv({
235
235
  id_column: "id",
236
236
  instruction: buildVerifyInstruction(sessionFolder, "wave1"),
237
237
  max_concurrency: maxConcurrency,
238
- max_runtime_seconds: 600,
238
+ max_runtime_seconds: 3600,
239
239
  output_csv_path: `${sessionFolder}/wave-1-results.csv`,
240
240
  output_schema: { id, status: ["completed"|"failed"], findings, gaps_found, fix_plan, error }
241
241
  // required: id, status, findings
@@ -200,7 +200,7 @@ spawn_agents_on_csv({
200
200
  id_column: "id",
201
201
  instruction: buildRebuildInstruction(sessionFolder, sourceDirs),
202
202
  max_concurrency: maxConcurrency,
203
- max_runtime_seconds: 900,
203
+ max_runtime_seconds: 3600,
204
204
  output_csv_path: `${sessionFolder}/wave-1-results.csv`,
205
205
  output_schema: {
206
206
  type: "object",
@@ -247,7 +247,7 @@ spawn_agents_on_csv({
247
247
  id_column: "id",
248
248
  instruction: buildDiscoverInstruction(sessionFolder, discoveryDir, mode),
249
249
  max_concurrency: maxConcurrency,
250
- max_runtime_seconds: 900,
250
+ max_runtime_seconds: 3600,
251
251
  output_csv_path: `${sessionFolder}/wave-1-results.csv`,
252
252
  output_schema: { // required: id, status, findings
253
253
  id: "string", status: "completed|failed",
@@ -205,7 +205,7 @@ spawn_agents_on_csv({
205
205
  csv_path: `${sessionFolder}/wave-1.csv`,
206
206
  id_column: "id",
207
207
  instruction: buildInvestigationInstruction(sessionFolder),
208
- max_concurrency: maxConcurrency, max_runtime_seconds: 600,
208
+ max_concurrency: maxConcurrency, max_runtime_seconds: 3600,
209
209
  output_csv_path: `${sessionFolder}/wave-1-results.csv`,
210
210
  output_schema: { id, status: [confirmed|refuted|inconclusive|failed], findings, evidence_for, evidence_against, error }
211
211
  })
@@ -225,7 +225,7 @@ spawn_agents_on_csv({
225
225
  csv_path: `${sessionFolder}/wave-2.csv`,
226
226
  id_column: "id",
227
227
  instruction: buildFixInstruction(sessionFolder),
228
- max_concurrency: maxConcurrency, max_runtime_seconds: 900,
228
+ max_concurrency: maxConcurrency, max_runtime_seconds: 3600,
229
229
  output_csv_path: `${sessionFolder}/wave-2-results.csv`,
230
230
  output_schema: { id, status: [fixed|fix_failed|failed], findings, fix_applied, verified, error }
231
231
  })
@@ -231,7 +231,7 @@ spawn_agents_on_csv({
231
231
  id_column: "id",
232
232
  instruction: buildL0Instruction(sessionFolder),
233
233
  max_concurrency: maxConcurrency,
234
- max_runtime_seconds: 300,
234
+ max_runtime_seconds: 3600,
235
235
  output_csv_path: `${sessionFolder}/wave-1-results.csv`,
236
236
  output_schema: { id, status: ["completed"|"failed"], findings, tests_passed, tests_failed, coverage, error }
237
237
  // required: id, status, findings
@@ -204,7 +204,7 @@ spawn_agents_on_csv({
204
204
  id_column: "id",
205
205
  instruction: buildReviewInstruction(sessionFolder),
206
206
  max_concurrency: maxConcurrency,
207
- max_runtime_seconds: 600,
207
+ max_runtime_seconds: 3600,
208
208
  output_csv_path: `${sessionFolder}/wave-1-results.csv`,
209
209
  output_schema: {
210
210
  type: "object",
@@ -214,7 +214,7 @@ spawn_agents_on_csv({
214
214
  csv_path: `${sessionFolder}/wave-1.csv`,
215
215
  id_column: "id",
216
216
  instruction: buildTestGenInstruction(sessionFolder),
217
- max_concurrency: maxConcurrency, max_runtime_seconds: 600,
217
+ max_concurrency: maxConcurrency, max_runtime_seconds: 3600,
218
218
  output_csv_path: `${sessionFolder}/wave-1-results.csv`,
219
219
  output_schema: { id, status: [completed|failed], findings, tests_created, coverage_delta, error }
220
220
  })
@@ -106,7 +106,7 @@ Generate 4 mapper rows. If focus area specified, scope descriptions to that area
106
106
 
107
107
  ### Phase 2: Wave Execution
108
108
 
109
- Single wave -- all 4 mappers via `spawn_agents_on_csv` (max_concurrency: 4, 600s timeout). Each agent returns: id, status (completed/failed), findings, error.
109
+ Single wave -- all 4 mappers via `spawn_agents_on_csv` (max_concurrency: 4, 3600s timeout). Each agent returns: id, status (completed/failed), findings, error.
110
110
 
111
111
  ### Phase 3: Write Output Files
112
112
 
@@ -385,6 +385,7 @@ Delegate to `@commands/dispatch.md` which creates the full task chain:
385
385
  ### Agent Lifecycle Management
386
386
  - **list_agents({})**: Returns all running agents. Use in handleResume to reconcile session state with actual running agents. Use in handleComplete to verify clean shutdown.
387
387
  - **Named targeting**: Workers spawned with `task_name: "<task-id>"` can be addressed by name in send_message, followup_task, and close_agent calls.
388
+ - **Close agents promptly**: Call `close_agent` immediately after collecting a worker's result — do NOT leave completed agents running. Idle agents waste resources. At pipeline end, verify all agents closed via `list_agents`.
388
389
 
389
390
  ## Error Handling
390
391
 
@@ -155,6 +155,9 @@ Initialize session folder if needed.
155
155
 
156
156
  ---
157
157
 
158
+ ## Agent Lifecycle Management
159
+ - **Close agents promptly**: Call `close_agent` immediately after collecting a worker's result — do NOT leave completed agents running. Idle agents waste resources. At pipeline end, verify all agents closed via `list_agents`.
160
+
158
161
  ## Error Handling
159
162
 
160
163
  | Error | Resolution |
@@ -175,6 +175,7 @@ Delegate to @commands/monitor.md#handleSpawnNext:
175
175
  ### Agent Lifecycle Management
176
176
  - **list_agents({})**: Returns all running agents. Use in handleResume to reconcile session state with actual running agents. Use in handleComplete to verify clean shutdown.
177
177
  - **Named targeting**: Workers spawned with `task_name: "<task-id>"` can be addressed by name in send_message, followup_task, and close_agent calls.
178
+ - **Close agents promptly**: Call `close_agent` immediately after collecting a worker's result — do NOT leave completed agents running. Idle agents waste resources. At pipeline end, verify all agents closed via `list_agents`.
178
179
 
179
180
  ## Error Handling
180
181
 
@@ -162,6 +162,7 @@ Delegate to @commands/monitor.md#handleSpawnNext:
162
162
  ### Agent Lifecycle Management
163
163
  - **list_agents({})**: Returns all running agents. Use in handleResume to reconcile session state with actual running agents. Use in handleComplete to verify clean shutdown.
164
164
  - **Named targeting**: Workers spawned with `task_name: "<task-id>"` can be addressed by name in send_message, followup_task, and close_agent calls.
165
+ - **Close agents promptly**: Call `close_agent` immediately after collecting a worker's result — do NOT leave completed agents running. Idle agents waste resources. At pipeline end, verify all agents closed via `list_agents`.
165
166
 
166
167
  ## Error Handling
167
168
 
@@ -162,6 +162,7 @@ Delegate to @commands/monitor.md#handleSpawnNext:
162
162
  ### Agent Lifecycle Management
163
163
  - **list_agents({})**: Returns all running agents. Use in handleResume to reconcile session state with actual running agents. Use in handleComplete to verify clean shutdown.
164
164
  - **Named targeting**: Workers spawned with `task_name: "<task-id>"` can be addressed by name in send_message, followup_task, and close_agent calls.
165
+ - **Close agents promptly**: Call `close_agent` immediately after collecting a worker's result — do NOT leave completed agents running. Idle agents waste resources. At pipeline end, verify all agents closed via `list_agents`.
165
166
 
166
167
  ## Error Handling
167
168
 
@@ -158,6 +158,7 @@ Delegate to @commands/monitor.md#handleSpawnNext:
158
158
  ### Agent Lifecycle Management
159
159
  - **list_agents({})**: Returns all running agents. Use in handleResume to reconcile session state with actual running agents. Use in handleComplete to verify clean shutdown.
160
160
  - **Named targeting**: Workers spawned with `task_name: "<task-id>"` can be addressed by name in send_message, followup_task, and close_agent calls.
161
+ - **Close agents promptly**: Call `close_agent` immediately after collecting a worker's result — do NOT leave completed agents running. Idle agents waste resources. At pipeline end, verify all agents closed via `list_agents`.
161
162
 
162
163
  ## Error Handling
163
164
 
@@ -171,6 +171,7 @@ Delegate to @commands/monitor.md#handleSpawnNext:
171
171
  ### Agent Lifecycle Management
172
172
  - **list_agents({})**: Returns all running agents. Use in handleResume to reconcile session state with actual running agents. Use in handleComplete to verify clean shutdown.
173
173
  - **Named targeting**: Workers spawned with `task_name: "<task-id>"` can be addressed by name in send_message, followup_task, and close_agent calls.
174
+ - **Close agents promptly**: Call `close_agent` immediately after collecting a worker's result — do NOT leave completed agents running. Idle agents waste resources. At pipeline end, verify all agents closed via `list_agents`.
174
175
 
175
176
  ## Error Handling
176
177
 
@@ -35,7 +35,7 @@ export class WorkflowCoordinator {
35
35
  if (this.graphWalker)
36
36
  return this.graphWalker;
37
37
  if (!this.graphWalkerInitPromise) {
38
- const sessionDir = join(this.workflowRoot, '.workflow', '.maestro-coordinate');
38
+ const sessionDir = join(this.workflowRoot, '.workflow', '.maestro');
39
39
  this.graphWalkerInitPromise = this.factory.create({
40
40
  agentManager: this.agentManager,
41
41
  eventBus: this.eventBus,
@@ -204,7 +204,7 @@ export class WorkflowCoordinator {
204
204
  get sessionDir() {
205
205
  if (!this.session)
206
206
  throw new Error('No active session');
207
- return join(this.workflowRoot, '.workflow', '.maestro-coordinate', this.session.sessionId);
207
+ return join(this.workflowRoot, '.workflow', '.maestro', this.session.sessionId);
208
208
  }
209
209
  async persistState() {
210
210
  if (!this.session)
@@ -223,7 +223,7 @@ export class WorkflowCoordinator {
223
223
  try {
224
224
  let stateDir;
225
225
  if (sessionId) {
226
- stateDir = join(this.workflowRoot, '.workflow', '.maestro-coordinate', sessionId);
226
+ stateDir = join(this.workflowRoot, '.workflow', '.maestro', sessionId);
227
227
  }
228
228
  else if (this.session) {
229
229
  stateDir = this.sessionDir;
@@ -1 +1 @@
1
- {"version":3,"file":"workflow-coordinator.js","sourceRoot":"","sources":["../../../../../src/server/coordinator/workflow-coordinator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workflow-coordinator.js","sourceRoot":"","sources":["../../../../../src/server/coordinator/workflow-coordinator.ts"],"names":[],"mappings":"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"}
@@ -485,7 +485,7 @@ export class ExecutionScheduler {
485
485
  // Create GraphWalker via factory
486
486
  try {
487
487
  const bridge = new WalkerEventBridge('coordinate', this.eventBus, `chain-${issue.id}`);
488
- const sessionDir = join(workDir, '.workflow', '.maestro-coordinate', `chain-${issue.id}`);
488
+ const sessionDir = join(workDir, '.workflow', '.maestro', `chain-${issue.id}`);
489
489
  const { walker } = await this.factory.create({
490
490
  agentManager: this.agentManager,
491
491
  eventBus: this.eventBus,