maestro-flow 0.5.41 → 0.5.42
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/.agents/skills/maestro-analyze/SKILL.md +0 -42
- package/.agents/skills/maestro-blueprint/SKILL.md +0 -22
- package/.agents/skills/maestro-brainstorm/SKILL.md +4 -24
- package/.agents/skills/maestro-execute/SKILL.md +1 -1
- package/.agents/skills/maestro-grill/SKILL.md +0 -16
- package/.agents/skills/maestro-milestone-audit/SKILL.md +0 -15
- package/.agents/skills/maestro-plan/SKILL.md +5 -62
- package/.agents/skills/maestro-roadmap/SKILL.md +0 -8
- package/.agents/skills/team-adversarial-swarm/workflows/wf-swarm-synthesize.js +248 -248
- package/.agents/skills/team-coordinate/specs/role-spec-template.md +197 -198
- package/.agents/skills/team-roadmap-dev/SKILL.md +164 -164
- package/.agents/skills/team-roadmap-dev/specs/team-config.json +1 -1
- package/.agents/skills/team-swarm/roles/analyst/role.md +172 -176
- package/.agy/skills/maestro-analyze/SKILL.md +0 -42
- package/.agy/skills/maestro-blueprint/SKILL.md +0 -22
- package/.agy/skills/maestro-brainstorm/SKILL.md +4 -24
- package/.agy/skills/maestro-execute/SKILL.md +1 -1
- package/.agy/skills/maestro-grill/SKILL.md +0 -16
- package/.agy/skills/maestro-milestone-audit/SKILL.md +0 -15
- package/.agy/skills/maestro-plan/SKILL.md +5 -62
- package/.agy/skills/maestro-roadmap/SKILL.md +0 -8
- package/.agy/skills/team-adversarial-swarm/workflows/wf-swarm-synthesize.js +248 -248
- package/.agy/skills/team-coordinate/specs/role-spec-template.md +197 -198
- package/.agy/skills/team-roadmap-dev/SKILL.md +141 -153
- package/.agy/skills/team-roadmap-dev/specs/team-config.json +1 -1
- package/.agy/skills/team-swarm/roles/analyst/role.md +172 -176
- package/.claude/commands/maestro-analyze.md +0 -42
- package/.claude/commands/maestro-blueprint.md +0 -22
- package/.claude/commands/maestro-brainstorm.md +4 -24
- package/.claude/commands/maestro-execute.md +1 -1
- package/.claude/commands/maestro-grill.md +0 -16
- package/.claude/commands/maestro-milestone-audit.md +0 -15
- package/.claude/commands/maestro-plan.md +5 -62
- package/.claude/commands/maestro-roadmap.md +0 -8
- package/.claude/skills/team-adversarial-swarm/workflows/wf-swarm-synthesize.js +248 -248
- package/.claude/skills/team-coordinate/specs/role-spec-template.md +197 -198
- package/.claude/skills/team-roadmap-dev/SKILL.md +169 -169
- package/.claude/skills/team-roadmap-dev/specs/team-config.json +1 -1
- package/.claude/skills/team-swarm/roles/analyst/role.md +181 -185
- package/dashboard/dist-server/src/commands/install-backend.js +31 -16
- package/dashboard/dist-server/src/commands/install-backend.js.map +1 -1
- package/dashboard/dist-server/src/core/component-defs.js +25 -0
- package/dashboard/dist-server/src/core/component-defs.js.map +1 -1
- package/dashboard/dist-server/src/tools/spec-loader.js +7 -3
- package/dashboard/dist-server/src/tools/spec-loader.js.map +1 -1
- package/dist/src/commands/install-backend.d.ts.map +1 -1
- package/dist/src/commands/install-backend.js +31 -16
- package/dist/src/commands/install-backend.js.map +1 -1
- package/dist/src/core/component-defs.d.ts.map +1 -1
- package/dist/src/core/component-defs.js +25 -0
- package/dist/src/core/component-defs.js.map +1 -1
- package/dist/src/tools/spec-loader.d.ts.map +1 -1
- package/dist/src/tools/spec-loader.js +7 -3
- package/dist/src/tools/spec-loader.js.map +1 -1
- package/dist/src/utils/update-notices.js +11 -0
- package/dist/src/utils/update-notices.js.map +1 -1
- package/package.json +1 -1
- package/workflows/agy-instructions.md +147 -161
- package/workflows/claude-instructions.md +100 -48
- package/workflows/codex-instructions.md +147 -161
- package/workflows/execute.md +4 -3
- package/workflows/explore-usage.md +41 -81
- package/workflows/grill.md +11 -0
- package/workflows/milestone-audit.md +8 -0
- package/workflows/odyssey-base-codex.md +115 -116
- package/workflows/odyssey-base.md +89 -91
- package/workflows/plan.md +6 -0
|
@@ -9,179 +9,175 @@ message_types:
|
|
|
9
9
|
---
|
|
10
10
|
<!-- Open-standard mirror generated by scripts/build-agents-standard.mjs — do not edit; re-run after editing .claude/ source. -->
|
|
11
11
|
|
|
12
|
-
|
|
13
|
-
# Analyst Role — Phase 2-4
|
|
14
|
-
|
|
15
|
-
Tag: `[analyst]` | Prefix: `ANALYST-*`
|
|
16
|
-
Responsibility: After swarm converges, synthesize the best solution + top trails + convergence curve into a human-readable `best-solution.md` report. Provides interpretation, not just data dump.
|
|
17
|
-
|
|
18
|
-
## Boundaries
|
|
19
|
-
|
|
20
|
-
### MUST
|
|
21
|
-
- Read `<session>/best.json`, `<session>/artifacts/swarm-report.json`, all `<session>/trails/*.jsonl`
|
|
22
|
-
- Produce `<session>/artifacts/best-solution.md` as the final deliverable
|
|
23
|
-
- Explain WHY the best path won (which decisions mattered, evidence chain)
|
|
24
|
-
- Compare best vs runner-ups to surface stability vs luck
|
|
25
|
-
- Document convergence story (entropy curve, when stagnation hit)
|
|
26
|
-
|
|
27
|
-
### MUST NOT
|
|
28
|
-
- Re-score solutions (that is scorer's job — analyst takes verified_score as given)
|
|
29
|
-
- Modify best.json, trails, or pheromone state
|
|
30
|
-
- Generate solutions of its own — analyst synthesizes existing ant outputs
|
|
31
|
-
-
|
|
32
|
-
|
|
33
|
-
## Phase 2: Context Loading
|
|
34
|
-
|
|
35
|
-
| Input | Source | Required |
|
|
36
|
-
|-------|--------|----------|
|
|
37
|
-
| Original objective | `<session>/swarm-config.json#ant_prompt.objective` | Yes |
|
|
38
|
-
| Best solution | `<session>/best.json` | Yes |
|
|
39
|
-
| Full swarm report | `<session>/artifacts/swarm-report.json` | Yes |
|
|
40
|
-
| All trails | `<session>/trails/*.jsonl` | Yes |
|
|
41
|
-
| Convergence reason | swarm-report.json or `aco.py converged` output | Yes |
|
|
42
|
-
| Best ant artifact | `<session>/artifacts/ant-<best.iteration>-<best.id>.json` (full evidence) | Yes |
|
|
43
|
-
| Issues log | `<session>/wisdom/issues.md` | Optional |
|
|
44
|
-
|
|
45
|
-
Workflow:
|
|
46
|
-
1. Extract session path from task description
|
|
47
|
-
2. Read swarm-config.json -> capture objective
|
|
48
|
-
3. Read best.json -> identify best ant
|
|
49
|
-
4. Read full swarm-report.json -> get top_k + convergence_curve
|
|
50
|
-
5. Read the best ant's full artifact for evidence chain
|
|
51
|
-
6. Read all trails/*.jsonl into a list (chronological)
|
|
52
|
-
|
|
53
|
-
## Phase 3: Synthesis
|
|
54
|
-
|
|
55
|
-
### 3.1 Structure the report
|
|
56
|
-
|
|
57
|
-
Layout for `best-solution.md`:
|
|
58
|
-
|
|
59
|
-
```markdown
|
|
60
|
-
# Swarm Result — <objective_short_form>
|
|
61
|
-
|
|
62
|
-
## Best Solution
|
|
63
|
-
|
|
64
|
-
**Path**: node_a → node_c → node_f
|
|
65
|
-
**Verified Score**: 0.82
|
|
66
|
-
**Iteration**: 3 of 5
|
|
67
|
-
**Ant**: ANT-3-2
|
|
68
|
-
|
|
69
|
-
### Summary
|
|
70
|
-
<one paragraph — what the best solution proposes and why it answers the objective>
|
|
71
|
-
|
|
72
|
-
### Evidence Chain
|
|
73
|
-
- `src/foo.ts:42` — <how this evidence supports the decision>
|
|
74
|
-
- `tests/foo.spec.ts:18` — <...>
|
|
75
|
-
|
|
76
|
-
### Candidate Artifact
|
|
77
|
-
<extract from best.candidate_solution — quote or summarize, link to file if file_ref>
|
|
78
|
-
|
|
79
|
-
## Why This Path Won
|
|
80
|
-
|
|
81
|
-
| Decision | Pheromone-guided? | Why it mattered |
|
|
82
|
-
|----------|-------------------|-----------------|
|
|
83
|
-
| start = node_a | weighted | <reason> |
|
|
84
|
-
| a → c | yes (0.45 hint) | <reason> |
|
|
85
|
-
| c → f | NO (deviation) | <reason> — this was the key call |
|
|
86
|
-
|
|
87
|
-
## Runner-Up Solutions
|
|
88
|
-
|
|
89
|
-
| Rank | Ant | Path | Score | Diff from best |
|
|
90
|
-
|------|-----|------|-------|----------------|
|
|
91
|
-
| 2 | ANT-2-1 | a → b → e | 0.74 | -0.08; weaker evidence at e |
|
|
92
|
-
| 3 | ANT-4-3 | a → c → g | 0.71 | -0.11; valid but less specific |
|
|
93
|
-
|
|
94
|
-
## Convergence Story
|
|
95
|
-
|
|
96
|
-
Iterations: 4 of 5 max
|
|
97
|
-
Trigger: stagnation (best unchanged for 2 iterations)
|
|
98
|
-
|
|
99
|
-
Entropy curve:
|
|
100
|
-
- iter 1: 3.21 (broad exploration)
|
|
101
|
-
- iter 2: 2.45 (narrowing on node_a region)
|
|
102
|
-
- iter 3: 1.85 (best emerges at ANT-3-2)
|
|
103
|
-
- iter 4: 1.72 (consensus around best, no improvement)
|
|
104
|
-
|
|
105
|
-
Interpretation: <2-3 sentences on whether the swarm converged on a genuine optimum or got stuck>
|
|
106
|
-
|
|
107
|
-
## Caveats
|
|
108
|
-
|
|
109
|
-
- <e.g., 40% of ants in iter 2 flagged as hallucinations>
|
|
110
|
-
- <e.g., evidence for node_f is single-source — recommend manual verification>
|
|
111
|
-
- <e.g., search space had only N nodes — larger space may surface better solutions>
|
|
112
|
-
|
|
113
|
-
## Reproducibility
|
|
114
|
-
|
|
115
|
-
- Config: `swarm-config.json` (pinned)
|
|
116
|
-
- Best path: `best.json`
|
|
117
|
-
- Full trails: `trails/<iter>.jsonl`
|
|
118
|
-
- Random seed: <if used>
|
|
119
|
-
```
|
|
120
|
-
|
|
121
|
-
### 3.2 Interpretation rules
|
|
122
|
-
|
|
123
|
-
- **Why-it-won analysis** is the highest-value content. Don't just describe the path — explain which decisions were pivotal.
|
|
124
|
-
- **Pheromone vs deviation**: track which steps followed pheromone hints vs deviated. Deviations that produced higher scores are the most interesting signal.
|
|
125
|
-
- **Runner-up diff**: surface why #2 lost — was it a weaker path or just unlucky evidence?
|
|
126
|
-
- **Caveats are mandatory**: every swarm result has limitations. List them honestly.
|
|
127
|
-
|
|
128
|
-
### 3.3 Constraints
|
|
129
|
-
|
|
130
|
-
-
|
|
131
|
-
-
|
|
132
|
-
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
- Every
|
|
141
|
-
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
|
148
|
-
|
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
"
|
|
169
|
-
"
|
|
170
|
-
"
|
|
171
|
-
"
|
|
172
|
-
"
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
|
182
|
-
|
|
183
|
-
|
|
|
184
|
-
| Trails empty | Same as above — no exploration data to analyze |
|
|
185
|
-
| Best ant artifact missing | Use only best.json fields; note as caveat |
|
|
186
|
-
| Cross-ref mismatch (score discrepancy) | Trust best.json; note discrepancy in caveats |
|
|
187
|
-
| Line count > 200 after rewrite | Hard-fail report; coordinator decides retry vs accept |
|
|
12
|
+
|
|
13
|
+
# Analyst Role — Phase 2-4
|
|
14
|
+
|
|
15
|
+
Tag: `[analyst]` | Prefix: `ANALYST-*`
|
|
16
|
+
Responsibility: After swarm converges, synthesize the best solution + top trails + convergence curve into a human-readable `best-solution.md` report. Provides interpretation, not just data dump.
|
|
17
|
+
|
|
18
|
+
## Boundaries
|
|
19
|
+
|
|
20
|
+
### MUST
|
|
21
|
+
- Read `<session>/best.json`, `<session>/artifacts/swarm-report.json`, all `<session>/trails/*.jsonl`
|
|
22
|
+
- Produce `<session>/artifacts/best-solution.md` as the final deliverable
|
|
23
|
+
- Explain WHY the best path won (which decisions mattered, evidence chain)
|
|
24
|
+
- Compare best vs runner-ups to surface stability vs luck
|
|
25
|
+
- Document convergence story (entropy curve, when stagnation hit)
|
|
26
|
+
|
|
27
|
+
### MUST NOT
|
|
28
|
+
- Re-score solutions (that is scorer's job — analyst takes verified_score as given)
|
|
29
|
+
- Modify best.json, trails, or pheromone state
|
|
30
|
+
- Generate solutions of its own — analyst synthesizes existing ant outputs
|
|
31
|
+
- Pad best-solution.md with prose — every section must earn its place
|
|
32
|
+
|
|
33
|
+
## Phase 2: Context Loading
|
|
34
|
+
|
|
35
|
+
| Input | Source | Required |
|
|
36
|
+
|-------|--------|----------|
|
|
37
|
+
| Original objective | `<session>/swarm-config.json#ant_prompt.objective` | Yes |
|
|
38
|
+
| Best solution | `<session>/best.json` | Yes |
|
|
39
|
+
| Full swarm report | `<session>/artifacts/swarm-report.json` | Yes |
|
|
40
|
+
| All trails | `<session>/trails/*.jsonl` | Yes |
|
|
41
|
+
| Convergence reason | swarm-report.json or `aco.py converged` output | Yes |
|
|
42
|
+
| Best ant artifact | `<session>/artifacts/ant-<best.iteration>-<best.id>.json` (full evidence) | Yes |
|
|
43
|
+
| Issues log | `<session>/wisdom/issues.md` | Optional |
|
|
44
|
+
|
|
45
|
+
Workflow:
|
|
46
|
+
1. Extract session path from task description
|
|
47
|
+
2. Read swarm-config.json -> capture objective
|
|
48
|
+
3. Read best.json -> identify best ant
|
|
49
|
+
4. Read full swarm-report.json -> get top_k + convergence_curve
|
|
50
|
+
5. Read the best ant's full artifact for evidence chain
|
|
51
|
+
6. Read all trails/*.jsonl into a list (chronological)
|
|
52
|
+
|
|
53
|
+
## Phase 3: Synthesis
|
|
54
|
+
|
|
55
|
+
### 3.1 Structure the report
|
|
56
|
+
|
|
57
|
+
Layout for `best-solution.md`:
|
|
58
|
+
|
|
59
|
+
```markdown
|
|
60
|
+
# Swarm Result — <objective_short_form>
|
|
61
|
+
|
|
62
|
+
## Best Solution
|
|
63
|
+
|
|
64
|
+
**Path**: node_a → node_c → node_f
|
|
65
|
+
**Verified Score**: 0.82
|
|
66
|
+
**Iteration**: 3 of 5
|
|
67
|
+
**Ant**: ANT-3-2
|
|
68
|
+
|
|
69
|
+
### Summary
|
|
70
|
+
<one paragraph — what the best solution proposes and why it answers the objective>
|
|
71
|
+
|
|
72
|
+
### Evidence Chain
|
|
73
|
+
- `src/foo.ts:42` — <how this evidence supports the decision>
|
|
74
|
+
- `tests/foo.spec.ts:18` — <...>
|
|
75
|
+
|
|
76
|
+
### Candidate Artifact
|
|
77
|
+
<extract from best.candidate_solution — quote or summarize, link to file if file_ref>
|
|
78
|
+
|
|
79
|
+
## Why This Path Won
|
|
80
|
+
|
|
81
|
+
| Decision | Pheromone-guided? | Why it mattered |
|
|
82
|
+
|----------|-------------------|-----------------|
|
|
83
|
+
| start = node_a | weighted | <reason> |
|
|
84
|
+
| a → c | yes (0.45 hint) | <reason> |
|
|
85
|
+
| c → f | NO (deviation) | <reason> — this was the key call |
|
|
86
|
+
|
|
87
|
+
## Runner-Up Solutions
|
|
88
|
+
|
|
89
|
+
| Rank | Ant | Path | Score | Diff from best |
|
|
90
|
+
|------|-----|------|-------|----------------|
|
|
91
|
+
| 2 | ANT-2-1 | a → b → e | 0.74 | -0.08; weaker evidence at e |
|
|
92
|
+
| 3 | ANT-4-3 | a → c → g | 0.71 | -0.11; valid but less specific |
|
|
93
|
+
|
|
94
|
+
## Convergence Story
|
|
95
|
+
|
|
96
|
+
Iterations: 4 of 5 max
|
|
97
|
+
Trigger: stagnation (best unchanged for 2 iterations)
|
|
98
|
+
|
|
99
|
+
Entropy curve:
|
|
100
|
+
- iter 1: 3.21 (broad exploration)
|
|
101
|
+
- iter 2: 2.45 (narrowing on node_a region)
|
|
102
|
+
- iter 3: 1.85 (best emerges at ANT-3-2)
|
|
103
|
+
- iter 4: 1.72 (consensus around best, no improvement)
|
|
104
|
+
|
|
105
|
+
Interpretation: <2-3 sentences on whether the swarm converged on a genuine optimum or got stuck>
|
|
106
|
+
|
|
107
|
+
## Caveats
|
|
108
|
+
|
|
109
|
+
- <e.g., 40% of ants in iter 2 flagged as hallucinations>
|
|
110
|
+
- <e.g., evidence for node_f is single-source — recommend manual verification>
|
|
111
|
+
- <e.g., search space had only N nodes — larger space may surface better solutions>
|
|
112
|
+
|
|
113
|
+
## Reproducibility
|
|
114
|
+
|
|
115
|
+
- Config: `swarm-config.json` (pinned)
|
|
116
|
+
- Best path: `best.json`
|
|
117
|
+
- Full trails: `trails/<iter>.jsonl`
|
|
118
|
+
- Random seed: <if used>
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
### 3.2 Interpretation rules
|
|
122
|
+
|
|
123
|
+
- **Why-it-won analysis** is the highest-value content. Don't just describe the path — explain which decisions were pivotal.
|
|
124
|
+
- **Pheromone vs deviation**: track which steps followed pheromone hints vs deviated. Deviations that produced higher scores are the most interesting signal.
|
|
125
|
+
- **Runner-up diff**: surface why #2 lost — was it a weaker path or just unlucky evidence?
|
|
126
|
+
- **Caveats are mandatory**: every swarm result has limitations. List them honestly.
|
|
127
|
+
|
|
128
|
+
### 3.3 Constraints
|
|
129
|
+
|
|
130
|
+
- No prose padding — every section earns its place
|
|
131
|
+
- Quote evidence verbatim where possible (file:line refs)
|
|
132
|
+
- Don't editorialize beyond what evidence supports
|
|
133
|
+
|
|
134
|
+
## Phase 4: Verify + Publish
|
|
135
|
+
|
|
136
|
+
### Behavioral Traits
|
|
137
|
+
|
|
138
|
+
#### Accuracy
|
|
139
|
+
- Every cited path/score MUST match best.json or trails source
|
|
140
|
+
- Every evidence reference MUST be verifiable (Read to confirm if file_ref)
|
|
141
|
+
- Convergence curve numbers MUST match swarm-report.json#convergence_curve
|
|
142
|
+
|
|
143
|
+
#### Feedback Contract
|
|
144
|
+
| Field | Required | Content |
|
|
145
|
+
|-------|----------|---------|
|
|
146
|
+
| artifacts_written | Always | `<session>/artifacts/best-solution.md` |
|
|
147
|
+
| line_count | Always | int (informational) |
|
|
148
|
+
| verification_method | Always | "cross_ref_with_best.json + evidence_verified" |
|
|
149
|
+
|
|
150
|
+
#### Quality Gate
|
|
151
|
+
- Final report file exists and parses as markdown
|
|
152
|
+
- All sections present (Best Solution / Why Won / Runner-Ups / Convergence / Caveats / Reproducibility)
|
|
153
|
+
|
|
154
|
+
### Verification Steps
|
|
155
|
+
|
|
156
|
+
1. Read written best-solution.md back
|
|
157
|
+
2. Cross-check best.score against best.json
|
|
158
|
+
3. Confirm runner-up scores against trails
|
|
159
|
+
4. If file_ref evidence in best.candidate_solution -> Read to confirm file exists
|
|
160
|
+
|
|
161
|
+
### State Update
|
|
162
|
+
|
|
163
|
+
```json
|
|
164
|
+
{
|
|
165
|
+
"task_id": "ANALYST-1",
|
|
166
|
+
"role": "analyst",
|
|
167
|
+
"status": "completed",
|
|
168
|
+
"artifact_path": "<session>/artifacts/best-solution.md",
|
|
169
|
+
"best_score": <float>,
|
|
170
|
+
"best_ant_id": "<id>",
|
|
171
|
+
"line_count": <int>,
|
|
172
|
+
"verification": "cross_ref_pass + evidence_verified"
|
|
173
|
+
}
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
## Error Handling
|
|
177
|
+
|
|
178
|
+
| Scenario | Resolution |
|
|
179
|
+
|----------|------------|
|
|
180
|
+
| best.json missing | Pipeline produced no valid ant — write minimal report with `status: no_solution` |
|
|
181
|
+
| Trails empty | Same as above — no exploration data to analyze |
|
|
182
|
+
| Best ant artifact missing | Use only best.json fields; note as caveat |
|
|
183
|
+
| Cross-ref mismatch (score discrepancy) | Trust best.json; note discrepancy in caveats |
|
|
@@ -88,51 +88,9 @@ Follows @~/.maestro/workflows/interview-mechanics.md standard.
|
|
|
88
88
|
<execution>
|
|
89
89
|
Follow '~/.maestro/workflows/analyze.md' completely.
|
|
90
90
|
|
|
91
|
-
### Evidence-Backed Decisions
|
|
92
|
-
|
|
93
|
-
Every decision MUST trace to independently gathered evidence. Manual Read/Grep is preparation — NOT evidence. Valid evidence sources:
|
|
94
|
-
- cli-explore-agent output (code anchors, call chains, data flows)
|
|
95
|
-
- maestro delegate CLI analysis output (multi-perspective findings)
|
|
96
|
-
- User-provided input (domain knowledge, constraints, corrections)
|
|
97
|
-
|
|
98
|
-
Decisions without CLI/agent-sourced evidence MUST be flagged as LOW CONFIDENCE.
|
|
99
|
-
|
|
100
|
-
### Boundary Grill (Step 5 → Step 6)
|
|
101
|
-
|
|
102
|
-
After discussion rounds, BEFORE synthesis: run boundary grill per `~/.maestro/workflows/boundary-grill.md`.
|
|
103
|
-
Input: discussion.md decisions + exploration-codebase.json. Scope guard: "only analyze decisions; do not prejudge plan/execute concerns".
|
|
104
|
-
IF conflicts → results to `analysis.md` § Boundary Grill Results + update `context.md` Locked/Free/Deferred.
|
|
105
|
-
|
|
106
|
-
### Standard Mode Gates
|
|
107
|
-
|
|
108
|
-
Gates 1-4 are defined in `analyze.md`. NEVER skip gates. NEVER substitute manual Read/Grep for agent/CLI exploration.
|
|
109
|
-
|
|
110
|
-
### Artifact Verification
|
|
111
|
-
|
|
112
|
-
Before writing the completion report (Step 9), verify ALL expected artifacts exist in OUTPUT_DIR:
|
|
113
|
-
```
|
|
114
|
-
FULL_MODE_REQUIRED = [
|
|
115
|
-
"discussion.md", // Step 3+5
|
|
116
|
-
"exploration-codebase.json", // Step 4.1
|
|
117
|
-
"explorations.json" OR "perspectives.json", // Step 4.3
|
|
118
|
-
"analysis.md", // Step 6
|
|
119
|
-
"conclusions.json", // Step 7
|
|
120
|
-
"context.md", // Step 8
|
|
121
|
-
"context-package.json" // Step 8.6
|
|
122
|
-
]
|
|
123
|
-
```
|
|
124
|
-
If any artifact is missing: DO NOT report completion. Produce the missing artifact first.
|
|
125
|
-
|
|
126
91
|
### --gaps Mode
|
|
127
92
|
|
|
128
93
|
When `--gaps` is present, follow `~/.maestro/workflows/issue-gaps-analyze.md` instead of the standard pipeline.
|
|
129
|
-
|
|
130
|
-
**Handoff:** context.md is consumed by maestro-plan. In --gaps mode, context.md contains issue root causes for `plan --gaps`.
|
|
131
|
-
|
|
132
|
-
**scope_verdict** (added to context.md in Step 6 Synthesis for macro/adhoc/standalone scopes):
|
|
133
|
-
- `large` (3+ independent subsystems or hard serial dependencies) → suggest `/maestro-roadmap --from analyze:ANL-xxx`
|
|
134
|
-
- `medium` (1-2 subsystems, parallelizable) → suggest `/maestro-plan --from analyze:ANL-xxx`
|
|
135
|
-
- `small` (single-file or few-file change) → suggest `/maestro-plan --from analyze:ANL-xxx`
|
|
136
94
|
</execution>
|
|
137
95
|
|
|
138
96
|
<completion>
|
|
@@ -90,28 +90,6 @@ Each phase produces artifacts that are prerequisites for the next. Do NOT advanc
|
|
|
90
90
|
**GATE P5 → P6**: `epics/` directory with `_index.md` + individual `EPIC-*.md` files. Cross-Epic dependency map present.
|
|
91
91
|
**GATE P6**: Readiness score computed. Pass (≥80%) or Review (≥60%) required for handoff.
|
|
92
92
|
|
|
93
|
-
### Artifact Verification (before completion)
|
|
94
|
-
|
|
95
|
-
```
|
|
96
|
-
REQUIRED_ARTIFACTS = [
|
|
97
|
-
"blueprint-config.json", // P0
|
|
98
|
-
"product-brief.md", // P2
|
|
99
|
-
"glossary.json", // P2 (≥5 terms)
|
|
100
|
-
"requirements/_index.md", // P3
|
|
101
|
-
"architecture/_index.md", // P4
|
|
102
|
-
"epics/_index.md", // P5
|
|
103
|
-
"readiness-report.md", // P6
|
|
104
|
-
"blueprint-summary.md", // P6
|
|
105
|
-
"context-package.json" // P6
|
|
106
|
-
]
|
|
107
|
-
```
|
|
108
|
-
If any artifact is missing: DO NOT report completion. Go back and produce it.
|
|
109
|
-
|
|
110
|
-
### Evidence Requirement
|
|
111
|
-
|
|
112
|
-
Architecture Decision Records (ADR-*.md) MUST cite evidence for each decision:
|
|
113
|
-
- Valid: code analysis, requirement traceability (REQ-xxx), upstream context, CLI analysis output
|
|
114
|
-
- INVALID: generic rationale without reference to project-specific constraints
|
|
115
93
|
</execution>
|
|
116
94
|
|
|
117
95
|
<completion>
|
|
@@ -92,35 +92,15 @@ These gates apply to Auto mode (full pipeline). Do NOT advance past a gate until
|
|
|
92
92
|
- BLOCKED if missing: complete all role analyses before spawning cross-role-reviewer.
|
|
93
93
|
|
|
94
94
|
**GATE 2.5: Cross-Role Review → Boundary Grill** (Step 4.5 → Step 4.6)
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
IF conflicts → results to `guidance-specification.md` §12.5 + feed into GATE 3. NON-BLOCKING.
|
|
95
|
+
- REQUIRED: Boundary grill executed per workflow boundary-grill.md after cross-role review.
|
|
96
|
+
- NON-BLOCKING: conflicts logged as warnings.
|
|
98
97
|
|
|
99
98
|
**GATE 3: Cross-Role Review → Completion** (Step 4.5/4.6 → Report)
|
|
100
99
|
- REQUIRED: Cross-role-reviewer output received with `patch_targets[]`.
|
|
101
|
-
- REQUIRED: Boundary grill completed
|
|
102
|
-
- REQUIRED:
|
|
103
|
-
- REQUIRED: If findings == 0, final report explicitly states "No cross-role issues detected".
|
|
100
|
+
- REQUIRED: Boundary grill completed.
|
|
101
|
+
- REQUIRED: Resolutions applied and logged (details in workflow).
|
|
104
102
|
- BLOCKED if missing: complete review synthesis before reporting.
|
|
105
103
|
|
|
106
|
-
### Artifact Verification (before completion report)
|
|
107
|
-
|
|
108
|
-
```
|
|
109
|
-
AUTO_MODE_REQUIRED = [
|
|
110
|
-
"guidance-specification.md", // Step 1
|
|
111
|
-
"{role}/analysis.md" (per selected role), // Step 3
|
|
112
|
-
"{role}/analysis-F-*.md" (per feature), // Step 3
|
|
113
|
-
]
|
|
114
|
-
```
|
|
115
|
-
If any artifact is missing: DO NOT report completion. Go back and produce the missing artifact.
|
|
116
|
-
|
|
117
|
-
### Evidence Requirement
|
|
118
|
-
|
|
119
|
-
Role analysis findings in `{role}/analysis.md` §2 Decision Digest MUST cite concrete evidence:
|
|
120
|
-
- Code references (file:line), API endpoints, data models from the codebase
|
|
121
|
-
- User-provided constraints from interview
|
|
122
|
-
- Cross-role references to other role analyses
|
|
123
|
-
Decisions without evidence are flagged LOW CONFIDENCE.
|
|
124
104
|
</execution>
|
|
125
105
|
|
|
126
106
|
<completion>
|
|
@@ -39,7 +39,7 @@ $ARGUMENTS — phase number, or no args for milestone-wide execution, with optio
|
|
|
39
39
|
| `--method agent\|cli\|auto` | Execution method: Agent tool, CLI delegate, or auto-select | `auto` |
|
|
40
40
|
| `--executor <tool>` | Explicit executor tool for CLI delegate mode | First enabled in config |
|
|
41
41
|
| `--dir <path>` | Execute a specific plan directory instead of auto-discovery | — |
|
|
42
|
-
| `-y` / `--yes` | Auto mode — skip interactive questions | false |
|
|
42
|
+
| `-y` / `--yes` | Auto mode — skip ALL interactive questions (executor selection, wave progression, blocked prompts) | false |
|
|
43
43
|
|
|
44
44
|
### Scope routing
|
|
45
45
|
|
|
@@ -93,22 +93,6 @@ Follow '~/.maestro/workflows/grill.md' completely.
|
|
|
93
93
|
- REQUIRED: `context-package.json` generated.
|
|
94
94
|
- BLOCKED if any artifact missing: produce it before reporting completion.
|
|
95
95
|
|
|
96
|
-
### Evidence Requirement
|
|
97
|
-
|
|
98
|
-
Grill questions MUST reference specific code (`file:line`) when challenging the user's proposal. Generic questions without code grounding are INVALID.
|
|
99
|
-
|
|
100
|
-
If codebase scan failed (W001): flag ALL subsequent locked decisions as LOW CONFIDENCE.
|
|
101
|
-
|
|
102
|
-
### Artifact Verification (before completion)
|
|
103
|
-
|
|
104
|
-
```
|
|
105
|
-
REQUIRED_ARTIFACTS = [
|
|
106
|
-
"grill-report.md", // Branch Log + Q&A + synthesis
|
|
107
|
-
"terminology.md", // ≥5 terms with code refs
|
|
108
|
-
"context-package.json" // Schema "context-package/1.0"
|
|
109
|
-
]
|
|
110
|
-
```
|
|
111
|
-
If any missing: DO NOT report completion. Go back and produce the missing artifact.
|
|
112
96
|
</execution>
|
|
113
97
|
|
|
114
98
|
<completion>
|
|
@@ -71,21 +71,6 @@ Audit checklist steps (phase coverage, ad-hoc completeness, execution completene
|
|
|
71
71
|
- REQUIRED: Clear PASS/FAIL verdict determined with evidence for each check.
|
|
72
72
|
- BLOCKED if missing: integration check not completed — do not write report without cross-artifact verification.
|
|
73
73
|
|
|
74
|
-
### Artifact Verification (before completion)
|
|
75
|
-
|
|
76
|
-
```
|
|
77
|
-
REQUIRED_ARTIFACTS = [
|
|
78
|
-
".workflow/milestones/{milestone}/audit-report.md" // Clear PASS/FAIL verdict
|
|
79
|
-
]
|
|
80
|
-
```
|
|
81
|
-
If missing: DO NOT report completion. Write the audit report first.
|
|
82
|
-
|
|
83
|
-
### Evidence Requirement
|
|
84
|
-
|
|
85
|
-
Every audit check result MUST cite what was examined and what was found:
|
|
86
|
-
- PASS: "Phase 1 chain complete: ANL-001 → PLN-001 → EXC-001, all tasks completed"
|
|
87
|
-
- FAIL: "Phase 2 missing EXC artifact — PLN-002 exists but no execution found"
|
|
88
|
-
- Do NOT mark checks as PASS without verifying the actual artifact exists and contains expected content.
|
|
89
74
|
</execution>
|
|
90
75
|
|
|
91
76
|
<completion>
|
|
@@ -88,79 +88,22 @@ Follow '~/.maestro/workflows/plan.md' completely.
|
|
|
88
88
|
- BLOCKED if missing: plan.json or TASK files not produced by planner agent — do not proceed to checking.
|
|
89
89
|
|
|
90
90
|
**GATE P3.5 → P4: Boundary Grill → Plan Check**
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
IF conflicts → results to plan.json `boundary_grill` section + affected TASK files. DEC conflicts add `boundary_warning` to confidence.
|
|
94
|
-
NON-BLOCKING: warnings, not hard stops.
|
|
91
|
+
- REQUIRED: Boundary grill executed per workflow boundary-grill.md.
|
|
92
|
+
- NON-BLOCKING: conflicts logged as warnings, not hard stops.
|
|
95
93
|
|
|
96
94
|
**GATE P4 → P5: Plan Check → User Confirmation**
|
|
97
95
|
- REQUIRED: Plan-checker passed (or minor issues acknowledged).
|
|
98
|
-
- REQUIRED: Boundary grill completed
|
|
96
|
+
- REQUIRED: Boundary grill completed.
|
|
99
97
|
- REQUIRED: Confidence scored with 5-dimension factor model.
|
|
100
98
|
- REQUIRED: Pressure pass completed on highest-complexity task.
|
|
101
|
-
- REQUIRED:
|
|
102
|
-
- BLOCKED if: plan-checker found critical issues, OR UI plan missing `[UI-observable]` coverage
|
|
99
|
+
- REQUIRED: UI plans have `[UI-observable]` convergence criteria per wave (details in workflow).
|
|
100
|
+
- BLOCKED if: plan-checker found critical issues, OR UI plan missing `[UI-observable]` coverage.
|
|
103
101
|
|
|
104
102
|
**GATE P5 → Completion: User Confirmation → Done**
|
|
105
103
|
- REQUIRED: User confirmation captured (execute/modify/cancel).
|
|
106
104
|
- REQUIRED: PLN artifact registered in state.json.
|
|
107
105
|
- BLOCKED if missing: no user confirmation — do not register artifact or report completion.
|
|
108
106
|
|
|
109
|
-
### Artifact Verification (before completion)
|
|
110
|
-
|
|
111
|
-
```
|
|
112
|
-
REQUIRED_ARTIFACTS = [
|
|
113
|
-
"plan.json", // Task definitions, waves, summary
|
|
114
|
-
".task/TASK-*.json" (per task) // Individual task files with convergence criteria
|
|
115
|
-
]
|
|
116
|
-
```
|
|
117
|
-
Every task MUST have `convergence.criteria[]` with grep-verifiable conditions. If any task lacks verifiable criteria: DO NOT report completion — fix the criteria first.
|
|
118
|
-
|
|
119
|
-
### P3 Agent Constraint (MANDATORY)
|
|
120
|
-
|
|
121
|
-
Main flow **MUST** spawn a planner agent (Agent tool) for P3 planning — inline planning by main flow is FORBIDDEN. The agent produces both `plan.json` and `.task/TASK-*.json` files. Main flow only passes context and validates output.
|
|
122
|
-
|
|
123
|
-
### Codebase Docs Loading (P1 addition)
|
|
124
|
-
|
|
125
|
-
During P1 Context Collection, after loading context files, load codebase documentation if available:
|
|
126
|
-
|
|
127
|
-
```
|
|
128
|
-
IF exists(.workflow/codebase/doc-index.json):
|
|
129
|
-
codebase_ctx = view_file(.workflow/codebase/ARCHITECTURE.md) + view_file(.workflow/codebase/FEATURES.md)
|
|
130
|
-
Pass codebase_ctx to planner agent as structural context
|
|
131
|
-
ELSE:
|
|
132
|
-
display "W004: Codebase docs unavailable, continuing with code exploration only"
|
|
133
|
-
```
|
|
134
|
-
|
|
135
|
-
### Wiki Knowledge Search (P1 addition)
|
|
136
|
-
|
|
137
|
-
During P1 Context Collection, after loading context files and before parallel exploration (step 5), search the wiki for prior knowledge related to the phase:
|
|
138
|
-
|
|
139
|
-
```
|
|
140
|
-
phase_keywords = extract key terms from goal/title (2-5 terms)
|
|
141
|
-
wiki_result = run_command("maestro search ${phase_keywords} --json 2>/dev/null")
|
|
142
|
-
|
|
143
|
-
IF wiki_result exit code != 0 OR empty:
|
|
144
|
-
display "W003: Wiki search unavailable, continuing without prior knowledge"
|
|
145
|
-
ELSE:
|
|
146
|
-
entries = JSON.parse(wiki_result).entries (limit to first 10)
|
|
147
|
-
wiki_context = structured block for downstream stages
|
|
148
|
-
```
|
|
149
|
-
|
|
150
|
-
### Issue Linkback (--gaps mode)
|
|
151
|
-
|
|
152
|
-
After plan generation and checking, if `--gaps` mode was used, link TASK files back to issues bidirectionally:
|
|
153
|
-
|
|
154
|
-
```
|
|
155
|
-
For each created TASK-{NNN}.json that has issue_id:
|
|
156
|
-
Update corresponding issue in .workflow/issues/issues.jsonl:
|
|
157
|
-
task_refs: append TASK-{NNN} to array
|
|
158
|
-
task_plan_dir: relative path to .task/ directory
|
|
159
|
-
status: "planned"
|
|
160
|
-
updated_at: now()
|
|
161
|
-
Append history entry: { action: "planned", at: <ISO>, by: "maestro-plan", summary: "Linked to TASK-{NNN}" }
|
|
162
|
-
```
|
|
163
|
-
|
|
164
107
|
### Mode: Revise / Check
|
|
165
108
|
|
|
166
109
|
Follow workflow plan.md § "Revise Mode" and § "Check Mode" respectively. These modes bypass the standard P1-P5 create pipeline.
|
|
@@ -98,14 +98,6 @@ Sub-modes:
|
|
|
98
98
|
- REQUIRED: Artifact registered in state.json with milestone entries.
|
|
99
99
|
- BLOCKED if missing: do not report completion without written roadmap.
|
|
100
100
|
|
|
101
|
-
### Artifact Verification (before completion)
|
|
102
|
-
|
|
103
|
-
```
|
|
104
|
-
REQUIRED_ARTIFACTS = [
|
|
105
|
-
".workflow/roadmap.md" // Milestone > Phase hierarchy with progress table
|
|
106
|
-
]
|
|
107
|
-
```
|
|
108
|
-
If missing: DO NOT report completion.
|
|
109
101
|
|
|
110
102
|
</execution>
|
|
111
103
|
|