maestro-flow 0.5.40 → 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/odyssey-debug/SKILL.md +109 -143
- package/.agents/skills/odyssey-improve/SKILL.md +127 -141
- package/.agents/skills/odyssey-planex/SKILL.md +140 -231
- package/.agents/skills/odyssey-review-test-fix/SKILL.md +136 -90
- package/.agents/skills/odyssey-ui/SKILL.md +123 -143
- 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/odyssey-debug/SKILL.md +109 -143
- package/.agy/skills/odyssey-improve/SKILL.md +127 -141
- package/.agy/skills/odyssey-planex/SKILL.md +140 -231
- package/.agy/skills/odyssey-review-test-fix/SKILL.md +136 -90
- package/.agy/skills/odyssey-ui/SKILL.md +123 -143
- 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/commands/odyssey-debug.md +109 -143
- package/.claude/commands/odyssey-improve.md +127 -141
- package/.claude/commands/odyssey-planex.md +140 -231
- package/.claude/commands/odyssey-review-test-fix.md +136 -90
- package/.claude/commands/odyssey-ui.md +123 -143
- 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/.codex/skills/odyssey-debug/SKILL.md +114 -169
- package/.codex/skills/odyssey-improve/SKILL.md +144 -188
- package/.codex/skills/odyssey-planex/SKILL.md +162 -242
- package/.codex/skills/odyssey-review-test-fix/SKILL.md +96 -90
- package/.codex/skills/odyssey-ui/SKILL.md +128 -173
- 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 +32 -20
- package/dashboard/dist-server/src/tools/spec-loader.js.map +1 -1
- package/dashboard/dist-server/src/tools/spec-seeds.d.ts +8 -0
- package/dashboard/dist-server/src/tools/spec-seeds.js +114 -0
- package/dashboard/dist-server/src/tools/spec-seeds.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/commands/spec.d.ts.map +1 -1
- package/dist/src/commands/spec.js +13 -3
- package/dist/src/commands/spec.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-init.d.ts +4 -3
- package/dist/src/tools/spec-init.d.ts.map +1 -1
- package/dist/src/tools/spec-init.js +9 -5
- package/dist/src/tools/spec-init.js.map +1 -1
- package/dist/src/tools/spec-loader.d.ts.map +1 -1
- package/dist/src/tools/spec-loader.js +32 -20
- package/dist/src/tools/spec-loader.js.map +1 -1
- package/dist/src/tools/spec-seeds.d.ts +8 -0
- package/dist/src/tools/spec-seeds.d.ts.map +1 -1
- package/dist/src/tools/spec-seeds.js +114 -0
- package/dist/src/tools/spec-seeds.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 +305 -0
- package/workflows/odyssey-base.md +89 -91
- package/workflows/plan.md +6 -0
|
@@ -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 = read_file(.workflow/codebase/ARCHITECTURE.md) + read_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 = shell("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
|
|