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.
Files changed (67) hide show
  1. package/.agents/skills/maestro-analyze/SKILL.md +0 -42
  2. package/.agents/skills/maestro-blueprint/SKILL.md +0 -22
  3. package/.agents/skills/maestro-brainstorm/SKILL.md +4 -24
  4. package/.agents/skills/maestro-execute/SKILL.md +1 -1
  5. package/.agents/skills/maestro-grill/SKILL.md +0 -16
  6. package/.agents/skills/maestro-milestone-audit/SKILL.md +0 -15
  7. package/.agents/skills/maestro-plan/SKILL.md +5 -62
  8. package/.agents/skills/maestro-roadmap/SKILL.md +0 -8
  9. package/.agents/skills/team-adversarial-swarm/workflows/wf-swarm-synthesize.js +248 -248
  10. package/.agents/skills/team-coordinate/specs/role-spec-template.md +197 -198
  11. package/.agents/skills/team-roadmap-dev/SKILL.md +164 -164
  12. package/.agents/skills/team-roadmap-dev/specs/team-config.json +1 -1
  13. package/.agents/skills/team-swarm/roles/analyst/role.md +172 -176
  14. package/.agy/skills/maestro-analyze/SKILL.md +0 -42
  15. package/.agy/skills/maestro-blueprint/SKILL.md +0 -22
  16. package/.agy/skills/maestro-brainstorm/SKILL.md +4 -24
  17. package/.agy/skills/maestro-execute/SKILL.md +1 -1
  18. package/.agy/skills/maestro-grill/SKILL.md +0 -16
  19. package/.agy/skills/maestro-milestone-audit/SKILL.md +0 -15
  20. package/.agy/skills/maestro-plan/SKILL.md +5 -62
  21. package/.agy/skills/maestro-roadmap/SKILL.md +0 -8
  22. package/.agy/skills/team-adversarial-swarm/workflows/wf-swarm-synthesize.js +248 -248
  23. package/.agy/skills/team-coordinate/specs/role-spec-template.md +197 -198
  24. package/.agy/skills/team-roadmap-dev/SKILL.md +141 -153
  25. package/.agy/skills/team-roadmap-dev/specs/team-config.json +1 -1
  26. package/.agy/skills/team-swarm/roles/analyst/role.md +172 -176
  27. package/.claude/commands/maestro-analyze.md +0 -42
  28. package/.claude/commands/maestro-blueprint.md +0 -22
  29. package/.claude/commands/maestro-brainstorm.md +4 -24
  30. package/.claude/commands/maestro-execute.md +1 -1
  31. package/.claude/commands/maestro-grill.md +0 -16
  32. package/.claude/commands/maestro-milestone-audit.md +0 -15
  33. package/.claude/commands/maestro-plan.md +5 -62
  34. package/.claude/commands/maestro-roadmap.md +0 -8
  35. package/.claude/skills/team-adversarial-swarm/workflows/wf-swarm-synthesize.js +248 -248
  36. package/.claude/skills/team-coordinate/specs/role-spec-template.md +197 -198
  37. package/.claude/skills/team-roadmap-dev/SKILL.md +169 -169
  38. package/.claude/skills/team-roadmap-dev/specs/team-config.json +1 -1
  39. package/.claude/skills/team-swarm/roles/analyst/role.md +181 -185
  40. package/dashboard/dist-server/src/commands/install-backend.js +31 -16
  41. package/dashboard/dist-server/src/commands/install-backend.js.map +1 -1
  42. package/dashboard/dist-server/src/core/component-defs.js +25 -0
  43. package/dashboard/dist-server/src/core/component-defs.js.map +1 -1
  44. package/dashboard/dist-server/src/tools/spec-loader.js +7 -3
  45. package/dashboard/dist-server/src/tools/spec-loader.js.map +1 -1
  46. package/dist/src/commands/install-backend.d.ts.map +1 -1
  47. package/dist/src/commands/install-backend.js +31 -16
  48. package/dist/src/commands/install-backend.js.map +1 -1
  49. package/dist/src/core/component-defs.d.ts.map +1 -1
  50. package/dist/src/core/component-defs.js +25 -0
  51. package/dist/src/core/component-defs.js.map +1 -1
  52. package/dist/src/tools/spec-loader.d.ts.map +1 -1
  53. package/dist/src/tools/spec-loader.js +7 -3
  54. package/dist/src/tools/spec-loader.js.map +1 -1
  55. package/dist/src/utils/update-notices.js +11 -0
  56. package/dist/src/utils/update-notices.js.map +1 -1
  57. package/package.json +1 -1
  58. package/workflows/agy-instructions.md +147 -161
  59. package/workflows/claude-instructions.md +100 -48
  60. package/workflows/codex-instructions.md +147 -161
  61. package/workflows/execute.md +4 -3
  62. package/workflows/explore-usage.md +41 -81
  63. package/workflows/grill.md +11 -0
  64. package/workflows/milestone-audit.md +8 -0
  65. package/workflows/odyssey-base-codex.md +115 -116
  66. package/workflows/odyssey-base.md +89 -91
  67. 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
- - Exceed ~150 lines in best-solution.md (be sharp, not verbose)
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
- - Target 150 lines
131
- - No prose padding every section earns its place
132
- - Quote evidence verbatim where possible (file:line refs)
133
- - Don't editorialize beyond what evidence supports
134
-
135
- ## Phase 4: Verify + Publish
136
-
137
- ### Behavioral Traits
138
-
139
- #### Accuracy
140
- - Every cited path/score MUST match best.json or trails source
141
- - Every evidence reference MUST be verifiable (Read to confirm if file_ref)
142
- - Convergence curve numbers MUST match swarm-report.json#convergence_curve
143
-
144
- #### Feedback Contract
145
- | Field | Required | Content |
146
- |-------|----------|---------|
147
- | artifacts_written | Always | `<session>/artifacts/best-solution.md` |
148
- | line_count | Always | int (target 150) |
149
- | verification_method | Always | "cross_ref_with_best.json + evidence_verified" |
150
-
151
- #### Quality Gate
152
- - Final report file exists and parses as markdown
153
- - All sections present (Best Solution / Why Won / Runner-Ups / Convergence / Caveats / Reproducibility)
154
- - Line count ≤ 200 (hard cap — fail if exceeded, retry with sharper edit)
155
-
156
- ### Verification Steps
157
-
158
- 1. Read written best-solution.md back
159
- 2. Cross-check best.score against best.json
160
- 3. Confirm runner-up scores against trails
161
- 4. If file_ref evidence in best.candidate_solution -> Read to confirm file exists
162
- 5. Count lines — if > 200, condense and rewrite
163
-
164
- ### State Update
165
-
166
- ```json
167
- {
168
- "task_id": "ANALYST-1",
169
- "role": "analyst",
170
- "status": "completed",
171
- "artifact_path": "<session>/artifacts/best-solution.md",
172
- "best_score": <float>,
173
- "best_ant_id": "<id>",
174
- "line_count": <int>,
175
- "verification": "cross_ref_pass + evidence_verified"
176
- }
177
- ```
178
-
179
- ## Error Handling
180
-
181
- | Scenario | Resolution |
182
- |----------|------------|
183
- | best.json missing | Pipeline produced no valid ant write minimal report with `status: no_solution` |
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
- Run boundary grill per `~/.maestro/workflows/boundary-grill.md` after cross-role-reviewer output.
96
- Input: reviewer findings + role Decision Digests. Scope guard: "only brainstorm decisions; do not pre-resolve roadmap/plan choices".
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 (if conflicts detected, results logged).
102
- - REQUIRED: If findings > 0, resolutions applied via Edit AND logged in `guidance-specification.md` §12.
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
- Run boundary grill per `~/.maestro/workflows/boundary-grill.md`.
92
- Input: plan.json tasks + convergence criteria + upstream context. Scope guard: "only plan scope; do not re-analyze or re-scope".
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 (conflicts resolved or accepted as risks).
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: If plan touches UI (检出 `dashboard/` 或 UI 关键词 `landing|page|dashboard|frontend|UI|component|界面`), each delivery wave has ≥1 `[UI-observable]` convergence criterion (vertical-slice delivery, not backend-only).
102
- - BLOCKED if: plan-checker found critical issues, OR UI plan missing `[UI-observable]` coverage — fix plan before presenting to user.
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