maestro-flow-one 0.2.17 → 0.2.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.
Files changed (34) hide show
  1. package/maestro-flow/agents/cli-explore-agent.md +1 -3
  2. package/maestro-flow/agents/cross-role-reviewer.md +171 -0
  3. package/maestro-flow/agents/role-design-author.md +218 -0
  4. package/maestro-flow/agents/ui-design-agent.md +1 -18
  5. package/maestro-flow/agents/workflow-analyzer.md +1 -1
  6. package/maestro-flow/agents/workflow-external-researcher.md +1 -1
  7. package/maestro-flow/commands/learn/decompose.md +6 -6
  8. package/maestro-flow/commands/learn/follow.md +4 -4
  9. package/maestro-flow/commands/learn/investigate.md +6 -6
  10. package/maestro-flow/commands/learn/retro.md +7 -7
  11. package/maestro-flow/commands/learn/second-opinion.md +4 -4
  12. package/maestro-flow/commands/lifecycle/amend.md +1 -0
  13. package/maestro-flow/commands/lifecycle/analyze.md +37 -4
  14. package/maestro-flow/commands/lifecycle/blueprint.md +131 -0
  15. package/maestro-flow/commands/lifecycle/brainstorm.md +133 -116
  16. package/maestro-flow/commands/lifecycle/fork.md +1 -1
  17. package/maestro-flow/commands/lifecycle/guard.md +3 -2
  18. package/maestro-flow/commands/lifecycle/impeccable.md +13 -11
  19. package/maestro-flow/commands/lifecycle/init.md +3 -3
  20. package/maestro-flow/commands/lifecycle/plan.md +16 -4
  21. package/maestro-flow/commands/lifecycle/roadmap.md +43 -81
  22. package/maestro-flow/commands/manage/harvest.md +1 -0
  23. package/maestro-flow/commands/manage/issue-discover.md +1 -1
  24. package/maestro-flow/commands/manage/knowhow.md +1 -1
  25. package/maestro-flow/commands/manage/learn.md +4 -4
  26. package/maestro-flow/commands/milestone/audit.md +5 -3
  27. package/maestro-flow/commands/milestone/complete.md +7 -5
  28. package/maestro-flow/commands/milestone/release.md +1 -1
  29. package/maestro-flow/commands/quality/auto-test.md +6 -6
  30. package/maestro-flow/commands/quality/refactor.md +1 -1
  31. package/maestro-flow/commands/quality/retrospective.md +2 -2
  32. package/maestro-flow/commands/spec/remove.md +6 -2
  33. package/package.json +1 -1
  34. package/maestro-flow/agents/conceptual-planning-agent.md +0 -245
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: maestro-plan
3
3
  description: Use when creating, revising, or verifying an execution plan for a phase or task
4
- argument-hint: "[phase] [--collab] [--spec SPEC-xxx] [-y] [--gaps] [--tdd] [--dir <path>] [--revise [instructions]] [--check <plan-dir>]"
4
+ argument-hint: "[phase] [--collab] [--spec SPEC-xxx] [-y] [--gaps] [--tdd] [--dir <path>] [--from <source>] [--revise [instructions]] [--check <plan-dir>]"
5
5
  allowed-tools:
6
6
  - Read
7
7
  - Write
@@ -39,12 +39,24 @@ $ARGUMENTS — phase number, or no args for milestone-wide planning, with option
39
39
  Scope routing, base flags (`--collab`, `--spec`, `-y`, `--gaps`, `--dir`), output directory format, and artifact registration are defined in workflow plan.md.
40
40
 
41
41
  **Command-level flags** (extensions beyond workflow base):
42
+ - `--from <source>`: Load upstream context directly (bypasses roadmap requirement):
43
+ - `analyze:ANL-xxx` → CONTEXT_DIR = artifact path, scope = "standalone"
44
+ - `blueprint:BLP-xxx` → CONTEXT_DIR = blueprint path, scope = "standalone"
45
+ - `@file` or `path/` → load context-package.json from path
42
46
  - `--revise [instructions]` -- See workflow plan.md § Revise Mode
43
47
  - `--check <plan-dir>` -- See workflow plan.md § Check Mode
44
48
 
45
- **Upstream context:**
46
- - Reads `context.md` from prior analyze artifact (auto-discovered from state.json or via --dir)
47
- - Reads `conclusions.json` if available (implementation_scope seeds task generation)
49
+ **Upstream context (resolution priority):**
50
+ 1. `--from analyze:ANL-xxx` uses analyze conclusions.implementation_scope directly
51
+ 2. `--from blueprint:BLP-xxx` uses blueprint requirements + architecture
52
+ 3. `--dir <path>` → explicit context directory (unchanged)
53
+ 4. Numeric arg → scope = "phase", resolve from roadmap (unchanged)
54
+ 5. No args + roadmap → scope = "milestone" (unchanged)
55
+ 6. No args + no roadmap → search state.json for latest analyze artifact, fallback standalone
56
+
57
+ **Ad-hoc milestone (D-008):** When scope resolves to "standalone" via the standard standalone resolution (no `--from` source), and `current_milestone == null`, plan auto-creates an adhoc milestone (`type: "adhoc"`) in state.json before proceeding. This ensures downstream milestone-audit/complete have a valid milestone context. See workflow plan.md § "Ad-hoc Milestone Auto-Creation".
58
+
59
+ **Exception (`--from analyze:ANL-xxx` / `blueprint:BLP-xxx`):** When scope is set to "standalone" by `--from`, skip adhoc milestone auto-creation — the upstream analyze/blueprint artifact already provides the milestone context (or is intentionally milestone-free). Adhoc creation in this path would conflict with the `--from` semantic of "this is a one-shot plan rooted in an existing artifact".
48
60
 
49
61
  ### Role Knowledge
50
62
  `maestro wiki list --category arch` → select relevant → `maestro wiki load`
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: maestro-roadmap
3
- description: Generate roadmap from requirements (light or full mode)
4
- argument-hint: "<requirement> [--mode light|full] [-y] [-c] [-m progressive|direct|auto] [--from-brainstorm SESSION-ID] [--revise [instructions]] [--review]"
3
+ description: Generate roadmap with milestone/phase structure from requirements or upstream context
4
+ argument-hint: "<requirement> [-y] [-c] [-m progressive|direct|auto] [--from <source>] [--revise [instructions]] [--review]"
5
5
  allowed-tools:
6
6
  - Read
7
7
  - Write
@@ -13,16 +13,14 @@ allowed-tools:
13
13
  - AskUserQuestion
14
14
  ---
15
15
  <purpose>
16
- Unified roadmap generation with two execution paths:
16
+ Generate a milestone/phase roadmap from requirements or upstream context. Produces `.workflow/roadmap.md` with Milestone > Phase hierarchy ready for maestro-analyze and maestro-plan.
17
17
 
18
- - **Light mode** (default): Directly from requirements to roadmap. No specification documents.
19
- - **Full mode** (`--mode full`): 7-phase document chain (Product Brief PRD → Architecture → Epics → Roadmap) producing a complete specification package in `.workflow/.spec/` plus `.workflow/roadmap.md`.
20
-
21
- Additional operation modes (light mode only):
18
+ Operation modes:
19
+ - **Create** (default): Build roadmap from requirements or upstream context
22
20
  - **Revise** (`--revise`): Modify existing roadmap while preserving completed phase progress
23
21
  - **Review** (`--review`): Health assessment of current roadmap (read-only)
24
22
 
25
- Both modes produce `.workflow/roadmap.md` with milestone/phase structure ready for maestro-plan.
23
+ For formal specification documents (Product Brief, PRD, Architecture, Epics), use `/maestro-blueprint` instead.
26
24
  </purpose>
27
25
 
28
26
  <required_reading>
@@ -31,73 +29,68 @@ Both modes produce `.workflow/roadmap.md` with milestone/phase structure ready f
31
29
  </required_reading>
32
30
 
33
31
  <deferred_reading>
34
- - [roadmap.md](~/.maestro/workflows/roadmap.md) — read when mode is light (default)
35
- - [spec-generate.md](~/.maestro/workflows/spec-generate.md) — read when mode is full
36
- - [spec-config.json](~/.maestro/templates/spec-config.json) — read when initializing spec configuration (full mode)
32
+ - [roadmap.md](~/.maestro/workflows/roadmap.md) — read for roadmap generation workflow
37
33
  </deferred_reading>
38
34
 
39
35
  <context>
40
- $ARGUMENTS -- requirement text, @file reference, or brainstorm session reference.
36
+ $ARGUMENTS -- requirement text, @file reference, or upstream context source.
41
37
 
42
- **Flags (shared):**
43
- - `--mode light|full`: Execution path (default: light)
38
+ **Flags:**
44
39
  - `-y` / `--yes`: Auto mode — skip interactive questions, use recommended defaults
45
40
  - `-c` / `--continue`: Resume from last checkpoint
46
- - `--from-brainstorm SESSION-ID`: Import guidance-specification.md from a brainstorm session as seed
47
-
48
- **Flags (light mode only):**
49
41
  - `-m progressive|direct|auto`: Decomposition strategy (default: auto)
42
+ - `--from <source>`: Load upstream context package (brainstorm:ID, blueprint:BLP-xxx, analyze:ANL-xxx, @file, or path). Consumes context-package.json
43
+ - `--from-brainstorm SESSION-ID`: (backward compat alias for `--from brainstorm:ID`)
50
44
  - `--revise [instructions]`: Revise existing roadmap. If instructions provided, apply directly. If omitted, ask user. Preserves completed phase progress.
51
45
  - `--review`: Roadmap health assessment (read-only)
52
46
 
53
47
  **Input types:**
54
48
  - Direct text: `"Implement user authentication system with OAuth and 2FA"`
55
49
  - File reference: `@requirements.md`
56
- - Brainstorm import: `--from-brainstorm WFS-xxx`
50
+ - Context import: `--from brainstorm:BRN-001` or `--from analyze:ANL-xxx` or `--from blueprint:BLP-xxx`
57
51
  - No args + `--revise` / `--review`: Operate on existing `.workflow/roadmap.md`
58
52
 
59
53
  **Pipeline position:**
60
54
  ```
61
- maestro-brainstorm (optional upstream)
62
- guidance-specification.md
63
- maestro-init (project setup)
64
- project.md, state.json, config.json
65
- maestro-roadmap [--mode light] → roadmap.md directly
66
- maestro-roadmap --mode full → spec package + roadmap.md
55
+ maestro-brainstorm ─┐
56
+ maestro-blueprint ─┤ (optional upstream, parallel)
57
+ maestro-analyze ─┘ context-package.json
58
+
59
+ maestro-roadmap → .workflow/roadmap.md (Milestone > Phase hierarchy)
67
60
 
68
- maestro-plan → maestro-execute → maestro-verify
61
+ maestro-analyze {phase} → maestro-plan → maestro-execute → maestro-verify
69
62
  ```
70
63
 
71
- **Note (full mode):** `maestro-init` MUST run before `--mode full`. It creates the `.workflow/` directory and project context.
72
-
73
64
  ### Pre-load specs
74
65
  1. **Architecture specs**: Run `maestro spec load --category arch` to load architecture constraints. Use as context for phase decomposition — ensures roadmap respects documented decisions and boundaries.
75
66
  2. Optional — proceed without if unavailable.
76
67
  </context>
77
68
 
78
- <execution>
69
+ <interview_protocol>
70
+ Interview the user relentlessly until shared understanding is reached. Active only in interactive mode; skip when `-y/--yes`, `--revise`, `--review`, `-c/--continue`, or input is already specific (clear requirement + mode).
79
71
 
80
- ### Mode routing
72
+ - One decision per turn via AskUserQuestion with 2–4 options + a (Recommended) default. The user controls termination — keep interviewing until convergence; they can interrupt naturally or via `Other` at any time.
73
+ - Search-first when uncertain: before asking, resolve via `state.json`, existing `roadmap.md`, `project.md`, `maestro spec load`, `maestro wiki search`, Glob/Grep/Read, or — for open-ended multi-file scans — spawn `Agent(subagent_type: Explore)` / `maestro delegate ... --role explore`. Never ask what code or memory can verify; never bounce your own ambiguity back to the user — search first, then ask only what truly needs human judgment.
74
+ - Writeback cadence: each settled decision is immediately appended/updated in the `Roadmap Decisions` section at the top of `.workflow/roadmap.md` (create the section if absent). Do NOT batch writeback to the end — partial decisions must already be on disk before the next question.
75
+ - Walk the decision dependency tree strictly: mode → requirement scope → decomposition strategy → phase dependencies/order. Do not open the next branch until the current one is settled.
76
+ - Scope guard: only decide the shape of the roadmap. Do not pre-resolve intra-phase task breakdown — that belongs to `plan`.
81
77
 
82
- 1. Read `@~/.maestro/workflows/roadmap-common.md` (always shared logic)
83
- 2. Parse `--mode` flag:
84
- - `light` or omitted → read `@~/.maestro/workflows/roadmap.md`, follow its process
85
- - `full` → read `@~/.maestro/workflows/spec-generate.md`, follow its process
86
- 3. If `--revise` or `--review` present → force light mode (these are light-mode-only operations)
78
+ Decision points: scope (MVP / complete / phased) → strategy (progressive / direct / auto) → milestone boundaries → phase dependencies and order.
87
79
 
88
- ### Light mode (default)
80
+ Exit: on consensus or explicit user signal to proceed, finalize the `Roadmap Decisions` section (rows already populated incrementally). Schema:
81
+ `| # | Decision | Choice | Source (user / code / default) |`
82
+ </interview_protocol>
89
83
 
90
- Follow `~/.maestro/workflows/roadmap.md` completely.
84
+ <execution>
85
+
86
+ 1. Read `@~/.maestro/workflows/roadmap-common.md` (always — shared logic)
87
+ 2. Read `@~/.maestro/workflows/roadmap.md`, follow its process
91
88
 
92
89
  Sub-modes:
93
- - **Create** (default): Build roadmap from requirements
90
+ - **Create** (default): Build roadmap from requirements or upstream context
94
91
  - **Revise** (`--revise`): Follow workflow roadmap.md "Mode: Revise" section
95
92
  - **Review** (`--review`): Follow workflow roadmap.md "Mode: Review" section
96
93
 
97
- ### Full mode (`--mode full`)
98
-
99
- Follow `~/.maestro/workflows/spec-generate.md` completely.
100
-
101
94
  ### Next-step routing on completion
102
95
 
103
96
  | Condition | Suggestion |
@@ -106,63 +99,32 @@ Follow `~/.maestro/workflows/spec-generate.md` completely.
106
99
  | Simple project, ready to plan | /maestro-plan 1 |
107
100
  | Need UI design first | /maestro-impeccable build |
108
101
  | View project dashboard | /manage-status |
109
- | Need project setup (full mode) | /maestro-init |
102
+ | Need formal spec documents | /maestro-blueprint |
110
103
  </execution>
111
104
 
112
105
  <error_codes>
113
-
114
- **Shared:**
115
106
  | Code | Severity | Condition | Recovery |
116
107
  |------|----------|-----------|----------|
117
108
  | E001 | error | Requirement/idea text or @file required | Prompt user for input |
118
- | E002 | error | Brainstorm session not found (--from-brainstorm) | Show available sessions |
119
- | W001 | warning | CLI analysis failed, using fallback | Continue with available data |
120
- | W005 | warning | External research agent failed | Continue without apiResearchContext |
121
-
122
- **Light mode:**
123
- | Code | Severity | Condition | Recovery |
124
- |------|----------|-----------|----------|
109
+ | E002 | error | Context source not found (--from / --from-brainstorm) | Show available sessions/sources |
125
110
  | E003 | error | Circular dependency detected in phases | Prompt user to re-decompose |
126
111
  | E004 | error | roadmap.md not found (--revise/--review) | Run maestro-roadmap first |
127
112
  | E005 | error | Revision invalidates completed phase work | Warn user, ask to confirm or adjust |
113
+ | W001 | warning | CLI analysis failed, using fallback | Continue with available data |
128
114
  | W002 | warning | Max refinement rounds (5) reached | Force proceed with current roadmap |
129
-
130
- **Full mode:**
131
- | Code | Severity | Condition | Recovery |
132
- |------|----------|-----------|----------|
133
- | E006 | error | `.workflow/` not initialized | Run maestro-init first |
134
- | E007 | error | Phase 6 readiness Fail after 2 auto-fix iterations | Present manual fix options |
135
- | W002 | warning | Codebase exploration failed | Continue without codebase context |
136
- | W003 | warning | Glossary has < 5 terms | Note in readiness check |
137
- | W004 | warning | Review-level readiness score (60-79%) | Proceed with caveats |
115
+ | W005 | warning | External research agent failed | Continue without apiResearchContext |
138
116
  </error_codes>
139
117
 
140
118
  <success_criteria>
141
-
142
- **Light mode:**
119
+ - [ ] Interactive mode: interview decision table appended to `.workflow/roadmap.md` "Roadmap Decisions" section
143
120
  - [ ] Requirement parsed with goal, constraints, stakeholders
121
+ - [ ] Milestones defined with deliverable targets and version tags
144
122
  - [ ] Decomposition strategy selected (progressive or direct)
145
- - [ ] Phases defined with success criteria, dependencies, and requirement mappings
123
+ - [ ] Phases defined within milestones with success criteria, dependencies, and requirement mappings
146
124
  - [ ] Every Active requirement from project.md mapped to exactly one phase
147
125
  - [ ] No circular dependencies in phase ordering
148
126
  - [ ] User approved roadmap (or auto-approved with -y)
149
- - [ ] `.workflow/roadmap.md` written with phase details, scope decisions, and progress table
127
+ - [ ] `.workflow/roadmap.md` written with Milestone > Phase hierarchy, scope decisions, and progress table
150
128
  - [ ] No phase directories created (phases are labels in roadmap, not directories)
151
-
152
- **Full mode (in addition to light mode criteria for roadmap):**
153
- - [ ] `spec-config.json` created with session metadata and phase tracking
154
- - [ ] `product-brief.md` with vision, goals, scope, multi-perspective synthesis
155
- - [ ] `glossary.json` with 5+ core terms for cross-document consistency
156
- - [ ] `requirements/` directory with `_index.md` + individual `REQ-*.md` + `NFR-*.md` files
157
- - [ ] All requirements have RFC 2119 keywords and acceptance criteria
158
- - [ ] `architecture/` directory with `_index.md` + individual `ADR-*.md` files
159
- - [ ] Architecture includes state machine, config model, error handling, observability (service type)
160
- - [ ] `epics/` directory with `_index.md` + individual `EPIC-*.md` files
161
- - [ ] Cross-Epic dependency map (Mermaid) and MVP subset tagged
162
- - [ ] `readiness-report.md` with 4-dimension quality scores and traceability matrix
163
- - [ ] `spec-summary.md` with one-page executive summary
164
- - [ ] All documents have valid YAML frontmatter with session_id
165
- - [ ] Glossary terms used consistently across all documents
166
- - [ ] Readiness gate: Pass (>=80%) or Review (>=60%) with documented caveats
167
- - [ ] `.workflow/roadmap.md` written
129
+ - [ ] Artifact registered in state.json with milestone entries
168
130
  </success_criteria>
@@ -47,6 +47,7 @@ Follow '~/.maestro/workflows/harvest.md' Stages 1-8 in order.
47
47
  1. **Read-only until Stage 6** — extraction and classification happen in-memory.
48
48
  2. **Dedup before write** — check harvest-log.jsonl and existing stores before each write.
49
49
  3. **Never modify source artifacts** — harvest is purely extractive.
50
+ 4. **Dedup contract with parallel writers** — when appending to `issues.jsonl`, set `source: "harvest"` on each row so concurrent writers (e.g. `manage-issue-discover` with `source: "discover"`) can be distinguished and deduplicated.
50
51
 
51
52
  Extraction patterns, classification rules, routing infrastructure, and fragment ID scheme defined in workflow harvest.md.
52
53
 
@@ -46,7 +46,7 @@ $ARGUMENTS -- optional. Parse first token to determine mode.
46
46
  - `--depth=standard|deep` -- exploration depth (by-prompt only, default: `standard`)
47
47
 
48
48
  **State files:**
49
- - `.workflow/issues/issues.jsonl` -- issues appended here
49
+ - `.workflow/issues/issues.jsonl` -- issues appended here (set `source: "discover"` on each row so concurrent writers like `manage-harvest` with `source: "harvest"` can be distinguished and deduplicated)
50
50
  - `.workflow/issues/discoveries/{SESSION_ID}/` -- session artifacts
51
51
 
52
52
  ### Pre-load specs
@@ -53,7 +53,7 @@ Follow '~/.maestro/workflows/knowhow.md' Part A (KnowHow Management) completely.
53
53
  <error_codes>
54
54
  | Code | Severity | Description | Stage |
55
55
  |------|----------|-------------|-------|
56
- | E001 | error | No memory stores found — run `/manage-knowhow-capture` or create MEMORY.md | resolve_paths |
56
+ | E001 | error | No memory stores found — for workflow store run `/manage-knowhow-capture`; for system store create `~/.claude/projects/{project}/memory/MEMORY.md` manually | resolve_paths |
57
57
  | E002 | error | Entry ID or filename not found | execute_view, execute_delete |
58
58
  | E003 | error | Prune requires at least one filter (--tag, --type, --before, --after) | execute_prune |
59
59
  | E004 | error | Cannot delete MEMORY.md — use `edit` subcommand instead | execute_delete |
@@ -30,7 +30,7 @@ Arguments: $ARGUMENTS
30
30
  - `"<insight text>"` (or any non-keyword text) → insight capture mode
31
31
  - `tip <text>` → tip capture mode (quick contextual note, auto-tagged `tip`)
32
32
  - `list` → list recent entries (default 20)
33
- - `search <query>` → `maestro spec load --category learning` or text search across `specs/learnings.md`
33
+ - `search <query>` → `maestro spec load --category learning` or text search across `.workflow/specs/learnings.md`
34
34
  - `show <INS-id>` → full detail with phase context
35
35
  - empty → AskUserQuestion to prompt for text
36
36
 
@@ -47,19 +47,19 @@ Follow `~/.maestro/workflows/learn.md` Stages 1–5 in order.
47
47
  | E001 | error | `.workflow/` not initialized — run `/maestro-init` first | parse_input |
48
48
  | E002 | error | Unknown `--category` value (allowed: pattern, antipattern, decision, tool, gotcha, technique, tip) | parse_input |
49
49
  | E003 | error | `show` mode requires an INS-id argument | show |
50
- | E004 | error | Insight id not found in `specs/learnings.md` | show |
50
+ | E004 | error | Insight id not found in `.workflow/specs/learnings.md` | show |
51
51
  | W001 | warning | Auto-phase detection found a current_phase but no matching artifact in registry; phase set to null | capture |
52
52
  </error_codes>
53
53
 
54
54
  <success_criteria>
55
55
  - [ ] Mode correctly routed (capture / list / search / show)
56
- - [ ] Capture: `<spec-entry>` block appended to `specs/learnings.md` with all required fields
56
+ - [ ] Capture: `<spec-entry>` block appended to `.workflow/specs/learnings.md` with all required fields
57
57
  - [ ] Capture: phase auto-link resolves correctly via artifact registry when `state.json` has `current_phase`
58
58
  - [ ] Capture: category inference produces a sensible default when `--category` absent
59
59
  - [ ] List: filters apply, output sorted newest-first, default limit 20
60
60
  - [ ] Search: results ranked by title (3) > tags (2) > summary (1) match
61
61
  - [ ] Show: full insight displayed with phase context and routed-artifact link if any
62
- - [ ] No file modifications outside `.workflow/knowhow/`
62
+ - [ ] No file modifications outside `.workflow/specs/learnings.md` and `.workflow/knowhow/`
63
63
  - [ ] Confirmation banner displayed with INS-id and next-step hints
64
64
  - [ ] Next step: `/manage-learn list` to browse, or `/manage-learn search <query>` to find related insights
65
65
  </success_criteria>
@@ -34,8 +34,10 @@ Milestone: $ARGUMENTS (optional -- defaults to current_milestone from state.json
34
34
 
35
35
  **Data source:**
36
36
  - `.workflow/state.json` — artifacts[], current_milestone, milestones[]
37
- - `.workflow/roadmap.md` — milestone-to-phase mapping
37
+ - `.workflow/roadmap.md` — milestone-to-phase mapping (standard milestones only)
38
38
  - Plan scratch dirs — for task status verification
39
+
40
+ **Adhoc milestone support (D-008):** When the target milestone has `type == "adhoc"` (or `type` field is missing, defaulting to `"standard"`), the audit skips roadmap.md parsing and phase coverage checks. It only validates artifact chain completeness (PLN→EXC exists) and runs integration checks.
39
41
  </context>
40
42
 
41
43
  <execution>
@@ -59,8 +61,8 @@ Audit checklist steps (phase coverage, ad-hoc completeness, execution completene
59
61
  </error_codes>
60
62
 
61
63
  <success_criteria>
62
- - [ ] All phases in milestone identified from roadmap
63
- - [ ] Artifact chains verified (ANL→PLN→EXC) per phase
64
+ - [ ] All phases in milestone identified from roadmap (standard) or milestone_obj.phases (adhoc)
65
+ - [ ] Artifact chains verified: ANL→PLN→EXC per phase (standard) or PLN→EXC exists (adhoc)
64
66
  - [ ] Ad-hoc artifacts checked for completion
65
67
  - [ ] Integration check completed (shared interfaces, data contracts)
66
68
  - [ ] Audit report written with clear PASS/FAIL verdict
@@ -26,8 +26,8 @@ Milestone: $ARGUMENTS (optional -- defaults to current_milestone from state.json
26
26
  **Requires:** `/maestro-milestone-audit` should have passed.
27
27
 
28
28
  **State files:**
29
- - `.workflow/state.json` — artifacts[], milestones[], current_milestone, milestone_history[]
30
- - `.workflow/roadmap.md` — milestone structure
29
+ - `.workflow/state.json` — artifacts[], milestones[] (with `type` field: `"standard"` | `"adhoc"`), current_milestone, milestone_history[]
30
+ - `.workflow/roadmap.md` — milestone structure (standard milestones only; adhoc milestones may not have roadmap)
31
31
  - `.workflow/milestones/{milestone}/audit-report.md` — audit results
32
32
  </context>
33
33
 
@@ -52,8 +52,10 @@ If user confirms promotion, invoke `Skill({ skill: "spec-add", args: "<category>
52
52
 
53
53
  **Next-step routing on completion:**
54
54
  - Cut a release → `/maestro-milestone-release`
55
- - Next milestone → `/maestro-analyze` or `/maestro-plan 1`
55
+ - Next milestone → `/maestro-analyze` or `/maestro-plan 1` (standard milestones only)
56
56
  - View state → `/manage-status`
57
+
58
+ **Adhoc milestone (D-008):** When completing an adhoc milestone, skip roadmap snapshot and do not advance to next milestone. Set `current_milestone = null`, `status = "idle"`. Adhoc milestones are self-contained — no successor in roadmap chain.
57
59
  </execution>
58
60
 
59
61
  <error_codes>
@@ -69,7 +71,7 @@ If user confirms promotion, invoke `Skill({ skill: "spec-add", args: "<category>
69
71
  - [ ] Scratch artifacts moved to milestones/{M}/artifacts/
70
72
  - [ ] Artifact entries archived to milestone_history
71
73
  - [ ] Knowhow extracted to specs/learnings.md
72
- - [ ] state.json updated: next milestone as current, artifacts[] cleared
73
- - [ ] Roadmap snapshot saved
74
+ - [ ] state.json updated: next milestone as current (standard) or current_milestone=null (adhoc), artifacts[] cleared
75
+ - [ ] Roadmap snapshot saved (standard only; adhoc skips)
74
76
  - [ ] project.md Context updated with milestone summary
75
77
  </success_criteria>
@@ -44,7 +44,7 @@ $ARGUMENTS -- optional explicit version string and flags.
44
44
  </context>
45
45
 
46
46
  <execution>
47
- Follow '~/.maestro/workflows/release.md' completely.
47
+ Follow '~/.maestro/workflows/milestone-release.md' completely.
48
48
 
49
49
  **High-level flow:**
50
50
  1. Validate preconditions (milestone completed, clean tree, audit PASS)
@@ -15,7 +15,7 @@ allowed-tools:
15
15
  Run unified automated testing via CSV layer pipeline. Reads project state to auto-select the optimal scenario source — PRD specs (when spec package exists), coverage gaps (when Nyquist audit found gaps), or code exploration (default). All sources converge into a CSV pipeline: discover infrastructure → plan → build scenarios.csv → write tests per layer (spawn_agents_on_csv parallel) → execute → diagnose failures (spawn_agents_on_csv parallel) → iterate → report.
16
16
 
17
17
  Key mechanisms:
18
- - **Intelligent routing**: Reads `.tests/`, `.workflow/.spec/`, `verification.json` to auto-select source — no mode flag needed
18
+ - **Intelligent routing**: Reads `.tests/`, `.workflow/blueprint/`, `verification.json` to auto-select source — no mode flag needed
19
19
  - **CSV parallel test writing**: Per-layer `spawn_agents_on_csv` — each agent writes one test file independently
20
20
  - **CSV parallel failure diagnosis**: Failed scenarios dispatched via `spawn_agents_on_csv` for classification + fix
21
21
  - **Unified iteration engine**: Nested inner loop (fix test_defects via diagnosis CSV, max 3/layer) + outer loop (adaptive strategy, max N iterations)
@@ -40,13 +40,13 @@ Phase or task: $ARGUMENTS (required — phase number)
40
40
 
41
41
  **Intelligent routing** (auto-detected from project state):
42
42
 
43
- | Priority | Condition | Route | Equivalent to |
44
- |----------|-----------|-------|---------------|
43
+ | Priority | Condition | Route | Reference skill |
44
+ |----------|-----------|-------|-----------------|
45
45
  | 1 | Active session exists (state.json status=running) | Resume | — |
46
46
  | 2 | --re-run flag + previous failures | Re-run | — |
47
- | 3 | Spec package exists (REQ-*.md) | spec | quality-business-test |
48
- | 4 | Nyquist gaps exist (verification.json) | gap | quality-test-gen |
49
- | 5 | Default | code | quality-integration-test |
47
+ | 3 | Spec package exists (REQ-*.md) | spec | quality-business-test (separate skill) |
48
+ | 4 | Nyquist gaps exist (verification.json) | gap | quality-test-gen (separate skill) |
49
+ | 5 | Default | code | quality-integration-test (separate skill) |
50
50
 
51
51
  Flags, artifact context resolution, and output formats defined in workflow auto-test.md.
52
52
 
@@ -46,7 +46,7 @@ After successful refactoring, ask user once: "Record refactoring pattern as codi
46
46
 
47
47
  **Next-step routing on completion:**
48
48
  - All tests pass → `/quality-sync` (update codebase docs)
49
- - Test failures after refactor → `/quality-debug {scope}`
49
+ - Test failures after refactor → `/quality-debug "test failures after refactor in {scope}"`
50
50
  - No test suite available → `/quality-auto-test {phase}`
51
51
  </execution>
52
52
 
@@ -13,7 +13,7 @@ allowed-tools:
13
13
  - AskUserQuestion
14
14
  ---
15
15
  <purpose>
16
- Post-execution multi-perspective retrospective (复盘) for completed phases. Consumes existing execution artifacts (verification.json, review.json, issues.jsonl, plan.json, .summaries/, uat.md, state.json) and runs four parallel lenses — technical, process, quality, decision — to distill reusable insights. Routes each insight into the appropriate store: spec stub for reusable patterns, memory tip for process notes, issue for recurring gaps. Auto-scans for unreviewed completed phases and reports the backlog. Every insight is also persisted to `.workflow/knowhow/specs/learnings.md` as `<spec-entry>` blocks for cross-phase queryability.
16
+ Post-execution multi-perspective retrospective (复盘) for completed phases. Consumes existing execution artifacts (verification.json, review.json, issues.jsonl, plan.json, .summaries/, uat.md, state.json) and runs four parallel lenses — technical, process, quality, decision — to distill reusable insights. Routes each insight into the appropriate store: spec stub for reusable patterns, memory tip for process notes, issue for recurring gaps. Auto-scans for unreviewed completed phases and reports the backlog. Every insight is also persisted to `.workflow/specs/learnings.md` as `<spec-entry>` blocks for cross-phase queryability.
17
17
  </purpose>
18
18
 
19
19
  <required_reading>
@@ -70,7 +70,7 @@ Follow `~/.maestro/workflows/retrospective.md` Stages 1–8 in order. Key invari
70
70
  - [ ] Spec entries (if any) appended as `<spec-entry>` to matching `.workflow/specs/{category-file}.md`
71
71
  - [ ] Issue rows (if any) match canonical issues.jsonl schema (status "open", full issue_history, all required fields)
72
72
  - [ ] Note tips (if any) created via `Skill({ skill: "manage-learn", args: "tip ..." })`
73
- - [ ] `specs/learnings.md` appended with one `<spec-entry>` per insight regardless of routing target
73
+ - [ ] `.workflow/specs/learnings.md` appended with one `<spec-entry>` per insight regardless of routing target
74
74
  - [ ] No existing phase artifacts modified (verification.json, review.json, plan.json untouched)
75
75
  - [ ] Confirmation banner displays routing counts and next-step suggestions
76
76
  - [ ] Next step: `/manage-status` to review state, or `/manage-issue list --source retrospective` to triage created issues, or `/manage-learn list` to browse the knowhow library
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: spec-remove
3
3
  description: Remove spec entry by ID
4
- argument-hint: "<entry-id>"
4
+ argument-hint: "<entry-id> [--cascade]"
5
5
  allowed-tools:
6
6
  - Read
7
7
  - Write
@@ -26,6 +26,9 @@ $ARGUMENTS -- expects `<entry-id>` (e.g., `spec-learnings-003`, `spec-coding-con
26
26
  **Entry ID format**: `spec-{file-stem}-{NNN}` — the sub-node ID assigned by WikiIndexer when indexing `<spec-entry>` blocks.
27
27
 
28
28
  **Discovery**: Use `maestro wiki list --type spec --json` or `/spec-load --keyword <term>` to find entry IDs.
29
+
30
+ **Flags:**
31
+ - `--cascade` — When the target spec is a ref-type entry (created via `spec-add --ref` and linked to a knowhow document), also delete the referenced knowhow file. Without this flag, ref-type removal leaves an orphan knowhow file.
29
32
  </context>
30
33
 
31
34
  <execution>
@@ -47,5 +50,6 @@ Follow '~/.maestro/workflows/specs-remove.md' completely.
47
50
  - [ ] User confirmed removal (unless -y flag)
48
51
  - [ ] Entry removed from container file via `maestro wiki remove-entry`
49
52
  - [ ] Wiki index auto-updated
50
- - [ ] Confirmation displayed with removed entry details
53
+ - [ ] If `--cascade` and entry has a `ref` attribute: referenced knowhow file deleted, orphan avoided
54
+ - [ ] Confirmation displayed with removed entry details (and cascaded knowhow path if applicable)
51
55
  </success_criteria>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "maestro-flow-one",
3
- "version": "0.2.17",
3
+ "version": "0.2.19",
4
4
  "description": "All Maestro workflow commands as a single Claude Code skill — intent routing, decision gates, minimal closed-loop chains",
5
5
  "bin": {
6
6
  "maestro-flow": "bin/maestro-flow.js"