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.
- package/.codex/skills/maestro/SKILL.md +1 -1
- package/.codex/skills/maestro-analyze/SKILL.md +2 -2
- package/.codex/skills/maestro-brainstorm/SKILL.md +2 -2
- package/.codex/skills/maestro-execute/SKILL.md +1 -1
- package/.codex/skills/maestro-link-coordinate/SKILL.md +1 -1
- package/.codex/skills/maestro-plan/SKILL.md +2 -2
- package/.codex/skills/maestro-player/SKILL.md +1 -1
- package/.codex/skills/maestro-roadmap/SKILL.md +1 -1
- package/.codex/skills/maestro-spec-generate/SKILL.md +1 -1
- package/.codex/skills/maestro-verify/SKILL.md +1 -1
- package/.codex/skills/manage-codebase-rebuild/SKILL.md +1 -1
- package/.codex/skills/manage-issue-discover/SKILL.md +1 -1
- package/.codex/skills/quality-debug/SKILL.md +2 -2
- package/.codex/skills/quality-integration-test/SKILL.md +1 -1
- package/.codex/skills/quality-review/SKILL.md +1 -1
- package/.codex/skills/quality-test-gen/SKILL.md +1 -1
- package/.codex/skills/spec-map/SKILL.md +1 -1
- package/.codex/skills/team-coordinate/roles/coordinator/role.md +1 -0
- package/.codex/skills/team-executor/roles/executor/role.md +3 -0
- package/.codex/skills/team-lifecycle-v4/roles/coordinator/role.md +1 -0
- package/.codex/skills/team-quality-assurance/roles/coordinator/role.md +1 -0
- package/.codex/skills/team-review/roles/coordinator/role.md +1 -0
- package/.codex/skills/team-tech-debt/roles/coordinator/role.md +1 -0
- package/.codex/skills/team-testing/roles/coordinator/role.md +1 -0
- package/package.json +1 -1
|
@@ -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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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,
|
|
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
|
|