mindsystem-cc 4.3.0 → 4.4.0
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/README.md +17 -24
- package/agents/ms-browser-verifier.md +54 -31
- package/agents/ms-compounder.md +14 -13
- package/agents/ms-consolidator.md +14 -13
- package/commands/ms/add-phase.md +90 -50
- package/commands/ms/config.md +34 -4
- package/commands/ms/execute-phase.md +20 -13
- package/commands/ms/help.md +11 -11
- package/commands/ms/insert-phase.md +87 -53
- package/commands/ms/new-milestone.md +1 -1
- package/commands/ms/plan-phase.md +4 -4
- package/mindsystem/references/browser-verification.md +30 -21
- package/mindsystem/references/derive-phase-specification.md +147 -0
- package/mindsystem/references/routing/next-phase-routing.md +1 -1
- package/mindsystem/templates/config.json +2 -1
- package/mindsystem/templates/knowledge.md +1 -1
- package/mindsystem/templates/milestone-archive.md +0 -14
- package/mindsystem/templates/roadmap-milestone.md +5 -16
- package/mindsystem/templates/roadmap.md +14 -34
- package/mindsystem/workflows/adhoc.md +1 -1
- package/mindsystem/workflows/complete-milestone.md +0 -1
- package/mindsystem/workflows/discuss-phase.md +2 -2
- package/mindsystem/workflows/doctor-fixes.md +1 -1
- package/mindsystem/workflows/execute-phase.md +13 -13
- package/mindsystem/workflows/plan-phase.md +45 -6
- package/mindsystem/workflows/transition.md +6 -8
- package/mindsystem/workflows/verify-work.md +11 -14
- package/package.json +1 -1
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
# Phase Specification Derivation
|
|
2
|
+
|
|
3
|
+
Shared algorithm for deriving goal, success criteria, requirements, and pre-work flags from a user's phase description. Used by `add-phase` and `insert-phase`.
|
|
4
|
+
|
|
5
|
+
## Variables
|
|
6
|
+
|
|
7
|
+
Set by calling command before loading this reference:
|
|
8
|
+
|
|
9
|
+
- `{PHASE_ID}` — phase number (integer like `7` or decimal like `06.1`)
|
|
10
|
+
- `{PHASE_MARKER}` — empty for add-phase, `(INSERTED)` for insert-phase
|
|
11
|
+
|
|
12
|
+
## Input Assessment
|
|
13
|
+
|
|
14
|
+
Read `.planning/PROJECT.md` for vision and domain context (target audience, project scope).
|
|
15
|
+
|
|
16
|
+
Proceed directly when the user's description provides enough context to derive a confident specification — clear domain, identifiable user outcomes, enough scope to define 2-5 success criteria.
|
|
17
|
+
|
|
18
|
+
When scope is ambiguous or domain is unclear, ask targeted clarifying questions before deriving. Keep asking until confident.
|
|
19
|
+
|
|
20
|
+
Use AskUserQuestion with concrete options derived from PROJECT.md/ROADMAP.md context:
|
|
21
|
+
- header: "Phase Clarification"
|
|
22
|
+
- question: specific ambiguity identified
|
|
23
|
+
- options: 2-4 concrete interpretations plus "Something else"
|
|
24
|
+
|
|
25
|
+
Examples of when to ask:
|
|
26
|
+
- "Add notifications" → notifications for what? (new content, billing events, system alerts, all of these?)
|
|
27
|
+
- "Fix performance" → which user-facing flow? (page load, search, data export?)
|
|
28
|
+
- "Add settings" → which settings? (account, preferences, integrations?)
|
|
29
|
+
|
|
30
|
+
Examples of when to proceed directly:
|
|
31
|
+
- "Add dark mode toggle to settings page" → clear scope, clear UI, clear outcome
|
|
32
|
+
- "Add Stripe subscription billing with plan selection" → clear domain, clear integration
|
|
33
|
+
|
|
34
|
+
## Derivation Algorithm
|
|
35
|
+
|
|
36
|
+
### 1. Goal Statement
|
|
37
|
+
|
|
38
|
+
Transform the description into an outcome-focused goal:
|
|
39
|
+
|
|
40
|
+
- Good: "Users can manage subscription billing without edge-case failures"
|
|
41
|
+
- Good: "Content creators can schedule posts for future publication"
|
|
42
|
+
- Good: "Administrators can monitor system health through a real-time dashboard"
|
|
43
|
+
- Bad: "Fix subscription billing" (task, not outcome)
|
|
44
|
+
- Bad: "Add scheduling feature" (feature label, not user outcome)
|
|
45
|
+
- Bad: "Implement admin dashboard" (implementation task, not user value)
|
|
46
|
+
|
|
47
|
+
Use existing phase goals from ROADMAP.md as style reference.
|
|
48
|
+
|
|
49
|
+
### 2. Success Criteria (2-5)
|
|
50
|
+
|
|
51
|
+
Ask: "What must be TRUE for users when this phase completes?"
|
|
52
|
+
|
|
53
|
+
- Each criterion must be verifiable by a human using the application
|
|
54
|
+
- Observable user behaviors, not implementation tasks
|
|
55
|
+
- Good: "User sees correct prorated amount when changing plans mid-cycle"
|
|
56
|
+
- Good: "User receives email confirmation within 30 seconds of signup"
|
|
57
|
+
- Good: "Dark mode persists across browser sessions"
|
|
58
|
+
- Bad: "Billing calculation is fixed"
|
|
59
|
+
- Bad: "Email service is integrated"
|
|
60
|
+
- Bad: "CSS variables are used for theming"
|
|
61
|
+
|
|
62
|
+
### 3. Requirements with REQ-IDs
|
|
63
|
+
|
|
64
|
+
Create atomic, checkable requirements:
|
|
65
|
+
|
|
66
|
+
- Follow existing category patterns from REQUIREMENTS.md (e.g., if AUTH-01..AUTH-04 exist, continue with AUTH-05)
|
|
67
|
+
- If the work fits an existing category, reuse that prefix and continue numbering
|
|
68
|
+
- If the work introduces a new domain, create a new category prefix
|
|
69
|
+
- User-centric: "User can X" not "System does Y"
|
|
70
|
+
- Each requirement maps to Phase {PHASE_ID}
|
|
71
|
+
|
|
72
|
+
The calling command has already extracted existing REQ-ID categories and highest numbers from REQUIREMENTS.md — use that context.
|
|
73
|
+
|
|
74
|
+
### 4. Pre-work Flags
|
|
75
|
+
|
|
76
|
+
Analyze the description to determine:
|
|
77
|
+
|
|
78
|
+
**Discuss**: Default Likely — enumerate 2-4 assumptions or open questions specific
|
|
79
|
+
to the phase. Unlikely only for fully mechanical zero-decision work (version bump,
|
|
80
|
+
rename-only refactor, config-only change, pure deletion/cleanup).
|
|
81
|
+
|
|
82
|
+
**Design**: Likely when description involves UI work, visual elements, forms,
|
|
83
|
+
dashboards, or multi-screen flows. Unlikely for backend-only, API, infrastructure,
|
|
84
|
+
or established UI patterns.
|
|
85
|
+
|
|
86
|
+
**Research**: Likely when description mentions external APIs/services, new
|
|
87
|
+
libraries/frameworks, or unclear technical approach. Unlikely for established
|
|
88
|
+
internal patterns or well-documented conventions.
|
|
89
|
+
|
|
90
|
+
Use binary Likely/Unlikely with parenthetical reason. Include topics/focus only when Likely.
|
|
91
|
+
|
|
92
|
+
## Presentation & Approval
|
|
93
|
+
|
|
94
|
+
Present the full specification:
|
|
95
|
+
|
|
96
|
+
```
|
|
97
|
+
## Phase {PHASE_ID}: {Name} {PHASE_MARKER}
|
|
98
|
+
|
|
99
|
+
**Goal:** {proposed goal}
|
|
100
|
+
|
|
101
|
+
**Success Criteria:**
|
|
102
|
+
1. {criterion}
|
|
103
|
+
2. {criterion}
|
|
104
|
+
3. {criterion}
|
|
105
|
+
|
|
106
|
+
**New Requirements:**
|
|
107
|
+
- [ ] **{CAT}-{NN}**: {description}
|
|
108
|
+
- [ ] **{CAT}-{NN}**: {description}
|
|
109
|
+
|
|
110
|
+
**Pre-work:** Discuss {L/U} | Design {L/U} | Research {L/U}
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
Use AskUserQuestion:
|
|
114
|
+
- header: "Phase Specification"
|
|
115
|
+
- question: "Does this capture what Phase {PHASE_ID} should deliver?"
|
|
116
|
+
- options:
|
|
117
|
+
- "Approve" — Proceed with this specification
|
|
118
|
+
- "Adjust" — I want to refine the goal, criteria, or requirements
|
|
119
|
+
- "Add context" — I need to provide more detail first
|
|
120
|
+
|
|
121
|
+
If "Adjust": Ask what to change, revise, re-present.
|
|
122
|
+
If "Add context": Get additional detail, re-derive, re-present.
|
|
123
|
+
Loop until approved.
|
|
124
|
+
|
|
125
|
+
## Requirements Update
|
|
126
|
+
|
|
127
|
+
Update REQUIREMENTS.md with the approved requirements:
|
|
128
|
+
|
|
129
|
+
1. Append new requirements under the appropriate category section in `## v1 Requirements`:
|
|
130
|
+
- If category exists: add new requirements after the last requirement in that category
|
|
131
|
+
- If new category: add new category section after last existing category
|
|
132
|
+
|
|
133
|
+
2. Update `## Traceability` table — append rows for each new requirement:
|
|
134
|
+
```
|
|
135
|
+
| {REQ-ID} | Phase {PHASE_ID} | Pending |
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
3. Update coverage counts:
|
|
139
|
+
```
|
|
140
|
+
- v1 requirements: {X + new count} total
|
|
141
|
+
- Mapped to phases: {Y + new count}
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
4. Update `*Last updated:*` footer:
|
|
145
|
+
```
|
|
146
|
+
*Last updated: {date} after Phase {PHASE_ID} addition*
|
|
147
|
+
```
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Next Phase Routing
|
|
2
2
|
|
|
3
|
-
Reference for presenting "Next Up" guidance for a phase. Used by progress (current phase)
|
|
3
|
+
Reference for presenting "Next Up" guidance for a phase. Used by progress (current phase) and verify-work (next phase).
|
|
4
4
|
|
|
5
5
|
## Purpose
|
|
6
6
|
|
|
@@ -66,7 +66,7 @@ Template for `.planning/knowledge/{subsystem}.md` — per-subsystem knowledge fi
|
|
|
66
66
|
- **Architecture and Design use prose bullets.** Describe how things work, not tables.
|
|
67
67
|
- **Pitfalls use bold titles** for scannability.
|
|
68
68
|
- **Key Files is a flat list.** No nesting, no grouping.
|
|
69
|
-
- **
|
|
69
|
+
- **Edit to reflect current state.** Each update produces the current state through targeted edits — update superseded decisions, remove outdated patterns, append new entries. Use `Edit` for existing files, `Write` only for new files. Never replace an entire knowledge file via `Write`.
|
|
70
70
|
|
|
71
71
|
## Cross-Reference Pattern
|
|
72
72
|
|
|
@@ -10,8 +10,6 @@ This template is used by the complete-milestone workflow to create archive files
|
|
|
10
10
|
|
|
11
11
|
**Status:** ✅ SHIPPED {{DATE}}
|
|
12
12
|
**Phases:** {{PHASE_START}}-{{PHASE_END}}
|
|
13
|
-
**Total Plans:** {{TOTAL_PLANS}}
|
|
14
|
-
|
|
15
13
|
## Overview
|
|
16
14
|
|
|
17
15
|
{{MILESTONE_DESCRIPTION}}
|
|
@@ -26,13 +24,6 @@ This template is used by the complete-milestone workflow to create archive files
|
|
|
26
24
|
|
|
27
25
|
**Goal**: {{PHASE_GOAL}}
|
|
28
26
|
**Depends on**: {{DEPENDS_ON}}
|
|
29
|
-
**Plans**: {{PLAN_COUNT}} plans
|
|
30
|
-
|
|
31
|
-
Plans:
|
|
32
|
-
|
|
33
|
-
- [x] {{PHASE}}-01: {{PLAN_DESCRIPTION}}
|
|
34
|
-
- [x] {{PHASE}}-02: {{PLAN_DESCRIPTION}}
|
|
35
|
-
[... all plans ...]
|
|
36
27
|
|
|
37
28
|
**Details:**
|
|
38
29
|
{{PHASE_DETAILS_FROM_ROADMAP}}
|
|
@@ -43,11 +34,6 @@ Plans:
|
|
|
43
34
|
|
|
44
35
|
**Goal**: Fix authentication bypass vulnerability
|
|
45
36
|
**Depends on**: Phase 2
|
|
46
|
-
**Plans**: 1 plan
|
|
47
|
-
|
|
48
|
-
Plans:
|
|
49
|
-
|
|
50
|
-
- [x] 02.1-01: Patch auth vulnerability
|
|
51
37
|
|
|
52
38
|
**Details:**
|
|
53
39
|
{{PHASE_DETAILS_FROM_ROADMAP}}
|
|
@@ -18,12 +18,6 @@ Template for reorganizing `ROADMAP.md` after first milestone ships. Collapse com
|
|
|
18
18
|
|
|
19
19
|
### Phase 1: [Name]
|
|
20
20
|
**Goal**: [What this phase delivers]
|
|
21
|
-
**Plans**: 3 plans
|
|
22
|
-
|
|
23
|
-
Plans:
|
|
24
|
-
- [x] 01-01: [Brief description]
|
|
25
|
-
- [x] 01-02: [Brief description]
|
|
26
|
-
- [x] 01-03: [Brief description]
|
|
27
21
|
|
|
28
22
|
[... remaining phases ...]
|
|
29
23
|
|
|
@@ -36,11 +30,6 @@ Plans:
|
|
|
36
30
|
#### Phase 5: [Name]
|
|
37
31
|
**Goal**: [What this phase delivers]
|
|
38
32
|
**Depends on**: Phase 4
|
|
39
|
-
**Plans**: 2 plans
|
|
40
|
-
|
|
41
|
-
Plans:
|
|
42
|
-
- [ ] 05-01: [Brief description]
|
|
43
|
-
- [ ] 05-02: [Brief description]
|
|
44
33
|
|
|
45
34
|
[... remaining phases ...]
|
|
46
35
|
|
|
@@ -52,11 +41,11 @@ Plans:
|
|
|
52
41
|
|
|
53
42
|
## Progress
|
|
54
43
|
|
|
55
|
-
| Phase | Milestone |
|
|
56
|
-
|
|
57
|
-
| 1. Foundation | MVP |
|
|
58
|
-
| 2. Features | MVP |
|
|
59
|
-
| 5. Security | Security & Polish |
|
|
44
|
+
| Phase | Milestone | Status | Completed |
|
|
45
|
+
|-------|-----------|--------|-----------|
|
|
46
|
+
| 1. Foundation | MVP | Complete | YYYY-MM-DD |
|
|
47
|
+
| 2. Features | MVP | Complete | YYYY-MM-DD |
|
|
48
|
+
| 5. Security | Security & Polish | Not started | - |
|
|
60
49
|
```
|
|
61
50
|
|
|
62
51
|
**Notes:**
|
|
@@ -52,12 +52,6 @@ Decimal phases appear between their surrounding integers in numeric order.
|
|
|
52
52
|
**Discuss**: Unlikely (mechanical setup, zero design decisions)
|
|
53
53
|
**Design**: Unlikely (backend only)
|
|
54
54
|
**Research**: Unlikely (established patterns)
|
|
55
|
-
**Plans**: [Number of plans, e.g., "3 plans" or "TBD"]
|
|
56
|
-
|
|
57
|
-
Plans:
|
|
58
|
-
- [ ] 01-01: [Brief description of first plan]
|
|
59
|
-
- [ ] 01-02: [Brief description of second plan]
|
|
60
|
-
- [ ] 01-03: [Brief description of third plan]
|
|
61
55
|
|
|
62
56
|
### Phase 2: [Name]
|
|
63
57
|
**Goal**: [What this phase delivers]
|
|
@@ -72,21 +66,18 @@ Plans:
|
|
|
72
66
|
**Design focus**: [What to design]
|
|
73
67
|
**Research**: Likely (new integration)
|
|
74
68
|
**Research topics**: [What needs investigating]
|
|
75
|
-
**Plans**: [Number of plans]
|
|
76
|
-
|
|
77
|
-
Plans:
|
|
78
|
-
- [ ] 02-01: [Brief description]
|
|
79
|
-
- [ ] 02-02: [Brief description]
|
|
80
69
|
|
|
81
70
|
### Phase 2.1: Critical Fix (INSERTED)
|
|
82
|
-
**Goal**: [
|
|
71
|
+
**Goal**: [Outcome-focused goal derived during insertion]
|
|
83
72
|
**Depends on**: Phase 2
|
|
73
|
+
**Requirements**: [REQ-05, REQ-06]
|
|
84
74
|
**Success Criteria** (what must be TRUE):
|
|
85
|
-
1. [
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
75
|
+
1. [Observable behavior from user perspective]
|
|
76
|
+
2. [Observable behavior from user perspective]
|
|
77
|
+
**Discuss**: Likely (assumes X, unclear if Y)
|
|
78
|
+
**Discuss topics**: [What to clarify]
|
|
79
|
+
**Design**: Unlikely (backend fix)
|
|
80
|
+
**Research**: Unlikely (known patterns)
|
|
90
81
|
|
|
91
82
|
### Phase 3: [Name]
|
|
92
83
|
**Goal**: [What this phase delivers]
|
|
@@ -101,11 +92,6 @@ Plans:
|
|
|
101
92
|
**Design**: Unlikely (API only)
|
|
102
93
|
**Research**: Likely (external API)
|
|
103
94
|
**Research topics**: [What needs investigating]
|
|
104
|
-
**Plans**: [Number of plans]
|
|
105
|
-
|
|
106
|
-
Plans:
|
|
107
|
-
- [ ] 03-01: [Brief description]
|
|
108
|
-
- [ ] 03-02: [Brief description]
|
|
109
95
|
|
|
110
96
|
### Phase 4: [Name]
|
|
111
97
|
**Goal**: [What this phase delivers]
|
|
@@ -118,22 +104,18 @@ Plans:
|
|
|
118
104
|
**Discuss topics**: [Priority rules, batch vs individual, error recovery]
|
|
119
105
|
**Design**: Unlikely (backend only)
|
|
120
106
|
**Research**: Unlikely (internal patterns)
|
|
121
|
-
**Plans**: [Number of plans]
|
|
122
|
-
|
|
123
|
-
Plans:
|
|
124
|
-
- [ ] 04-01: [Brief description]
|
|
125
107
|
|
|
126
108
|
## Progress
|
|
127
109
|
|
|
128
110
|
**Execution Order:**
|
|
129
111
|
Phases execute in numeric order: 2 → 2.1 → 2.2 → 3 → 3.1 → 4
|
|
130
112
|
|
|
131
|
-
| Phase |
|
|
132
|
-
|
|
133
|
-
| 1. [Name] |
|
|
134
|
-
| 2. [Name] |
|
|
135
|
-
| 3. [Name] |
|
|
136
|
-
| 4. [Name] |
|
|
113
|
+
| Phase | Status | Completed |
|
|
114
|
+
|-------|--------|-----------|
|
|
115
|
+
| 1. [Name] | Not started | - |
|
|
116
|
+
| 2. [Name] | Not started | - |
|
|
117
|
+
| 3. [Name] | Not started | - |
|
|
118
|
+
| 4. [Name] | Not started | - |
|
|
137
119
|
```
|
|
138
120
|
|
|
139
121
|
<guidelines>
|
|
@@ -145,11 +127,9 @@ Phases execute in numeric order: 2 → 2.1 → 2.2 → 3 → 3.1 → 4
|
|
|
145
127
|
**Initial planning:**
|
|
146
128
|
- Phase count derived from actual work (not a target number)
|
|
147
129
|
- Each phase delivers something coherent
|
|
148
|
-
- Phases can have 1+ plans (split by orchestrator judgment — multiple subsystems, context budget, vertical slices)
|
|
149
130
|
- Plans use naming: {phase}-{plan}-PLAN.md (e.g., 01-02-PLAN.md)
|
|
150
131
|
- No time estimates (this isn't enterprise PM)
|
|
151
132
|
- Progress table updated by execute workflow
|
|
152
|
-
- Plan count can be "TBD" initially, refined during planning
|
|
153
133
|
|
|
154
134
|
**Success criteria:**
|
|
155
135
|
- 2-5 observable behaviors per phase (from user's perspective)
|
|
@@ -87,7 +87,7 @@ Governing principle: each question must save more context than it costs. A quest
|
|
|
87
87
|
- Looks right
|
|
88
88
|
- Some corrections (let me clarify)
|
|
89
89
|
- Let me reframe the task
|
|
90
|
-
- Additional questions (conditional): Only when exploration surfaced genuine behavioral ambiguity the user must resolve. Frame with implementation context discovered during exploration.
|
|
90
|
+
- Additional questions (conditional): Only when exploration surfaced genuine behavioral ambiguity the user must resolve. Frame with implementation context discovered during exploration. Continue until scope is unambiguous — focused work may need one question; multi-area work may need several.
|
|
91
91
|
|
|
92
92
|
**What NOT to ask** (Claude determines these from exploration):
|
|
93
93
|
- Technical approach or patterns
|
|
@@ -345,7 +345,6 @@ Extract completed milestone details and create archive file.
|
|
|
345
345
|
- {{DATE}} — Today's date
|
|
346
346
|
- {{PHASE_START}} — First phase number in milestone
|
|
347
347
|
- {{PHASE_END}} — Last phase number in milestone
|
|
348
|
-
- {{TOTAL_PLANS}} — Count of all plans in milestone
|
|
349
348
|
- {{MILESTONE_DESCRIPTION}} — From ROADMAP.md overview
|
|
350
349
|
- {{PHASES_SECTION}} — Full phase details extracted
|
|
351
350
|
- {{DECISIONS_FROM_PROJECT}} — Key decisions from PROJECT.md
|
|
@@ -208,9 +208,9 @@ Present brief product analysis, then use AskUserQuestion:
|
|
|
208
208
|
- question: "How do you imagine this working?"
|
|
209
209
|
- options: 2-3 interpretations based on phase description, requirements, and industry context + "Let me describe it"
|
|
210
210
|
|
|
211
|
-
**2. Follow the thread
|
|
211
|
+
**2. Follow the thread:**
|
|
212
212
|
|
|
213
|
-
Follow the user's thread. Each round: apply product lens to the topic they raised, then AskUserQuestion with 2-3 interpretations + escape hatch. Use multiSelect for priority/essential questions.
|
|
213
|
+
Follow the user's thread. Each round: apply product lens to the topic they raised, then AskUserQuestion with 2-3 interpretations + escape hatch. Use multiSelect for priority/essential questions. Continue until you could write a CONTEXT.md that plan-phase can act on without clarifying questions — that's the downstream test. Don't ask about edge cases when core behaviors are still undefined; depth over breadth.
|
|
214
214
|
|
|
215
215
|
**3. Decision gate:**
|
|
216
216
|
|
|
@@ -315,7 +315,7 @@ Spawn a `general-purpose` subagent (Task tool) with the following structured pro
|
|
|
315
315
|
> - Preserve rationale when visible in code comments or config. Do not fabricate reasons.
|
|
316
316
|
> - Do not fabricate specific numbers (limits, thresholds, counts) — read from source or omit.
|
|
317
317
|
> - Omit empty sections. No Design section if subsystem has no UI.
|
|
318
|
-
> -
|
|
318
|
+
> - Edit to reflect current state — use `Edit` for existing knowledge files (targeted changes), `Write` only for new files.
|
|
319
319
|
> - Cross-reference between subsystems where relevant: "(see api subsystem)".
|
|
320
320
|
> - Decisions table: 5-10 words per cell. Source column: `"existing"` for source code mode, artifact reference for artifact mode.
|
|
321
321
|
> - Key files must reference actual paths verified to exist.
|
|
@@ -298,12 +298,12 @@ ms-tools browser-check
|
|
|
298
298
|
|
|
299
299
|
**If exit 0 (READY):**
|
|
300
300
|
|
|
301
|
-
Ensure `$PHASE_DIR/*-SUMMARY.md` files are available (needed for
|
|
301
|
+
Ensure `$PHASE_DIR/*-SUMMARY.md` files are available (needed for journey derivation — may already be in context from wave reports).
|
|
302
302
|
|
|
303
303
|
Read `~/.claude/mindsystem/references/browser-verification.md` and follow its sections in order:
|
|
304
304
|
1. **Auth Flow** — establish browser authentication
|
|
305
|
-
2. **Derive
|
|
306
|
-
3. **Spawn** — launch verifier with derived
|
|
305
|
+
2. **Derive User Journeys** — transform SUMMARYs into user journeys
|
|
306
|
+
3. **Spawn** — launch verifier with derived journeys
|
|
307
307
|
4. **Post-Verifier Handling** — route by report status
|
|
308
308
|
|
|
309
309
|
**If exit 1 (MISSING_DEPS):**
|
|
@@ -539,24 +539,24 @@ All {Y} plans finished. Phase goal verified.
|
|
|
539
539
|
|
|
540
540
|
**Then present "Also available" based on milestone status:**
|
|
541
541
|
|
|
542
|
-
**If more phases remain:**
|
|
542
|
+
**If more phases remain AND skip context applies:**
|
|
543
543
|
|
|
544
|
-
|
|
544
|
+
Determine the next phase's primary suggestion inline — do NOT read next-phase-routing.md:
|
|
545
|
+
- From ROADMAP.md (already in context), get Phase {Z+1} pre-work flags
|
|
546
|
+
- Check: CONTEXT.md exists? DESIGN.md? RESEARCH.md? in next phase dir
|
|
547
|
+
- Priority: discuss (if Likely + no CONTEXT.md) > design (if Likely + no DESIGN.md) > research (if Likely + no RESEARCH.md) > plan-phase
|
|
548
|
+
- Present ONE "Also available" entry:
|
|
545
549
|
|
|
546
550
|
```markdown
|
|
547
551
|
---
|
|
548
|
-
|
|
549
|
-
**Phase {Z+1}: {Name}** — {Goal}
|
|
550
|
-
{If pre-work flagged: brief note about recommendations}
|
|
551
|
-
|
|
552
552
|
**Also available:**
|
|
553
|
-
- `/ms:{suggested} {Z+1}` —
|
|
554
|
-
- `/ms:plan-phase {Z+1}` — skip pre-work, plan directly
|
|
555
|
-
|
|
553
|
+
- `/ms:{suggested} {Z+1}` — skip verify, start Phase {Z+1}: {Name}
|
|
556
554
|
---
|
|
557
555
|
```
|
|
558
556
|
|
|
559
|
-
|
|
557
|
+
**If more phases remain but skip context does NOT apply:** No "Also available" — verify-work is the sole suggestion.
|
|
558
|
+
|
|
559
|
+
Do NOT present pre-work recommendation tables or multiple cross-phase alternatives. Cross-phase routing belongs to verify-work and progress.
|
|
560
560
|
|
|
561
561
|
**If milestone complete:**
|
|
562
562
|
|
|
@@ -22,13 +22,15 @@ Decimal phases enable urgent work insertion without renumbering:
|
|
|
22
22
|
</required_reading>
|
|
23
23
|
|
|
24
24
|
<purpose>
|
|
25
|
-
Create executable phase prompts (PLAN.md files)
|
|
25
|
+
Create executable phase prompts (PLAN.md files) from task breakdown.
|
|
26
26
|
|
|
27
27
|
**Two-stage workflow:**
|
|
28
|
-
1. **Main context:** Task identification + grouping
|
|
28
|
+
1. **Main context:** Task identification + grouping (steps 1-9) - collaborative, keeps user in loop
|
|
29
29
|
2. **Subagent (ms-plan-writer):** Plan writing (structural validation, PLAN.md files, risk scoring) - autonomous, heavy lifting
|
|
30
30
|
|
|
31
|
-
|
|
31
|
+
**Default: single plan per phase.** All tasks go into Plan 01, Wave 1. No dependency analysis or user confirmation needed. This is optimal for 1M context windows where phases already scope work tightly.
|
|
32
|
+
|
|
33
|
+
**Multi-plan mode** (`multi_plan: true` in config): Restores full multi-plan breakdown with dependency analysis, wave grouping, budget estimation, and user confirmation. Enable for phases with genuinely independent work streams that benefit from parallel subagent execution.
|
|
32
34
|
</purpose>
|
|
33
35
|
|
|
34
36
|
<planning_principles>
|
|
@@ -298,7 +300,17 @@ Format: numbered list with task name, key files, dependency hint, and `[TDD]` fl
|
|
|
298
300
|
</step>
|
|
299
301
|
|
|
300
302
|
<step name="propose_grouping">
|
|
301
|
-
**
|
|
303
|
+
**Determine plan boundaries before handing off to the plan-writer.**
|
|
304
|
+
|
|
305
|
+
```bash
|
|
306
|
+
MULTI_PLAN=$(ms-tools config-get multi_plan --default "false")
|
|
307
|
+
```
|
|
308
|
+
|
|
309
|
+
**If `false` (default) — single plan mode:**
|
|
310
|
+
|
|
311
|
+
All tasks go into Plan 01, Wave 1. No dependency analysis, clustering, or budget estimation. No AskUserQuestion. Proceed directly to discover_skills.
|
|
312
|
+
|
|
313
|
+
**If `true` — multi-plan mode:**
|
|
302
314
|
|
|
303
315
|
After presenting the task list, analyze dependencies and propose how tasks should group into plans. This is a collaborative planning decision — the user sees it and can adjust.
|
|
304
316
|
|
|
@@ -337,7 +349,7 @@ Tasks: {task_ids} — {brief rationale}
|
|
|
337
349
|
<step name="discover_skills">
|
|
338
350
|
**Identify relevant project skills for this phase.**
|
|
339
351
|
|
|
340
|
-
After
|
|
352
|
+
After plan structure is determined, check if project skills could improve plan quality.
|
|
341
353
|
|
|
342
354
|
**Scan:** Review the skill list in your system-reminder. Match skills against:
|
|
343
355
|
- The phase's technology stack (Flutter, React, Node.js, etc.)
|
|
@@ -541,6 +553,33 @@ Show plan paths, wait for user response:
|
|
|
541
553
|
</step>
|
|
542
554
|
|
|
543
555
|
<step name="offer_next">
|
|
556
|
+
|
|
557
|
+
**Single plan mode** (default):
|
|
558
|
+
|
|
559
|
+
```
|
|
560
|
+
Phase {X} planned: 1 plan
|
|
561
|
+
|
|
562
|
+
---
|
|
563
|
+
|
|
564
|
+
## Next Up
|
|
565
|
+
|
|
566
|
+
**Phase {X}: [Phase Name]**
|
|
567
|
+
|
|
568
|
+
`/ms:execute-phase {X}`
|
|
569
|
+
|
|
570
|
+
<sub>`/clear` first - fresh context window</sub>
|
|
571
|
+
|
|
572
|
+
---
|
|
573
|
+
|
|
574
|
+
**Also available:**
|
|
575
|
+
- Review/adjust plan before executing
|
|
576
|
+
- View plan: `cat .planning/phases/XX-name/XX-01-PLAN.md`
|
|
577
|
+
|
|
578
|
+
---
|
|
579
|
+
```
|
|
580
|
+
|
|
581
|
+
**Multi-plan mode:**
|
|
582
|
+
|
|
544
583
|
```
|
|
545
584
|
Phase {X} planned: {N} plan(s) in {M} wave(s)
|
|
546
585
|
|
|
@@ -604,7 +643,7 @@ Phase planning complete when:
|
|
|
604
643
|
- [ ] Mandatory discovery completed (Level 0-3)
|
|
605
644
|
- [ ] Prior decisions, issues, concerns synthesized
|
|
606
645
|
- [ ] Tasks identified with needs/creates dependencies
|
|
607
|
-
- [ ] Plan grouping
|
|
646
|
+
- [ ] Plan grouping determined (auto-grouped or user-confirmed)
|
|
608
647
|
- [ ] Task list + proposed grouping + confirmed skills handed off to ms-plan-writer
|
|
609
648
|
- [ ] PLAN files + EXECUTION-ORDER.md created (pure markdown, Must-Haves, follows proposed grouping)
|
|
610
649
|
- [ ] Plans committed with maximized wave parallelism
|
|
@@ -97,7 +97,6 @@ Update the file:
|
|
|
97
97
|
|
|
98
98
|
- Mark current phase: `[x] Complete`
|
|
99
99
|
- Add completion date
|
|
100
|
-
- Update plan count to final (e.g., "3/3 plans complete")
|
|
101
100
|
- Update Progress table
|
|
102
101
|
- Keep next phase as `[ ] Not started`
|
|
103
102
|
|
|
@@ -112,11 +111,11 @@ Update the file:
|
|
|
112
111
|
|
|
113
112
|
## Progress
|
|
114
113
|
|
|
115
|
-
| Phase |
|
|
116
|
-
| ----------------- |
|
|
117
|
-
| 1. Foundation |
|
|
118
|
-
| 2. Authentication |
|
|
119
|
-
| 3. Core Features |
|
|
114
|
+
| Phase | Status | Completed |
|
|
115
|
+
| ----------------- | ----------- | ---------- |
|
|
116
|
+
| 1. Foundation | Complete | 2025-01-15 |
|
|
117
|
+
| 2. Authentication | Not started | - |
|
|
118
|
+
| 3. Core Features | Not started | - |
|
|
120
119
|
```
|
|
121
120
|
|
|
122
121
|
</step>
|
|
@@ -442,7 +441,6 @@ Respect user judgment — they know if work matters.
|
|
|
442
441
|
|
|
443
442
|
**If marking complete with incomplete plans:**
|
|
444
443
|
|
|
445
|
-
- Update ROADMAP: "2/3 plans complete" (not "3/3")
|
|
446
444
|
- Note in transition message which plans were skipped
|
|
447
445
|
|
|
448
446
|
</partial_completion>
|
|
@@ -453,7 +451,7 @@ Transition is complete when:
|
|
|
453
451
|
|
|
454
452
|
- [ ] Current phase plan summaries verified (all exist or user chose to skip)
|
|
455
453
|
- [ ] Any stale handoffs deleted
|
|
456
|
-
- [ ] ROADMAP.md updated with completion status
|
|
454
|
+
- [ ] ROADMAP.md updated with completion status
|
|
457
455
|
- [ ] PROJECT.md evolved (requirements, decisions, description if needed)
|
|
458
456
|
- [ ] STATE.md updated (position, project reference, context, session)
|
|
459
457
|
- [ ] Progress table updated
|
|
@@ -365,24 +365,21 @@ This knowledge informs investigation (where to look, known pitfalls) and any sub
|
|
|
365
365
|
3. Check git log for recent changes to relevant files
|
|
366
366
|
```
|
|
367
367
|
|
|
368
|
-
**2.
|
|
368
|
+
**2. Report finding and act:**
|
|
369
369
|
|
|
370
|
-
|
|
371
|
-
- Propose fix in plain language:
|
|
372
|
-
```
|
|
373
|
-
Found the issue. In `ErrorBanner.tsx` line 42, the error message is
|
|
374
|
-
hardcoded to "Something went wrong" instead of using the actual error
|
|
375
|
-
from the API response.
|
|
370
|
+
State the root cause and the fix in plain language before applying. This lets the user capture the lesson in persistent instructions or catch a wrong direction before reviewing the diff. No confirmation needed — go straight to fixing.
|
|
376
371
|
|
|
377
|
-
|
|
372
|
+
Format:
|
|
373
|
+
```
|
|
374
|
+
{Root cause — what the code does wrong and why, 1-2 sentences}
|
|
378
375
|
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
376
|
+
Fix: {what the fix changes, 1-2 sentences}
|
|
377
|
+
```
|
|
378
|
+
|
|
379
|
+
**If fix is simple (single file, straightforward change):**
|
|
380
|
+
- Go to `apply_fix` immediately
|
|
383
381
|
|
|
384
|
-
**If
|
|
385
|
-
- Report finding
|
|
382
|
+
**If fix is complex (multiple files, architectural):**
|
|
386
383
|
- Spawn ms-verify-fixer subagent (go to `escalate_to_fixer`)
|
|
387
384
|
|
|
388
385
|
**If cause NOT found after 2-3 checks:**
|