maestro-flow 0.3.18 → 0.3.19

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.
@@ -28,7 +28,7 @@ $ARGUMENTS — user intent text, or special flags.
28
28
  - `--dry-run` — Display planned chain without executing
29
29
  - `--chain <name>` — Force specific chain (skips intent classification)
30
30
 
31
- **Session state**: `.workflow/.maestro-coordinate/{session-id}/`
31
+ **Session state**: `.workflow/.maestro/{session-id}/`
32
32
  **Core output**: `tasks.csv` (master) + `wave-{N}-results.csv` (per wave) + `context.md` (report)
33
33
  </context>
34
34
 
@@ -94,7 +94,7 @@ After each barrier skill completes, read its artifacts and update `state.context
94
94
 
95
95
  ### Phase 1: Resolve Intent and Chain
96
96
 
97
- **`--continue`**: Glob `.workflow/.maestro-coordinate/MCC-*/state.json` sorted desc; load most recent; resume from first pending wave.
97
+ **`--continue`**: Glob `.workflow/.maestro/maestro-*/status.json` sorted desc; load most recent; resume from first pending wave.
98
98
 
99
99
  **Fresh mode**:
100
100
  1. Read `.workflow/state.json` for project context (derive current phase from artifact registry, `workflow_name`)
@@ -102,16 +102,27 @@ After each barrier skill completes, read its artifacts and update `state.context
102
102
  3. Otherwise classify intent via keyword heuristics (see chain_map)
103
103
  4. No match + not AUTO_YES → one clarifying question via `AskUserQuestion`
104
104
  5. Resolve chain's skill list
105
- 6. Create session dir `.workflow/.maestro-coordinate/MCC-{dateStr}-{timeStr}/` and write `state.json`:
105
+ 6. Create session dir `.workflow/.maestro/maestro-{YYYYMMDD-HHMMSS}/` and write `status.json`:
106
106
 
107
107
  ```json
108
108
  {
109
- "id": "MCC-{dateStr}-{timeStr}", "intent": "...", "chain": "...",
110
- "auto_yes": false, "status": "in_progress", "started_at": "ISO",
111
- "context": { "phase": null, "plan_dir": null, "analysis_dir": null,
109
+ "session_id": "maestro-{YYYYMMDD-HHMMSS}",
110
+ "created_at": "ISO",
111
+ "intent": "...",
112
+ "task_type": "...",
113
+ "chain_name": "...",
114
+ "phase": null,
115
+ "auto_mode": false,
116
+ "exec_mode": "auto",
117
+ "cli_tool": "codex",
118
+ "gemini_session_id": null,
119
+ "step_analyses": [],
120
+ "context": { "plan_dir": null, "analysis_dir": null,
112
121
  "brainstorm_dir": null, "spec_session_id": null, "gaps": null },
113
122
  "waves": [],
114
- "steps": [{ "step_n": 1, "skill": "...", "args": "", "status": "pending", "wave_n": null }]
123
+ "steps": [{ "index": 0, "skill": "...", "args": "", "engine": null, "status": "pending", "started_at": null, "completed_at": null, "wave_n": null }],
124
+ "current_step": 0,
125
+ "status": "running"
115
126
  }
116
127
  ```
117
128
 
@@ -135,16 +146,16 @@ After each barrier skill completes, read its artifacts and update `state.context
135
146
  output_schema: RESULT_SCHEMA
136
147
  })
137
148
  ```
138
- 4. **Read results**: Update each step's `status`, `findings`, `wave_n` from results CSV
149
+ 4. **Read results**: Update each step's `status`, `wave_n` from results CSV
139
150
  5. **Barrier check**: If wave was a barrier skill, run barrier analysis logic (read artifacts, update context)
140
- 6. **Persist**: Append wave to `state.waves[]`, write `state.json`
151
+ 6. **Persist**: Append wave to `state.waves[]`, write `status.json`
141
152
  7. **Abort on failure**: If any result `status === 'failed'` → mark remaining steps `skipped`, set `state.status = 'aborted'`, break
142
153
 
143
154
  ### Skill Call Assembly
144
155
 
145
156
  **Barrier skills**: `maestro-analyze`, `maestro-plan`, `maestro-brainstorm`, `maestro-spec-generate`, `maestro-execute`
146
157
 
147
- **Auto-yes flag map** (appended when `state.auto_yes` is true):
158
+ **Auto-yes flag map** (appended when `status.auto_mode` is true):
148
159
 
149
160
  | Skill | Flag |
150
161
  |-------|------|
@@ -169,7 +180,7 @@ After each barrier skill completes, read its artifacts and update `state.context
169
180
  {topic}
170
181
 
171
182
  限制:
172
- - 不要修改 .workflow/.maestro-coordinate/ 下的 state 文件
183
+ - 不要修改 .workflow/.maestro/ 下的 status 文件
173
184
  - skill 内部有自己的 session 管理,按 skill SKILL.md 执行即可
174
185
 
175
186
  最后必须调用 `report_agent_job_result`,返回 JSON:
@@ -195,7 +206,7 @@ WAVE RESULTS:
195
206
  [W3] $maestro-execute → ✓ 12/12 tasks done
196
207
  [W4] $maestro-verify → ✓ all criteria met
197
208
 
198
- State: .workflow/.maestro-coordinate/<sessionId>/state.json
209
+ State: .workflow/.maestro/<sessionId>/status.json
199
210
  Resume: $maestro --continue
200
211
  ```
201
212
  </execution>
@@ -236,7 +247,7 @@ Accumulated across all waves. Updated after each wave completes.
236
247
 
237
248
  <success_criteria>
238
249
  - [ ] Intent classified and chain resolved (keyword heuristics or `--chain`)
239
- - [ ] Session dir initialized with `state.json` before first wave
250
+ - [ ] Session dir initialized with `status.json` before first wave
240
251
  - [ ] Every skill invocation goes through `spawn_agents_on_csv` — none executed in coordinator
241
252
  - [ ] Barrier skills execute solo in their wave; coordinator only reads artifacts afterward
242
253
  - [ ] Non-barrier skills grouped into parallel waves where possible
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "maestro-flow",
3
- "version": "0.3.18",
3
+ "version": "0.3.19",
4
4
  "description": "Workflow orchestration CLI with MCP endpoint support and extensible architecture",
5
5
  "type": "module",
6
6
  "imports": {
@@ -12,7 +12,7 @@ Extract from `$ARGUMENTS`:
12
12
  - Flags: `-y`/`--yes` (autoYes), `-c`/`--continue` (resumeMode), `--dry-run`, `--chain <name>`, `--tool <name>` (default: codex)
13
13
  - `intent` = remaining text after flag removal
14
14
 
15
- **If resumeMode:** Load latest `.workflow/.maestro-coordinate/*/status.json`, set `current_step` to first non-completed step, jump to **Step 6**.
15
+ **If resumeMode:** Load latest `.workflow/.maestro/*/status.json`, set `current_step` to first non-completed step, jump to **Step 6**.
16
16
 
17
17
  ---
18
18
 
@@ -194,7 +194,7 @@ MAESTRO-COORDINATE: {chain_name} (dry run)
194
194
 
195
195
  ## Step 5: Setup Session
196
196
 
197
- Create session directory `.workflow/.maestro-coordinate/coord-{timestamp}/`.
197
+ Create session directory `.workflow/.maestro/maestro-{YYYYMMDD-HHMMSS}/`.
198
198
 
199
199
  Initialize `status.json` with: session_id, intent, task_type, chain_name, tool, auto_mode, phase, current_step=0, gemini_session_id=null, step_analyses=[], steps[] (each: index, skill, args, status=pending, exec_id=null, analysis=null).
200
200