mindsystem-cc 3.21.0 → 3.22.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 +4 -12
- package/agents/ms-plan-checker.md +30 -30
- package/agents/ms-plan-writer.md +1 -1
- package/agents/ms-product-researcher.md +4 -2
- package/agents/ms-verifier.md +25 -117
- package/commands/ms/add-phase.md +3 -4
- package/commands/ms/add-todo.md +3 -4
- package/commands/ms/adhoc.md +3 -4
- package/commands/ms/audit-milestone.md +4 -3
- package/commands/ms/complete-milestone.md +2 -2
- package/commands/ms/config.md +36 -9
- package/commands/ms/create-roadmap.md +3 -4
- package/commands/ms/debug.md +3 -4
- package/commands/ms/design-phase.md +8 -5
- package/commands/ms/discuss-phase.md +2 -2
- package/commands/ms/doctor.md +9 -6
- package/commands/ms/execute-phase.md +2 -5
- package/commands/ms/help.md +2 -2
- package/commands/ms/insert-phase.md +3 -4
- package/commands/ms/map-codebase.md +1 -2
- package/commands/ms/new-milestone.md +1 -3
- package/commands/ms/new-project.md +3 -5
- package/commands/ms/plan-milestone-gaps.md +3 -4
- package/commands/ms/plan-phase.md +2 -3
- package/commands/ms/progress.md +1 -0
- package/commands/ms/remove-phase.md +3 -4
- package/commands/ms/research-phase.md +4 -4
- package/commands/ms/research-project.md +9 -16
- package/commands/ms/review-design.md +4 -2
- package/commands/ms/verify-work.md +6 -8
- package/mindsystem/references/verification-patterns.md +0 -37
- package/mindsystem/templates/config.json +2 -1
- package/mindsystem/templates/roadmap.md +1 -1
- package/mindsystem/templates/state.md +2 -2
- package/mindsystem/templates/verification-report.md +3 -26
- package/mindsystem/workflows/discuss-phase.md +7 -3
- package/mindsystem/workflows/execute-phase.md +2 -18
- package/mindsystem/workflows/map-codebase.md +6 -12
- package/mindsystem/workflows/mockup-generation.md +46 -22
- package/mindsystem/workflows/plan-phase.md +12 -5
- package/mindsystem/workflows/verify-work.md +96 -69
- package/package.json +1 -1
- package/scripts/__pycache__/ms-tools.cpython-314.pyc +0 -0
- package/scripts/__pycache__/test_ms_tools.cpython-314-pytest-9.0.2.pyc +0 -0
- package/scripts/ms-tools.py +751 -6
- package/scripts/test_ms_tools.py +786 -0
- package/agents/ms-flutter-code-quality.md +0 -169
- package/agents/ms-flutter-reviewer.md +0 -211
- package/agents/ms-flutter-simplifier.md +0 -79
- package/mindsystem/workflows/verify-phase.md +0 -625
- package/skills/flutter-code-quality/SKILL.md +0 -143
- package/skills/flutter-code-simplification/SKILL.md +0 -102
- package/skills/flutter-senior-review/AGENTS.md +0 -869
- package/skills/flutter-senior-review/SKILL.md +0 -205
- package/skills/flutter-senior-review/principles/dependencies-data-not-callbacks.md +0 -75
- package/skills/flutter-senior-review/principles/dependencies-provider-tree.md +0 -85
- package/skills/flutter-senior-review/principles/dependencies-temporal-coupling.md +0 -97
- package/skills/flutter-senior-review/principles/pragmatism-consistent-error-handling.md +0 -130
- package/skills/flutter-senior-review/principles/pragmatism-speculative-generality.md +0 -91
- package/skills/flutter-senior-review/principles/state-data-clumps.md +0 -64
- package/skills/flutter-senior-review/principles/state-invalid-states.md +0 -53
- package/skills/flutter-senior-review/principles/state-single-source-of-truth.md +0 -68
- package/skills/flutter-senior-review/principles/state-type-hierarchies.md +0 -75
- package/skills/flutter-senior-review/principles/structure-composition-over-config.md +0 -105
- package/skills/flutter-senior-review/principles/structure-shared-visual-patterns.md +0 -107
- package/skills/flutter-senior-review/principles/structure-wrapper-pattern.md +0 -90
|
@@ -41,6 +41,7 @@ ls .planning/phases/${PHASE}-*/*DESIGN.md 2>/dev/null
|
|
|
41
41
|
## 1. Parse and Validate Phase
|
|
42
42
|
|
|
43
43
|
```bash
|
|
44
|
+
# ms-tools is on PATH — invoke directly, not as a script path
|
|
44
45
|
ms-tools find-phase "$ARGUMENTS"
|
|
45
46
|
```
|
|
46
47
|
|
|
@@ -78,7 +79,10 @@ Scan skills in your system-reminder for matches. Look for skills related to:
|
|
|
78
79
|
|
|
79
80
|
**3b. Confirm with user:**
|
|
80
81
|
|
|
81
|
-
|
|
82
|
+
Present via AskUserQuestion with `multiSelect: true`:
|
|
83
|
+
- Each matching skill is one option (label: skill name, description: what it provides)
|
|
84
|
+
- Always include a "None — skip skill loading" option
|
|
85
|
+
- User selects which to load, skips, or types a skill name in the free-text field
|
|
82
86
|
|
|
83
87
|
**3c. Load selected skills:**
|
|
84
88
|
|
|
@@ -429,10 +433,9 @@ Read `~/.claude/mindsystem/templates/design-iteration.md` and use the iteration
|
|
|
429
433
|
|
|
430
434
|
## 9. Update Last Command
|
|
431
435
|
|
|
432
|
-
|
|
433
|
-
-
|
|
434
|
-
|
|
435
|
-
- If line doesn't exist, add it after `Status:` line
|
|
436
|
+
```bash
|
|
437
|
+
ms-tools set-last-command "ms:design-phase $ARGUMENTS"
|
|
438
|
+
```
|
|
436
439
|
|
|
437
440
|
</process>
|
|
438
441
|
|
|
@@ -28,6 +28,7 @@ Phase number: $ARGUMENTS (required)
|
|
|
28
28
|
|
|
29
29
|
**Resolve phase:**
|
|
30
30
|
```bash
|
|
31
|
+
# ms-tools is on PATH — invoke directly, not as a script path
|
|
31
32
|
ms-tools find-phase "$ARGUMENTS"
|
|
32
33
|
```
|
|
33
34
|
|
|
@@ -52,8 +53,7 @@ ms-tools find-phase "$ARGUMENTS"
|
|
|
52
53
|
8. **Informed discussion** — follow discuss-phase.md workflow. ALL questions use AskUserQuestion.
|
|
53
54
|
9. Create CONTEXT.md capturing their vision with reasoning-backed decisions
|
|
54
55
|
10. Present pre-work status: Read `~/.claude/mindsystem/references/prework-status.md` and show what's done vs still needed for this phase
|
|
55
|
-
11. Update
|
|
56
|
-
- Format: `Last Command: ms:discuss-phase $ARGUMENTS | YYYY-MM-DD HH:MM`
|
|
56
|
+
11. **Update last command:** `ms-tools set-last-command "ms:discuss-phase $ARGUMENTS"`
|
|
57
57
|
|
|
58
58
|
**CRITICAL: ALL questions use AskUserQuestion. Never ask inline text questions.**
|
|
59
59
|
</process>
|
package/commands/ms/doctor.md
CHANGED
|
@@ -13,7 +13,7 @@ allowed-tools:
|
|
|
13
13
|
---
|
|
14
14
|
|
|
15
15
|
<objective>
|
|
16
|
-
Run health checks on project configuration. Detect and fix structural drift across
|
|
16
|
+
Run health checks on project configuration. Detect and fix structural drift across 9 categories: subsystem vocabulary, milestone directory structure, milestone naming convention, phase archival, knowledge files, phase summaries, PLAN cleanup, CLI wrappers, and research API keys.
|
|
17
17
|
|
|
18
18
|
Idempotent.
|
|
19
19
|
</objective>
|
|
@@ -72,10 +72,11 @@ Proceed to next step.
|
|
|
72
72
|
Run the diagnostic scan:
|
|
73
73
|
|
|
74
74
|
```bash
|
|
75
|
+
# ms-tools is on PATH — invoke directly, not as a script path
|
|
75
76
|
ms-tools doctor-scan
|
|
76
77
|
```
|
|
77
78
|
|
|
78
|
-
Capture the full output. Parse each check's Status (PASS/FAIL/SKIP) and detail lines.
|
|
79
|
+
Capture the full output. Parse each check's Status (PASS/FAIL/SKIP/WARN) and detail lines.
|
|
79
80
|
</step>
|
|
80
81
|
|
|
81
82
|
<step name="present_results">
|
|
@@ -94,11 +95,12 @@ Display results as a markdown table:
|
|
|
94
95
|
| Phase summaries | FAIL | 2 milestones missing summaries |
|
|
95
96
|
| PLAN cleanup | FAIL | 9 leftover PLAN.md files |
|
|
96
97
|
| CLI wrappers | FAIL | ms-tools not on PATH |
|
|
98
|
+
| Research API Keys | WARN | PERPLEXITY_API_KEY not set |
|
|
97
99
|
```
|
|
98
100
|
|
|
99
101
|
Populate Result and Details from scan output. Use concise detail summaries.
|
|
100
102
|
|
|
101
|
-
If all PASS → go to `report`.
|
|
103
|
+
If all PASS (or WARN only) → go to `report`.
|
|
102
104
|
If any FAIL → go to `confirm_action`.
|
|
103
105
|
</step>
|
|
104
106
|
|
|
@@ -117,7 +119,7 @@ If "Review each" → use AskUserQuestion for each failed check with its details
|
|
|
117
119
|
|
|
118
120
|
Apply fixes in dependency order: fix_subsystems → fix_milestone_dirs → fix_milestone_naming → fix_phase_archival → fix_plan_cleanup → fix_knowledge. Skip any fix whose check passed or was skipped by user.
|
|
119
121
|
|
|
120
|
-
Phase summaries are resolved by fix_phase_archival. CLI wrappers require manual PATH configuration (no automated fix).
|
|
122
|
+
Phase summaries are resolved by fix_phase_archival. CLI wrappers require manual PATH configuration (no automated fix). WARN checks (Research API Keys) are informational — no fix offered, only displayed in the report.
|
|
121
123
|
</step>
|
|
122
124
|
|
|
123
125
|
<step name="apply_fixes">
|
|
@@ -152,11 +154,12 @@ Final summary table:
|
|
|
152
154
|
| Phase summaries | PASS | ... |
|
|
153
155
|
| PLAN cleanup | PASS | ... |
|
|
154
156
|
| CLI wrappers | PASS | ... |
|
|
157
|
+
| Research API Keys | PASS | ... |
|
|
155
158
|
|
|
156
159
|
All checks passed.
|
|
157
160
|
```
|
|
158
161
|
|
|
159
|
-
Include counts: checks total, passed, fixed during this run.
|
|
162
|
+
Include counts: checks total, passed, warned, fixed during this run.
|
|
160
163
|
</step>
|
|
161
164
|
|
|
162
165
|
</process>
|
|
@@ -167,6 +170,6 @@ Include counts: checks total, passed, fixed during this run.
|
|
|
167
170
|
- [ ] Re-scan verifies all checks pass after fixes
|
|
168
171
|
- [ ] Each fix group committed atomically
|
|
169
172
|
- [ ] Fixes applied in dependency order: subsystems → dirs → milestone naming → archival → cleanup → knowledge
|
|
170
|
-
- [ ] All
|
|
173
|
+
- [ ] All 9 categories reported with PASS/FAIL/WARN/SKIP
|
|
171
174
|
- [ ] Clean project reports all PASS with no fix prompts
|
|
172
175
|
</success_criteria>
|
|
@@ -32,6 +32,7 @@ Phase: $ARGUMENTS
|
|
|
32
32
|
|
|
33
33
|
**Resolve phase:**
|
|
34
34
|
```bash
|
|
35
|
+
# ms-tools is on PATH — invoke directly, not as a script path
|
|
35
36
|
ms-tools find-phase "$ARGUMENTS"
|
|
36
37
|
```
|
|
37
38
|
|
|
@@ -74,7 +75,6 @@ ms-tools find-phase "$ARGUMENTS"
|
|
|
74
75
|
- Creates VERIFICATION.md with detailed report
|
|
75
76
|
- Route by status:
|
|
76
77
|
- `passed` → continue to step 7
|
|
77
|
-
- `human_needed` → present items, get approval or feedback
|
|
78
78
|
- `gaps_found` → present gaps, offer `/ms:plan-phase {X} --gaps`
|
|
79
79
|
|
|
80
80
|
7. **Code review (optional)**
|
|
@@ -118,9 +118,7 @@ ms-tools find-phase "$ARGUMENTS"
|
|
|
118
118
|
13. **Offer next steps**
|
|
119
119
|
- Route to next action (see `<offer_next>`)
|
|
120
120
|
|
|
121
|
-
14. **Update last command
|
|
122
|
-
- Update `.planning/STATE.md` Last Command field
|
|
123
|
-
- Format: `Last Command: ms:execute-phase $ARGUMENTS | YYYY-MM-DD HH:MM`
|
|
121
|
+
14. **Update last command:** `ms-tools set-last-command "ms:execute-phase $ARGUMENTS"`
|
|
124
122
|
</process>
|
|
125
123
|
|
|
126
124
|
<offer_next>
|
|
@@ -143,7 +141,6 @@ Then route based on status:
|
|
|
143
141
|
| Status | Route |
|
|
144
142
|
|--------|-------|
|
|
145
143
|
| `gaps_found` | Route C (gap closure) |
|
|
146
|
-
| `human_needed` | Present checklist, then re-route based on approval |
|
|
147
144
|
| `passed` + more phases | Route A (next phase) |
|
|
148
145
|
| `passed` + last phase | Route B (milestone complete) |
|
|
149
146
|
|
package/commands/ms/help.md
CHANGED
|
@@ -84,9 +84,9 @@ Initialize new project with brief and configuration.
|
|
|
84
84
|
Usage: `/ms:new-project`
|
|
85
85
|
|
|
86
86
|
**`/ms:config`**
|
|
87
|
-
Configure Mindsystem preferences — code reviewers, gitignore patterns, git remote.
|
|
87
|
+
Configure Mindsystem preferences — code reviewers, mockup preferences, gitignore patterns, git remote.
|
|
88
88
|
|
|
89
|
-
- Use when: you want to set up code review agents, manage which .planning/ artifacts are git-ignored, or push your repo to GitHub.
|
|
89
|
+
- Use when: you want to set up code review agents, mockup open behavior, manage which .planning/ artifacts are git-ignored, or push your repo to GitHub.
|
|
90
90
|
- Edits `.planning/config.json` and `.gitignore`
|
|
91
91
|
- Suggests code reviewers based on tech stack (needs PROJECT.md)
|
|
92
92
|
- Idempotent — run anytime to reconfigure
|
|
@@ -216,10 +216,9 @@ After the "Next Up" section, add:
|
|
|
216
216
|
</step>
|
|
217
217
|
|
|
218
218
|
<step name="update_last_command">
|
|
219
|
-
|
|
220
|
-
-
|
|
221
|
-
|
|
222
|
-
- If line doesn't exist, add it after `Status:` line
|
|
219
|
+
```bash
|
|
220
|
+
ms-tools set-last-command "ms:insert-phase $ARGUMENTS"
|
|
221
|
+
```
|
|
223
222
|
</step>
|
|
224
223
|
|
|
225
224
|
</process>
|
|
@@ -60,8 +60,7 @@ Check for .planning/STATE.md - loads context if project already initialized
|
|
|
60
60
|
5. Verify all 7 documents exist with line counts
|
|
61
61
|
6. Commit codebase map
|
|
62
62
|
7. Offer next steps (typically: /ms:new-project or /ms:plan-phase)
|
|
63
|
-
8. Update
|
|
64
|
-
- Format: `Last Command: ms:map-codebase $ARGUMENTS | YYYY-MM-DD HH:MM`
|
|
63
|
+
8. **Update last command:** `ms-tools set-last-command "ms:map-codebase $ARGUMENTS"`
|
|
65
64
|
</process>
|
|
66
65
|
|
|
67
66
|
<success_criteria>
|
|
@@ -301,9 +301,7 @@ Milestone name: $ARGUMENTS (optional — will emerge during discovery if not pro
|
|
|
301
301
|
---
|
|
302
302
|
```
|
|
303
303
|
|
|
304
|
-
20. **Update last command:**
|
|
305
|
-
- Update `.planning/STATE.md` Last Command field
|
|
306
|
-
- Format: `Last Command: ms:new-milestone $ARGUMENTS | YYYY-MM-DD HH:MM`
|
|
304
|
+
20. **Update last command:** `ms-tools set-last-command "ms:new-milestone $ARGUMENTS"`
|
|
307
305
|
|
|
308
306
|
</process>
|
|
309
307
|
|
|
@@ -265,11 +265,9 @@ Project updated:
|
|
|
265
265
|
</step>
|
|
266
266
|
|
|
267
267
|
<step name="update_last_command">
|
|
268
|
-
|
|
269
|
-
-
|
|
270
|
-
|
|
271
|
-
- If line doesn't exist, add it after `Status:` line
|
|
272
|
-
- Note: STATE.md may not exist yet if this is the first command
|
|
268
|
+
```bash
|
|
269
|
+
ms-tools set-last-command "ms:new-project"
|
|
270
|
+
```
|
|
273
271
|
</step>
|
|
274
272
|
|
|
275
273
|
</process>
|
|
@@ -195,10 +195,9 @@ git commit -m "docs(roadmap): add gap closure phases {N}-{M}"
|
|
|
195
195
|
|
|
196
196
|
## 10. Update Last Command
|
|
197
197
|
|
|
198
|
-
|
|
199
|
-
-
|
|
200
|
-
|
|
201
|
-
- If line doesn't exist, add it after `Status:` line
|
|
198
|
+
```bash
|
|
199
|
+
ms-tools set-last-command "ms:plan-milestone-gaps"
|
|
200
|
+
```
|
|
202
201
|
|
|
203
202
|
</process>
|
|
204
203
|
|
|
@@ -36,6 +36,7 @@ Gap closure mode: `--gaps` flag triggers gap closure workflow
|
|
|
36
36
|
|
|
37
37
|
**Resolve phase if provided:**
|
|
38
38
|
```bash
|
|
39
|
+
# ms-tools is on PATH — invoke directly, not as a script path
|
|
39
40
|
PHASE_ARG=$(echo "$ARGUMENTS" | grep -oE '^[0-9]+' | head -1)
|
|
40
41
|
if [ -n "$PHASE_ARG" ]; then
|
|
41
42
|
ms-tools find-phase "$PHASE_ARG"
|
|
@@ -104,9 +105,7 @@ Check for `.planning/codebase/` and load relevant documents based on phase type.
|
|
|
104
105
|
- Number plans sequentially after existing (if 01-03 exist, create 04, 05...)
|
|
105
106
|
- Create PLAN.md file(s) focused on closing specific gaps
|
|
106
107
|
|
|
107
|
-
6. **Update last command
|
|
108
|
-
- Update `.planning/STATE.md` Last Command field
|
|
109
|
-
- Format: `Last Command: ms:plan-phase $ARGUMENTS | YYYY-MM-DD HH:MM`
|
|
108
|
+
6. **Update last command:** `ms-tools set-last-command "ms:plan-phase $ARGUMENTS"`
|
|
110
109
|
|
|
111
110
|
7. **Risk assessment** (skip if `--gaps` flag present)
|
|
112
111
|
- Calculate risk score from context already loaded (task count, plan count, external services, CONTEXT.md, cross-cutting concerns, new deps, complex domains)
|
package/commands/ms/progress.md
CHANGED
|
@@ -298,10 +298,9 @@ Would you like to:
|
|
|
298
298
|
</step>
|
|
299
299
|
|
|
300
300
|
<step name="update_last_command">
|
|
301
|
-
|
|
302
|
-
-
|
|
303
|
-
|
|
304
|
-
- If line doesn't exist, add it after `Status:` line
|
|
301
|
+
```bash
|
|
302
|
+
ms-tools set-last-command "ms:remove-phase $ARGUMENTS"
|
|
303
|
+
```
|
|
305
304
|
</step>
|
|
306
305
|
|
|
307
306
|
</process>
|
|
@@ -21,6 +21,7 @@ Phase number: $ARGUMENTS (required)
|
|
|
21
21
|
|
|
22
22
|
**Resolve phase:**
|
|
23
23
|
```bash
|
|
24
|
+
# ms-tools is on PATH — invoke directly, not as a script path
|
|
24
25
|
ms-tools find-phase "$ARGUMENTS"
|
|
25
26
|
```
|
|
26
27
|
|
|
@@ -323,10 +324,9 @@ If any section has LOW confidence or significant open questions, flag the weak a
|
|
|
323
324
|
|
|
324
325
|
## 8. Update Last Command
|
|
325
326
|
|
|
326
|
-
|
|
327
|
-
-
|
|
328
|
-
|
|
329
|
-
- If line doesn't exist, add it after `Status:` line
|
|
327
|
+
```bash
|
|
328
|
+
ms-tools set-last-command "ms:research-phase $ARGUMENTS"
|
|
329
|
+
```
|
|
330
330
|
|
|
331
331
|
</process>
|
|
332
332
|
|
|
@@ -299,18 +299,12 @@ Create SUMMARY.md with:
|
|
|
299
299
|
- Confidence assessment
|
|
300
300
|
- Gaps to address
|
|
301
301
|
|
|
302
|
-
After creating SUMMARY.md, update config.json code_review fields with agent names:
|
|
303
|
-
1.
|
|
304
|
-
|
|
305
|
-
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
- milestone: \"ms-flutter-reviewer\"
|
|
309
|
-
- All others:
|
|
310
|
-
- adhoc: \"ms-code-simplifier\"
|
|
311
|
-
- phase: \"ms-code-simplifier\"
|
|
312
|
-
- milestone: (leave as null)
|
|
313
|
-
3. Update .planning/config.json (create from template if needed)
|
|
302
|
+
After creating SUMMARY.md, update config.json code_review fields with default agent names:
|
|
303
|
+
1. Default for all frameworks:
|
|
304
|
+
- adhoc: \"ms-code-simplifier\"
|
|
305
|
+
- phase: \"ms-code-simplifier\"
|
|
306
|
+
- milestone: null
|
|
307
|
+
2. Update .planning/config.json (create from template if needed)
|
|
314
308
|
|
|
315
309
|
Then commit ALL research files together:
|
|
316
310
|
git add .planning/research/
|
|
@@ -343,10 +337,9 @@ Key findings:
|
|
|
343
337
|
|
|
344
338
|
## 8. Update Last Command
|
|
345
339
|
|
|
346
|
-
|
|
347
|
-
-
|
|
348
|
-
|
|
349
|
-
- If line doesn't exist, add it after `Status:` line
|
|
340
|
+
```bash
|
|
341
|
+
ms-tools set-last-command "ms:research-project"
|
|
342
|
+
```
|
|
350
343
|
|
|
351
344
|
</process>
|
|
352
345
|
|
|
@@ -76,7 +76,7 @@ Before analyzing, establish what this screen is trying to accomplish.
|
|
|
76
76
|
- Read `.planning/PROJECT.md` for product type, core value, target audience
|
|
77
77
|
- If phase-based, grep `.planning/ROADMAP.md` for phase requirements
|
|
78
78
|
- Glob for existing DESIGN.md in `.planning/phases/` for design intent
|
|
79
|
-
-
|
|
79
|
+
- Scan available skills in system-reminder for matches related to UI, design, or the screen's platform/framework. If matches found, present via AskUserQuestion with `multiSelect: true`: each matching skill is one option (label: skill name, description: what it provides), always include a "None — skip skill loading" option. User selects which to load, skips, or types a skill name in the free-text field. Load selected skills via Skill tool for existing patterns.
|
|
80
80
|
|
|
81
81
|
**State the screen's job in one sentence:**
|
|
82
82
|
> "This screen helps the user [accomplish X]."
|
|
@@ -186,7 +186,9 @@ Run the app and check this screen — [describe the expected visual difference i
|
|
|
186
186
|
|
|
187
187
|
## Step 8: Update Last Command
|
|
188
188
|
|
|
189
|
-
|
|
189
|
+
```bash
|
|
190
|
+
ms-tools set-last-command "ms:review-design $ARGUMENTS"
|
|
191
|
+
```
|
|
190
192
|
|
|
191
193
|
</process>
|
|
192
194
|
|
|
@@ -47,10 +47,10 @@ Phase: $ARGUMENTS (optional)
|
|
|
47
47
|
7. **For each batch:**
|
|
48
48
|
- If mock needed: Apply inline mocks (1-4 direct edits, 5+ via ms-mock-generator subagent), tell user to hot reload
|
|
49
49
|
- Present tests via AskUserQuestion (Pass / Can't test / Skip / Other)
|
|
50
|
-
- Process results
|
|
50
|
+
- Process results — UAT.md updates happen via `ms-tools uat-update` (auto-recalculates progress)
|
|
51
51
|
- **For each issue found:**
|
|
52
52
|
- Lightweight investigation (2-3 tool calls)
|
|
53
|
-
- If simple: Fix inline, commit, ask for re-test
|
|
53
|
+
- If simple: Fix inline, commit (amend previous fix commit on retry when HEAD matches fix_commit), ask for re-test
|
|
54
54
|
- If complex: Spawn ms-verify-fixer subagent
|
|
55
55
|
- 2 retries on failed re-test, then offer options
|
|
56
56
|
8. **On batch transition:**
|
|
@@ -60,14 +60,10 @@ Phase: $ARGUMENTS (optional)
|
|
|
60
60
|
- Revert all mocks (`git checkout -- <mocked_files>`)
|
|
61
61
|
- Generate UAT fixes patch
|
|
62
62
|
- Restore user's pre-existing work (if stashed)
|
|
63
|
-
- Commit UAT.md, present summary
|
|
63
|
+
- Commit UAT.md + STATE.md together in one completion commit, present summary
|
|
64
64
|
- **Update knowledge pitfalls** — if significant UAT issues (blocker/major) were fixed, append pitfall entries to relevant knowledge files
|
|
65
65
|
|
|
66
|
-
10. **
|
|
67
|
-
- Update `.planning/STATE.md` Last Command field
|
|
68
|
-
- Format: `Last Command: ms:verify-work $ARGUMENTS | YYYY-MM-DD HH:MM`
|
|
69
|
-
|
|
70
|
-
11. **Present next steps**
|
|
66
|
+
10. **Present next steps**
|
|
71
67
|
- If this was the last phase in milestone: suggest `/ms:audit-milestone`
|
|
72
68
|
- If more phases remain: Read `~/.claude/mindsystem/references/routing/next-phase-routing.md` and follow its instructions to present "Next Up" with pre-work context for the next phase
|
|
73
69
|
</process>
|
|
@@ -80,6 +76,8 @@ Phase: $ARGUMENTS (optional)
|
|
|
80
76
|
- Don't fix complex issues inline — spawn fixer subagent for multi-file or architectural changes
|
|
81
77
|
- Don't commit mock code — stash mocked files before fixing, restore after
|
|
82
78
|
- Don't re-present skipped tests — assumptions stand
|
|
79
|
+
- Don't Read/Edit UAT.md for field updates — use `ms-tools uat-update`
|
|
80
|
+
- Don't create separate commits for retry fixes — amend previous fix commit when HEAD matches fix_commit
|
|
83
81
|
</anti_patterns>
|
|
84
82
|
|
|
85
83
|
<success_criteria>
|
|
@@ -556,40 +556,3 @@ Run these checks against each must-have artifact. Aggregate results into VERIFIC
|
|
|
556
556
|
|
|
557
557
|
</automated_verification_script>
|
|
558
558
|
|
|
559
|
-
<human_verification_triggers>
|
|
560
|
-
|
|
561
|
-
## When to Require Human Verification
|
|
562
|
-
|
|
563
|
-
Some things can't be verified programmatically. Flag these for human testing:
|
|
564
|
-
|
|
565
|
-
**Always human:**
|
|
566
|
-
- Visual appearance (does it look right?)
|
|
567
|
-
- User flow completion (can you actually do the thing?)
|
|
568
|
-
- Real-time behavior (WebSocket, SSE)
|
|
569
|
-
- External service integration (Stripe, email sending)
|
|
570
|
-
- Error message clarity (is the message helpful?)
|
|
571
|
-
- Performance feel (does it feel fast?)
|
|
572
|
-
|
|
573
|
-
**Human if uncertain:**
|
|
574
|
-
- Complex wiring that grep can't trace
|
|
575
|
-
- Dynamic behavior depending on state
|
|
576
|
-
- Edge cases and error states
|
|
577
|
-
- Mobile responsiveness
|
|
578
|
-
- Accessibility
|
|
579
|
-
|
|
580
|
-
**Format for human verification request:**
|
|
581
|
-
```markdown
|
|
582
|
-
## Human Verification Required
|
|
583
|
-
|
|
584
|
-
### 1. Chat message sending
|
|
585
|
-
**Test:** Type a message and click Send
|
|
586
|
-
**Expected:** Message appears in list, input clears
|
|
587
|
-
**Check:** Does message persist after refresh?
|
|
588
|
-
|
|
589
|
-
### 2. Error handling
|
|
590
|
-
**Test:** Disconnect network, try to send
|
|
591
|
-
**Expected:** Error message appears, message not lost
|
|
592
|
-
**Check:** Can retry after reconnect?
|
|
593
|
-
```
|
|
594
|
-
|
|
595
|
-
</human_verification_triggers>
|
|
@@ -135,7 +135,7 @@ Phases execute in numeric order: 2 → 2.1 → 2.2 → 3 → 3.1 → 4
|
|
|
135
135
|
- 2-5 observable behaviors per phase (from user's perspective)
|
|
136
136
|
- Cross-checked against requirements during roadmap creation
|
|
137
137
|
- Flow downstream to `## Must-Haves` in plan-phase
|
|
138
|
-
- Verified by
|
|
138
|
+
- Verified by ms-verifier agent after execution
|
|
139
139
|
- Format: "User can [action]" or "[Thing] works/exists"
|
|
140
140
|
|
|
141
141
|
**Pre-work indicators** (all use Likely/Unlikely with parenthetical reason):
|
|
@@ -115,8 +115,8 @@ STATE.md is the project's short-term memory spanning all phases and sessions.
|
|
|
115
115
|
- adhoc: After adhoc work completed
|
|
116
116
|
- Add entry to "Recent Adhoc Work" section
|
|
117
117
|
- Keep last 5 entries (older entries remain in .planning/adhoc/)
|
|
118
|
-
- Any state-changing command:
|
|
119
|
-
-
|
|
118
|
+
- Any state-changing command: `ms-tools set-last-command "ms:{command} {args}"`
|
|
119
|
+
- Appends real local timestamp via `datetime.now()`
|
|
120
120
|
- Enables status line to show context without running /ms:progress
|
|
121
121
|
|
|
122
122
|
</lifecycle>
|
|
@@ -10,15 +10,16 @@ Template for `.planning/phases/XX-name/{phase}-VERIFICATION.md` — phase goal v
|
|
|
10
10
|
---
|
|
11
11
|
phase: XX-name
|
|
12
12
|
verified: YYYY-MM-DDTHH:MM:SSZ
|
|
13
|
-
status: passed | gaps_found
|
|
13
|
+
status: passed | gaps_found
|
|
14
14
|
score: N/M must-haves verified
|
|
15
|
+
uncertain: N # UNCERTAIN truths + NEEDS HUMAN requirements
|
|
15
16
|
---
|
|
16
17
|
|
|
17
18
|
# Phase {X}: {Name} Verification Report
|
|
18
19
|
|
|
19
20
|
**Phase Goal:** {goal from ROADMAP.md}
|
|
20
21
|
**Verified:** {timestamp}
|
|
21
|
-
**Status:** {passed | gaps_found
|
|
22
|
+
**Status:** {passed | gaps_found}
|
|
22
23
|
|
|
23
24
|
## Goal Achievement
|
|
24
25
|
|
|
@@ -72,23 +73,6 @@ score: N/M must-haves verified
|
|
|
72
73
|
|
|
73
74
|
**Anti-patterns:** {N} found ({blockers} blockers, {warnings} warnings)
|
|
74
75
|
|
|
75
|
-
## Human Verification Required
|
|
76
|
-
|
|
77
|
-
{If no human verification needed:}
|
|
78
|
-
None — all verifiable items checked programmatically.
|
|
79
|
-
|
|
80
|
-
{If human verification needed:}
|
|
81
|
-
|
|
82
|
-
### 1. {Test Name}
|
|
83
|
-
**Test:** {What to do}
|
|
84
|
-
**Expected:** {What should happen}
|
|
85
|
-
**Why human:** {Why can't verify programmatically}
|
|
86
|
-
|
|
87
|
-
### 2. {Test Name}
|
|
88
|
-
**Test:** {What to do}
|
|
89
|
-
**Expected:** {What should happen}
|
|
90
|
-
**Why human:** {Why can't verify programmatically}
|
|
91
|
-
|
|
92
76
|
## Gaps Summary
|
|
93
77
|
|
|
94
78
|
{If no gaps:}
|
|
@@ -149,7 +133,6 @@ None — all verifiable items checked programmatically.
|
|
|
149
133
|
**Verification approach:** Goal-backward (derived from phase goal)
|
|
150
134
|
**Must-haves source:** {PLAN.md ## Must-Haves section | derived from ROADMAP.md goal}
|
|
151
135
|
**Automated checks:** {N} passed, {M} failed
|
|
152
|
-
**Human checks required:** {N}
|
|
153
136
|
**Total verification time:** {duration}
|
|
154
137
|
|
|
155
138
|
---
|
|
@@ -164,7 +147,6 @@ None — all verifiable items checked programmatically.
|
|
|
164
147
|
**Status values:**
|
|
165
148
|
- `passed` — All must-haves verified, no blockers
|
|
166
149
|
- `gaps_found` — One or more critical gaps found
|
|
167
|
-
- `human_needed` — Automated checks pass but human verification required
|
|
168
150
|
|
|
169
151
|
**Evidence types:**
|
|
170
152
|
- For EXISTS: "File at path, exports X"
|
|
@@ -257,10 +239,6 @@ score: 2/5 must-haves verified
|
|
|
257
239
|
|
|
258
240
|
**Anti-patterns:** 3 found (2 blockers, 1 warning)
|
|
259
241
|
|
|
260
|
-
## Human Verification Required
|
|
261
|
-
|
|
262
|
-
None needed until automated gaps are fixed.
|
|
263
|
-
|
|
264
242
|
## Gaps Summary
|
|
265
243
|
|
|
266
244
|
### Critical Gaps (Block Progress)
|
|
@@ -313,7 +291,6 @@ None needed until automated gaps are fixed.
|
|
|
313
291
|
**Verification approach:** Goal-backward (derived from phase goal)
|
|
314
292
|
**Must-haves source:** 03-01-PLAN.md ## Must-Haves section
|
|
315
293
|
**Automated checks:** 2 passed, 8 failed
|
|
316
|
-
**Human checks required:** 0 (blocked by automated failures)
|
|
317
294
|
**Total verification time:** 2 min
|
|
318
295
|
|
|
319
296
|
---
|
|
@@ -130,6 +130,10 @@ Use AskUserQuestion:
|
|
|
130
130
|
Spawn ms-product-researcher subagent via Task tool:
|
|
131
131
|
|
|
132
132
|
```
|
|
133
|
+
<current_date>
|
|
134
|
+
[Output of: date +%Y-%m]
|
|
135
|
+
</current_date>
|
|
136
|
+
|
|
133
137
|
<product_context>
|
|
134
138
|
[Who It's For, Core Value, How It's Different from PROJECT.md]
|
|
135
139
|
</product_context>
|
|
@@ -320,9 +324,9 @@ Read `~/.claude/mindsystem/references/prework-status.md` and present what's done
|
|
|
320
324
|
</step>
|
|
321
325
|
|
|
322
326
|
<step name="update_state">
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
327
|
+
```bash
|
|
328
|
+
ms-tools set-last-command "ms:discuss-phase ${PHASE}"
|
|
329
|
+
```
|
|
326
330
|
</step>
|
|
327
331
|
|
|
328
332
|
</process>
|
|
@@ -274,34 +274,18 @@ grep "^status:" "$PHASE_DIR"/*-VERIFICATION.md | cut -d: -f2 | tr -d ' '
|
|
|
274
274
|
| Status | Action |
|
|
275
275
|
|--------|--------|
|
|
276
276
|
| `passed` | Continue to code_review |
|
|
277
|
-
| `human_needed` | Present items to user, get approval or feedback |
|
|
278
277
|
| `gaps_found` | Present gap summary, offer `/ms:plan-phase {phase} --gaps` |
|
|
279
278
|
|
|
280
279
|
**If passed:**
|
|
281
280
|
|
|
282
281
|
Phase goal verified. Proceed to code_review.
|
|
283
282
|
|
|
284
|
-
|
|
283
|
+
If the verifier's return includes "Items Not Verified Programmatically" (uncertain > 0), surface that section to the user before proceeding:
|
|
285
284
|
|
|
286
285
|
```markdown
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
All automated checks passed. {N} items need human testing:
|
|
290
|
-
|
|
291
|
-
### Human Verification Checklist
|
|
292
|
-
|
|
293
|
-
{Extract from VERIFICATION.md human_verification section}
|
|
294
|
-
|
|
295
|
-
---
|
|
296
|
-
|
|
297
|
-
**After testing:**
|
|
298
|
-
- "approved" → continue to code_review
|
|
299
|
-
- Report issues → will route to gap closure planning
|
|
286
|
+
**Note:** {N} items could not be verified by structural checks alone. Consider `/ms:verify-work {phase}` to validate these through UAT.
|
|
300
287
|
```
|
|
301
288
|
|
|
302
|
-
If user approves → continue to code_review.
|
|
303
|
-
If user reports issues → treat as gaps_found.
|
|
304
|
-
|
|
305
289
|
**If gaps_found:**
|
|
306
290
|
|
|
307
291
|
Present gaps and offer next command:
|
|
@@ -96,18 +96,12 @@ Write these documents to .planning/codebase/:
|
|
|
96
96
|
- STACK.md - Languages, runtime, frameworks, dependencies, configuration
|
|
97
97
|
- INTEGRATIONS.md - External APIs, databases, auth providers, webhooks
|
|
98
98
|
|
|
99
|
-
After writing STACK.md, update config.json code_review fields with the
|
|
100
|
-
1.
|
|
101
|
-
|
|
102
|
-
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
- milestone: "ms-flutter-reviewer"
|
|
106
|
-
- All others (React, Next.js, Node, Swift, Kotlin, etc.):
|
|
107
|
-
- adhoc: "ms-code-simplifier"
|
|
108
|
-
- phase: "ms-code-simplifier"
|
|
109
|
-
- milestone: (leave as null — runtime defaults to ms-flutter-reviewer)
|
|
110
|
-
3. If .planning/config.json exists: update all three code_review fields
|
|
99
|
+
After writing STACK.md, update config.json code_review fields with the default agent names:
|
|
100
|
+
1. Default for all frameworks:
|
|
101
|
+
- adhoc: "ms-code-simplifier"
|
|
102
|
+
- phase: "ms-code-simplifier"
|
|
103
|
+
- milestone: null
|
|
104
|
+
2. If .planning/config.json exists: update all three code_review fields
|
|
111
105
|
If not: note the recommended code review agents for later config creation
|
|
112
106
|
|
|
113
107
|
Explore thoroughly. Write documents directly using templates. Return confirmation only.
|