maestro-flow 0.3.20 → 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.
@@ -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
  })
@@ -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
  })
@@ -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"
@@ -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
  })
@@ -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
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "maestro-flow",
3
- "version": "0.3.20",
3
+ "version": "0.3.21",
4
4
  "description": "Workflow orchestration CLI with MCP endpoint support and extensible architecture",
5
5
  "type": "module",
6
6
  "imports": {