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.
@@ -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), execute-phase (next phase), and verify-work (next 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
 
@@ -8,5 +8,6 @@
8
8
  "open_mockups": "auto",
9
9
  "browser_verification": {
10
10
  "enabled": true
11
- }
11
+ },
12
+ "multi_plan": false
12
13
  }
@@ -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
- - **Rewrite semantics, not append.** Each consolidation produces the current state. Superseded decisions get updated. Outdated patterns get removed. The file is always current.
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 | Plans Complete | Status | Completed |
56
- |-------|-----------|----------------|--------|-----------|
57
- | 1. Foundation | MVP | 3/3 | Complete | YYYY-MM-DD |
58
- | 2. Features | MVP | 2/2 | Complete | YYYY-MM-DD |
59
- | 5. Security | Security & Polish | 0/2 | Not started | - |
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**: [Urgent work inserted between phases]
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. [What the fix achieves]
86
- **Plans**: 1 plan
87
-
88
- Plans:
89
- - [ ] 02.1-01: [Description]
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 | Plans Complete | Status | Completed |
132
- |-------|----------------|--------|-----------|
133
- | 1. [Name] | 0/3 | Not started | - |
134
- | 2. [Name] | 0/2 | Not started | - |
135
- | 3. [Name] | 0/2 | Not started | - |
136
- | 4. [Name] | 0/1 | Not started | - |
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. Typically 1-2 for focused work, 3-4 for multi-area work.
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 (2-4 rounds typical):**
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. Stop when vision is cleardon't over-question.
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
- > - Rewrite semanticsif existing knowledge files exist, merge by producing current state.
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 checklist derivation — may already be in context from wave reports).
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 Browser Checklist** — transform SUMMARYs into visual checklist items
306
- 3. **Spawn** — launch verifier with derived checklist
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
- Read `~/.claude/mindsystem/references/routing/next-phase-routing.md` to determine the most appropriate command for the next phase (discuss/design/research/plan based on pre-work flags). Present concisely under "Also available":
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}` — {reason from routing}
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
- Include the pre-work recommendations table from the routing reference if any pre-work is flagged as "Likely".
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) optimized for parallel execution.
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 proposal (steps 1-9) - collaborative, keeps user in loop
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
- PLAN.md IS the prompt that Claude executes. Plans are grouped into execution waves based on dependencies - independent plans run in parallel, dependent plans wait for predecessors.
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
- **Propose plan boundaries before handing off to the plan-writer.**
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 the user confirms the plan structure, check if project skills could improve plan quality.
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 proposed and presented to user
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 | Plans Complete | Status | Completed |
116
- | ----------------- | -------------- | ----------- | ---------- |
117
- | 1. Foundation | 3/3 | Complete | 2025-01-15 |
118
- | 2. Authentication | 0/2 | Not started | - |
119
- | 3. Core Features | 0/1 | Not started | - |
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 and plan count
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. Determine if cause is found:**
368
+ **2. Report finding and act:**
369
369
 
370
- **If cause found AND fix is simple (single file, straightforward change):**
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
- I'll change it to use `error.message` from props.
372
+ Format:
373
+ ```
374
+ {Root cause — what the code does wrong and why, 1-2 sentences}
378
375
 
379
- Apply this fix?
380
- ```
381
- - Present options: [Yes / Let me see the code first / Different approach]
382
- - If approved: Go to `apply_fix`
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 cause found BUT fix is complex (multiple files, architectural):**
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:**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mindsystem-cc",
3
- "version": "4.3.0",
3
+ "version": "4.4.0",
4
4
  "description": "The engineer's meta-prompting system for Claude Code.",
5
5
  "bin": {
6
6
  "mindsystem-cc": "bin/install.js"