mindsystem-cc 3.16.1 → 3.17.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 +2 -2
- package/agents/ms-plan-writer.md +3 -3
- package/commands/ms/audit-milestone.md +12 -13
- package/commands/ms/complete-milestone.md +11 -4
- package/commands/ms/new-milestone.md +1 -1
- package/commands/ms/plan-phase.md +4 -0
- package/mindsystem/references/plan-format.md +5 -5
- package/mindsystem/templates/milestone-archive.md +2 -2
- package/mindsystem/templates/tech-debt.md +20 -13
- package/mindsystem/workflows/complete-milestone.md +59 -33
- package/mindsystem/workflows/execute-phase.md +1 -1
- package/mindsystem/workflows/plan-phase.md +1 -1
- package/package.json +1 -1
- package/scripts/validate-execution-order.sh +5 -2
package/README.md
CHANGED
|
@@ -269,8 +269,8 @@ Replace `<N>` with the phase number you're working on.
|
|
|
269
269
|
|
|
270
270
|
**What you'll get:**
|
|
271
271
|
|
|
272
|
-
- `.planning/milestones/v1.0
|
|
273
|
-
-
|
|
272
|
+
- `.planning/milestones/v1.0/` — archived milestone (ROADMAP, REQUIREMENTS, DECISIONS, research)
|
|
273
|
+
- Active docs stay lean; full detail lives in the version folder
|
|
274
274
|
|
|
275
275
|
**Tip:** Milestone review can be **report-only** (e.g., Flutter structural review) so you stay in control. Create a quality phase, or accept tech debt explicitly — your call.
|
|
276
276
|
|
package/agents/ms-plan-writer.md
CHANGED
|
@@ -294,11 +294,11 @@ Create `.planning/phases/{phase_dir}/EXECUTION-ORDER.md`:
|
|
|
294
294
|
# Execution Order
|
|
295
295
|
|
|
296
296
|
## Wave 1 (parallel)
|
|
297
|
-
- 01-PLAN.md — {description}
|
|
298
|
-
- 02-PLAN.md — {description}
|
|
297
|
+
- {phase}-01-PLAN.md — {description}
|
|
298
|
+
- {phase}-02-PLAN.md — {description}
|
|
299
299
|
|
|
300
300
|
## Wave 2 (parallel)
|
|
301
|
-
- 03-PLAN.md — {description} (depends on 01 for {reason})
|
|
301
|
+
- {phase}-03-PLAN.md — {description} (depends on 01 for {reason})
|
|
302
302
|
```
|
|
303
303
|
|
|
304
304
|
Rules:
|
|
@@ -306,26 +306,23 @@ Use AskUserQuestion with options A and B.
|
|
|
306
306
|
|
|
307
307
|
1. Determine next phase number (append at end of current phases)
|
|
308
308
|
2. Create phase directory: `.planning/phases/{NN}-code-quality/`
|
|
309
|
-
3.
|
|
310
|
-
4. Update ROADMAP.md with new phase:
|
|
309
|
+
3. Update ROADMAP.md with new phase:
|
|
311
310
|
|
|
312
311
|
```markdown
|
|
313
312
|
### Phase {N}: Code Quality (Generated)
|
|
314
313
|
**Goal:** Address structural improvements from milestone code review
|
|
315
|
-
|
|
316
|
-
**Findings to address:**
|
|
317
|
-
[High impact items from review]
|
|
314
|
+
**Scope:** High and Medium items from .planning/TECH-DEBT.md
|
|
318
315
|
|
|
319
316
|
Plans:
|
|
320
317
|
- [ ] {N}-01: High impact structural fixes
|
|
321
318
|
```
|
|
322
319
|
|
|
323
|
-
|
|
320
|
+
4. Report:
|
|
324
321
|
```markdown
|
|
325
322
|
## Quality Phase Created
|
|
326
323
|
|
|
327
324
|
**Phase {N}:** `.planning/phases/{NN}-code-quality/`
|
|
328
|
-
**
|
|
325
|
+
**Scope source:** `.planning/TECH-DEBT.md`
|
|
329
326
|
|
|
330
327
|
---
|
|
331
328
|
|
|
@@ -394,13 +391,15 @@ After code review (all sources now available), generate or update `.planning/TEC
|
|
|
394
391
|
|
|
395
392
|
1. **Read existing** `.planning/TECH-DEBT.md` (if exists) — parse active items and dismissed list, note highest `TD-{N}` ID
|
|
396
393
|
2. **Read template** from `@~/.claude/mindsystem/templates/tech-debt.md`
|
|
397
|
-
3. **Collect tech debt** from all sources:
|
|
398
|
-
-
|
|
399
|
-
-
|
|
400
|
-
- Code review findings
|
|
394
|
+
3. **Collect tech debt** from all sources with severity mapping:
|
|
395
|
+
- Integration checker bugs → **Critical**
|
|
396
|
+
- Unfixed UAT issues (result: `issue`, fix_status ≠ `verified`) → **Critical** (blocker) / **High** (major) / **Medium** (minor) / **Low** (cosmetic)
|
|
397
|
+
- Code review findings → pass through reviewer severity (**High** / **Medium** / **Low**)
|
|
398
|
+
- Phase VERIFICATION.md anti-patterns → **Medium** or **Low** (blockers go to `gaps`, not tech debt)
|
|
399
|
+
- Non-critical gaps from phase verifications → **Medium**
|
|
401
400
|
4. **De-duplicate** against existing active items AND dismissed items (match by location + description similarity)
|
|
402
401
|
5. **Assign `TD-{N}` IDs** continuing from highest existing ID
|
|
403
|
-
6. **Write/update** `.planning/TECH-DEBT.md`
|
|
402
|
+
6. **Write/update** `.planning/TECH-DEBT.md` — group items under `## Critical`, `## High`, `## Medium`, `## Low` sections per template. Omit empty sections.
|
|
404
403
|
|
|
405
404
|
## 9. Commit Audit Report
|
|
406
405
|
|
|
@@ -432,7 +431,7 @@ Read `~/.claude/mindsystem/references/routing/audit-result-routing.md` and follo
|
|
|
432
431
|
- [ ] Code review completed (or skipped if config says "skip")
|
|
433
432
|
- [ ] If analyze-only reviewer: YAML findings parsed and added to report
|
|
434
433
|
- [ ] If analyze-only reviewer: Binary decision presented (quality phase vs tech debt)
|
|
435
|
-
- [ ] If quality phase chosen: Phase directory created with
|
|
434
|
+
- [ ] If quality phase chosen: Phase directory created, ROADMAP updated with TECH-DEBT.md scope
|
|
436
435
|
- [ ] MILESTONE-AUDIT.md committed to git
|
|
437
436
|
- [ ] Results presented with actionable next steps
|
|
438
437
|
</success_criteria>
|
|
@@ -91,18 +91,24 @@ Output: Milestone archived (roadmap + requirements), PROJECT.md evolved, git tag
|
|
|
91
91
|
|
|
92
92
|
4. **Archive milestone:**
|
|
93
93
|
|
|
94
|
-
- Create `.planning/milestones/v{{version}}
|
|
94
|
+
- Create `.planning/milestones/v{{version}}/` directory
|
|
95
|
+
- Create `.planning/milestones/v{{version}}/ROADMAP.md`
|
|
95
96
|
- Extract full phase details from ROADMAP.md
|
|
96
97
|
- Fill milestone-archive.md template
|
|
97
98
|
- Update ROADMAP.md to one-line summary with link
|
|
98
99
|
|
|
99
100
|
5. **Archive requirements:**
|
|
100
101
|
|
|
101
|
-
- Create `.planning/milestones/v{{version}}
|
|
102
|
+
- Create `.planning/milestones/v{{version}}/REQUIREMENTS.md`
|
|
102
103
|
- Mark all v1 requirements as complete (checkboxes checked)
|
|
103
104
|
- Note requirement outcomes (validated, adjusted, dropped)
|
|
104
105
|
- Delete `.planning/REQUIREMENTS.md` (fresh one created for next milestone)
|
|
105
106
|
|
|
107
|
+
5.5. **Archive research:**
|
|
108
|
+
|
|
109
|
+
- If `.planning/research/` exists, move to `.planning/milestones/v{{version}}/research/`
|
|
110
|
+
- Skip silently if no research directory exists
|
|
111
|
+
|
|
106
112
|
6. **Update PROJECT.md:**
|
|
107
113
|
|
|
108
114
|
- Add "Current State" section with shipped version
|
|
@@ -128,8 +134,9 @@ Output: Milestone archived (roadmap + requirements), PROJECT.md evolved, git tag
|
|
|
128
134
|
<success_criteria>
|
|
129
135
|
|
|
130
136
|
- Raw artifacts cleaned from phase directories (CONTEXT, DESIGN, RESEARCH, SUMMARY, UAT, VERIFICATION, EXECUTION-ORDER)
|
|
131
|
-
- Milestone archived to `.planning/milestones/v{{version}}
|
|
132
|
-
- Requirements archived to `.planning/milestones/v{{version}}
|
|
137
|
+
- Milestone archived to `.planning/milestones/v{{version}}/ROADMAP.md`
|
|
138
|
+
- Requirements archived to `.planning/milestones/v{{version}}/REQUIREMENTS.md`
|
|
139
|
+
- Research archived to `.planning/milestones/v{{version}}/research/` (if existed)
|
|
133
140
|
- `.planning/REQUIREMENTS.md` deleted (fresh for next milestone)
|
|
134
141
|
- ROADMAP.md collapsed to one-line entry
|
|
135
142
|
- PROJECT.md updated with current state
|
|
@@ -64,7 +64,7 @@ Milestone name: $ARGUMENTS (optional — will emerge during discovery if not pro
|
|
|
64
64
|
3. **Strategic assessment (silent — do not output this step):**
|
|
65
65
|
- Check for previous milestone artifacts using calculated version:
|
|
66
66
|
- `.planning/knowledge/*.md` (subsystem knowledge files — persist across milestones)
|
|
67
|
-
- `.planning/milestones/v{VERSION}
|
|
67
|
+
- `.planning/milestones/v{VERSION}/MILESTONE-AUDIT.md` (if exists)
|
|
68
68
|
- `.planning/TECH-DEBT.md` (if exists)
|
|
69
69
|
- Identify: outstanding tech debt, untested assumptions, high-impact gaps, unaddressed requirements
|
|
70
70
|
- This is background analysis — synthesize silently, surface through suggestions in step 4
|
|
@@ -67,6 +67,10 @@ Check for and read `.planning/phases/XX-name/{phase}-CONTEXT.md` - contains rese
|
|
|
67
67
|
**Load design specs if exists (created by /ms:design-phase):**
|
|
68
68
|
Check for and read `.planning/phases/XX-name/{phase}-DESIGN.md` - contains visual/UX specifications including layouts, components, flows, and verification criteria.
|
|
69
69
|
|
|
70
|
+
**Load tech debt if quality/cleanup phase:**
|
|
71
|
+
If phase name or roadmap goal contains "quality", "cleanup", "refactor", or "tech debt":
|
|
72
|
+
Check for and read `.planning/TECH-DEBT.md` — prioritized issues for scope selection during task breakdown.
|
|
73
|
+
|
|
70
74
|
**Load codebase context if exists:**
|
|
71
75
|
Check for `.planning/codebase/` and load relevant documents based on phase type.
|
|
72
76
|
|
|
@@ -160,15 +160,15 @@ Execution order lives in a single `EXECUTION-ORDER.md` file alongside the plans.
|
|
|
160
160
|
# Execution Order
|
|
161
161
|
|
|
162
162
|
## Wave 1 (parallel)
|
|
163
|
-
- 01-PLAN.md — Database schema and Prisma client
|
|
164
|
-
- 02-PLAN.md — Environment configuration
|
|
163
|
+
- 03-01-PLAN.md — Database schema and Prisma client
|
|
164
|
+
- 03-02-PLAN.md — Environment configuration
|
|
165
165
|
|
|
166
166
|
## Wave 2 (parallel)
|
|
167
|
-
- 03-PLAN.md — Auth endpoints (depends on schema from 01)
|
|
168
|
-
- 04-PLAN.md — User profile CRUD (depends on schema from 01)
|
|
167
|
+
- 03-03-PLAN.md — Auth endpoints (depends on schema from 01)
|
|
168
|
+
- 03-04-PLAN.md — User profile CRUD (depends on schema from 01)
|
|
169
169
|
|
|
170
170
|
## Wave 3
|
|
171
|
-
- 05-PLAN.md — Protected route middleware (depends on auth from 03)
|
|
171
|
+
- 03-05-PLAN.md — Protected route middleware (depends on auth from 03)
|
|
172
172
|
```
|
|
173
173
|
|
|
174
174
|
**Rules:**
|
|
@@ -112,8 +112,8 @@ _For current project status, see .planning/ROADMAP.md_
|
|
|
112
112
|
|
|
113
113
|
**Archive location:**
|
|
114
114
|
|
|
115
|
-
- Save to `.planning/milestones/v{VERSION}
|
|
116
|
-
- Example: `.planning/milestones/v1.0
|
|
115
|
+
- Save to `.planning/milestones/v{VERSION}/ROADMAP.md`
|
|
116
|
+
- Example: `.planning/milestones/v1.0/ROADMAP.md`
|
|
117
117
|
|
|
118
118
|
**After archiving:**
|
|
119
119
|
|
|
@@ -6,11 +6,11 @@ Template for `.planning/TECH-DEBT.md` — single source of truth for all tech de
|
|
|
6
6
|
|
|
7
7
|
## Usage
|
|
8
8
|
|
|
9
|
-
Created and updated by `/ms:audit-milestone`. Items persist across milestones. Users reference items manually via `/ms:adhoc` (small fixes) or `/ms:insert-phase` (larger remediation).
|
|
9
|
+
Created and updated by `/ms:audit-milestone`. Items persist across milestones. Users reference items manually via `/ms:adhoc` (small fixes) or `/ms:insert-phase` (larger remediation). Loaded automatically by `/ms:plan-phase` for quality/cleanup phases.
|
|
10
10
|
|
|
11
11
|
**Item IDs** use `TD-{N}` format — monotonically increasing, never reused. New items continue from highest existing ID.
|
|
12
12
|
|
|
13
|
-
**Sources:** Phase verifications (anti-patterns, non-critical gaps), code review findings.
|
|
13
|
+
**Sources:** Phase verifications (anti-patterns, non-critical gaps), code review findings, integration checker bugs, unfixed UAT issues.
|
|
14
14
|
|
|
15
15
|
---
|
|
16
16
|
|
|
@@ -23,17 +23,14 @@ Created and updated by `/ms:audit-milestone`. Items persist across milestones. U
|
|
|
23
23
|
> Single source of truth for tech debt. Updated by `/ms:audit-milestone`.
|
|
24
24
|
> Address items via `/ms:adhoc` (1-2 tasks) or `/ms:insert-phase` (larger work).
|
|
25
25
|
|
|
26
|
-
##
|
|
26
|
+
## {Severity}
|
|
27
|
+
<!-- Sections in order: Critical, High, Medium, Low. Omit empty sections. -->
|
|
27
28
|
|
|
28
29
|
### TD-{N}: {Title}
|
|
29
|
-
- **Phase:** {source phase, e.g. 03-chat}
|
|
30
|
-
- **Source:** {verification | code-review | anti-pattern}
|
|
31
|
-
- **Severity:** {blocker | warning | info}
|
|
32
30
|
- **Location:** {file:line or component}
|
|
33
|
-
- **Impact:** {what this causes}
|
|
34
|
-
- **
|
|
35
|
-
-
|
|
36
|
-
- **Identified:** v{milestone} | {YYYY-MM-DD}
|
|
31
|
+
- **Impact:** {what this causes and why it matters}
|
|
32
|
+
- **Fix:** {how to address}
|
|
33
|
+
- <sub>Phase {source phase} | {verification | integration-check | code-review} | v{milestone}</sub>
|
|
37
34
|
|
|
38
35
|
---
|
|
39
36
|
|
|
@@ -50,9 +47,19 @@ Created and updated by `/ms:audit-milestone`. Items persist across milestones. U
|
|
|
50
47
|
## Guidelines
|
|
51
48
|
|
|
52
49
|
**Severity levels:**
|
|
53
|
-
- `
|
|
54
|
-
- `
|
|
55
|
-
- `
|
|
50
|
+
- `Critical` — Breaks behavior or risks data loss. Integration checker bugs (broken cross-phase wiring, failed E2E flows) always map here.
|
|
51
|
+
- `High` — Causes cascading changes if left unaddressed. Fragile patterns that spread to new code, missing abstractions forcing workarounds.
|
|
52
|
+
- `Medium` — Contained friction. TODOs, missing validation, incomplete error handling. Impact stays local.
|
|
53
|
+
- `Low` — Won't compound. Style inconsistencies, minor naming issues, improvement opportunities.
|
|
54
|
+
|
|
55
|
+
**Severity mapping from sources:**
|
|
56
|
+
- Integration checker bugs → Critical
|
|
57
|
+
- Unfixed UAT issues → Critical (blocker) / High (major) / Medium (minor) / Low (cosmetic)
|
|
58
|
+
- Code review findings → pass through reviewer severity (High/Medium/Low)
|
|
59
|
+
- Phase verification anti-patterns → Medium or Low (blockers go to `gaps`, not tech debt)
|
|
60
|
+
- Non-critical verification gaps → Medium
|
|
61
|
+
|
|
62
|
+
**Empty sections:** Omit severity sections with no items. Keep only sections that contain entries.
|
|
56
63
|
|
|
57
64
|
**De-duplication:** Match by location + description similarity. An item in Dismissed is never re-added as Active — if the same issue recurs, note it as a new item referencing the original.
|
|
58
65
|
|
|
@@ -23,13 +23,15 @@ This is the ritual that separates "development" from "shipped."
|
|
|
23
23
|
When a milestone completes, this workflow:
|
|
24
24
|
|
|
25
25
|
1. Cleans up raw phase artifacts (CONTEXT, DESIGN, RESEARCH, SUMMARY, UAT, VERIFICATION, EXECUTION-ORDER deleted)
|
|
26
|
-
2.
|
|
27
|
-
3.
|
|
28
|
-
4. Archives
|
|
29
|
-
5.
|
|
30
|
-
6.
|
|
31
|
-
7.
|
|
32
|
-
8.
|
|
26
|
+
2. Creates `.planning/milestones/v[X.Y]/` directory for all archive files
|
|
27
|
+
3. Extracts full milestone details to `.planning/milestones/v[X.Y]/ROADMAP.md`
|
|
28
|
+
4. Archives requirements to `.planning/milestones/v[X.Y]/REQUIREMENTS.md`
|
|
29
|
+
5. Archives milestone context to `.planning/milestones/v[X.Y]/CONTEXT.md`
|
|
30
|
+
6. Archives research files to `.planning/milestones/v[X.Y]/research/` (if exists)
|
|
31
|
+
7. Updates ROADMAP.md to replace milestone details with one-line summary
|
|
32
|
+
8. Deletes REQUIREMENTS.md (fresh one created for next milestone)
|
|
33
|
+
9. Performs full PROJECT.md evolution review
|
|
34
|
+
10. Routes to `/ms:new-milestone` for next milestone
|
|
33
35
|
|
|
34
36
|
Knowledge files in `.planning/knowledge/` persist across milestones (maintained by phase-level consolidation in execute-phase).
|
|
35
37
|
|
|
@@ -428,7 +430,11 @@ Extract completed milestone details and create archive file.
|
|
|
428
430
|
|
|
429
431
|
**Process:**
|
|
430
432
|
|
|
431
|
-
1. Create archive file
|
|
433
|
+
1. Create milestone directory and archive file:
|
|
434
|
+
```bash
|
|
435
|
+
mkdir -p .planning/milestones/v[X.Y]
|
|
436
|
+
```
|
|
437
|
+
Archive file path: `.planning/milestones/v[X.Y]/ROADMAP.md`
|
|
432
438
|
|
|
433
439
|
2. Read `~/.claude/mindsystem/templates/milestone-archive.md` template
|
|
434
440
|
|
|
@@ -453,7 +459,7 @@ Extract completed milestone details and create archive file.
|
|
|
453
459
|
- {{DECISIONS_FROM_PROJECT}} — Key decisions from PROJECT.md
|
|
454
460
|
- {{ISSUES_RESOLVED_DURING_MILESTONE}} — From summaries
|
|
455
461
|
|
|
456
|
-
6. Write filled template to `.planning/milestones/v[X.Y]
|
|
462
|
+
6. Write filled template to `.planning/milestones/v[X.Y]/ROADMAP.md`
|
|
457
463
|
|
|
458
464
|
7. Delete ROADMAP.md (fresh one created for next milestone):
|
|
459
465
|
```bash
|
|
@@ -462,13 +468,13 @@ Extract completed milestone details and create archive file.
|
|
|
462
468
|
|
|
463
469
|
8. Verify archive exists:
|
|
464
470
|
```bash
|
|
465
|
-
ls .planning/milestones/v[X.Y]
|
|
471
|
+
ls .planning/milestones/v[X.Y]/ROADMAP.md
|
|
466
472
|
```
|
|
467
473
|
|
|
468
474
|
9. Confirm roadmap archive complete:
|
|
469
475
|
|
|
470
476
|
```
|
|
471
|
-
✅ v[X.Y] roadmap archived to milestones/v[X.Y]
|
|
477
|
+
✅ v[X.Y] roadmap archived to milestones/v[X.Y]/ROADMAP.md
|
|
472
478
|
✅ ROADMAP.md deleted (fresh one for next milestone)
|
|
473
479
|
```
|
|
474
480
|
|
|
@@ -487,7 +493,7 @@ Archive requirements and prepare for fresh requirements in next milestone.
|
|
|
487
493
|
cat .planning/REQUIREMENTS.md
|
|
488
494
|
```
|
|
489
495
|
|
|
490
|
-
2. Create archive file: `.planning/milestones/v[X.Y]
|
|
496
|
+
2. Create archive file: `.planning/milestones/v[X.Y]/REQUIREMENTS.md`
|
|
491
497
|
|
|
492
498
|
3. Transform requirements for archive:
|
|
493
499
|
- Mark all v1 requirements as `[x]` complete
|
|
@@ -531,7 +537,7 @@ Archive requirements and prepare for fresh requirements in next milestone.
|
|
|
531
537
|
|
|
532
538
|
6. Confirm:
|
|
533
539
|
```
|
|
534
|
-
✅ Requirements archived to milestones/v[X.Y]
|
|
540
|
+
✅ Requirements archived to milestones/v[X.Y]/REQUIREMENTS.md
|
|
535
541
|
✅ REQUIREMENTS.md deleted (fresh one needed for next milestone)
|
|
536
542
|
```
|
|
537
543
|
|
|
@@ -544,13 +550,13 @@ Archive requirements and prepare for fresh requirements in next milestone.
|
|
|
544
550
|
Move the milestone audit file to the archive (if it exists):
|
|
545
551
|
|
|
546
552
|
```bash
|
|
547
|
-
# Move audit to
|
|
548
|
-
[ -f .planning/v[X.Y]-MILESTONE-AUDIT.md ] && mv .planning/v[X.Y]-MILESTONE-AUDIT.md .planning/milestones/
|
|
553
|
+
# Move audit to milestone folder (if exists)
|
|
554
|
+
[ -f .planning/v[X.Y]-MILESTONE-AUDIT.md ] && mv .planning/v[X.Y]-MILESTONE-AUDIT.md .planning/milestones/v[X.Y]/MILESTONE-AUDIT.md
|
|
549
555
|
```
|
|
550
556
|
|
|
551
557
|
Confirm:
|
|
552
558
|
```
|
|
553
|
-
✅ Audit archived to milestones/v[X.Y]
|
|
559
|
+
✅ Audit archived to milestones/v[X.Y]/MILESTONE-AUDIT.md
|
|
554
560
|
```
|
|
555
561
|
|
|
556
562
|
(Skip silently if no audit file exists — audit is optional)
|
|
@@ -562,18 +568,35 @@ Confirm:
|
|
|
562
568
|
Archive the milestone context file (if it exists):
|
|
563
569
|
|
|
564
570
|
```bash
|
|
565
|
-
[ -f .planning/MILESTONE-CONTEXT.md ] && mv .planning/MILESTONE-CONTEXT.md .planning/milestones/v[X.Y]
|
|
571
|
+
[ -f .planning/MILESTONE-CONTEXT.md ] && mv .planning/MILESTONE-CONTEXT.md .planning/milestones/v[X.Y]/CONTEXT.md
|
|
566
572
|
```
|
|
567
573
|
|
|
568
574
|
If archived:
|
|
569
575
|
```
|
|
570
|
-
✅ Context archived to milestones/v[X.Y]
|
|
576
|
+
✅ Context archived to milestones/v[X.Y]/CONTEXT.md
|
|
571
577
|
```
|
|
572
578
|
|
|
573
579
|
(Skip silently if no context file exists)
|
|
574
580
|
|
|
575
581
|
</step>
|
|
576
582
|
|
|
583
|
+
<step name="archive_research">
|
|
584
|
+
|
|
585
|
+
Archive research files to milestone (if research directory exists):
|
|
586
|
+
|
|
587
|
+
```bash
|
|
588
|
+
[ -d .planning/research ] && mv .planning/research .planning/milestones/v[X.Y]/research
|
|
589
|
+
```
|
|
590
|
+
|
|
591
|
+
If archived:
|
|
592
|
+
```
|
|
593
|
+
✅ Research archived to milestones/v[X.Y]/research/
|
|
594
|
+
```
|
|
595
|
+
|
|
596
|
+
(Skip silently if no research directory exists)
|
|
597
|
+
|
|
598
|
+
</step>
|
|
599
|
+
|
|
577
600
|
<step name="update_state">
|
|
578
601
|
|
|
579
602
|
Update STATE.md to reflect milestone completion.
|
|
@@ -645,28 +668,27 @@ git push origin v[X.Y]
|
|
|
645
668
|
Commit milestone completion including archive files and deletions.
|
|
646
669
|
|
|
647
670
|
```bash
|
|
648
|
-
# Stage archive
|
|
649
|
-
git add .planning/milestones/v[X.Y]
|
|
650
|
-
git add .planning/milestones/v[X.Y]-REQUIREMENTS.md
|
|
651
|
-
git add .planning/milestones/v[X.Y]-MILESTONE-AUDIT.md 2>/dev/null || true
|
|
652
|
-
git add .planning/milestones/v[X.Y]-CONTEXT.md 2>/dev/null || true
|
|
671
|
+
# Stage archive directory (covers ROADMAP, REQUIREMENTS, AUDIT, CONTEXT, research)
|
|
672
|
+
git add .planning/milestones/v[X.Y]/
|
|
653
673
|
|
|
654
674
|
# Stage updated files
|
|
655
675
|
git add .planning/MILESTONES.md
|
|
656
676
|
git add .planning/PROJECT.md
|
|
657
677
|
git add .planning/STATE.md
|
|
658
678
|
|
|
659
|
-
# Stage deletions (raw artifacts cleaned from phase directories)
|
|
679
|
+
# Stage deletions (raw artifacts cleaned from phase directories, research dir removed)
|
|
660
680
|
git add -u .planning/
|
|
661
681
|
|
|
662
682
|
# Commit with descriptive message
|
|
663
683
|
git commit -m "$(cat <<'EOF'
|
|
664
684
|
chore: complete v[X.Y] milestone
|
|
665
685
|
|
|
666
|
-
Archived
|
|
667
|
-
-
|
|
668
|
-
-
|
|
669
|
-
-
|
|
686
|
+
Archived to milestones/v[X.Y]/:
|
|
687
|
+
- ROADMAP.md
|
|
688
|
+
- REQUIREMENTS.md
|
|
689
|
+
- MILESTONE-AUDIT.md (if audit was run)
|
|
690
|
+
- CONTEXT.md (if milestone context existed)
|
|
691
|
+
- research/ (if research existed)
|
|
670
692
|
|
|
671
693
|
Cleaned:
|
|
672
694
|
- Raw phase artifacts (CONTEXT, DESIGN, RESEARCH, SUMMARY, UAT, VERIFICATION, EXECUTION-ORDER)
|
|
@@ -675,6 +697,7 @@ Cleaned:
|
|
|
675
697
|
Deleted (fresh for next milestone):
|
|
676
698
|
- ROADMAP.md
|
|
677
699
|
- REQUIREMENTS.md
|
|
700
|
+
- .planning/research/ (archived to milestone)
|
|
678
701
|
|
|
679
702
|
Updated:
|
|
680
703
|
- MILESTONES.md (new entry)
|
|
@@ -699,9 +722,10 @@ Shipped:
|
|
|
699
722
|
- [N] phases ([M] plans, [P] tasks)
|
|
700
723
|
- [One sentence of what shipped]
|
|
701
724
|
|
|
702
|
-
Archived
|
|
703
|
-
-
|
|
704
|
-
-
|
|
725
|
+
Archived to milestones/v[X.Y]/:
|
|
726
|
+
- ROADMAP.md
|
|
727
|
+
- REQUIREMENTS.md
|
|
728
|
+
- research/ (if existed)
|
|
705
729
|
|
|
706
730
|
Summary: .planning/MILESTONES.md
|
|
707
731
|
Tag: v[X.Y]
|
|
@@ -777,8 +801,10 @@ Milestone completion is successful when:
|
|
|
777
801
|
- [ ] All shipped requirements moved to Validated in PROJECT.md
|
|
778
802
|
- [ ] Key Decisions updated with outcomes
|
|
779
803
|
- [ ] ROADMAP.md reorganized with milestone grouping
|
|
780
|
-
- [ ]
|
|
781
|
-
- [ ]
|
|
804
|
+
- [ ] Milestone directory created (milestones/v[X.Y]/)
|
|
805
|
+
- [ ] Roadmap archive created (milestones/v[X.Y]/ROADMAP.md)
|
|
806
|
+
- [ ] Requirements archive created (milestones/v[X.Y]/REQUIREMENTS.md)
|
|
807
|
+
- [ ] Research archived to milestone (milestones/v[X.Y]/research/) if .planning/research/ existed
|
|
782
808
|
- [ ] REQUIREMENTS.md deleted (fresh for next milestone)
|
|
783
809
|
- [ ] STATE.md updated with fresh project reference
|
|
784
810
|
- [ ] Git tag created (v[X.Y])
|
|
@@ -91,7 +91,7 @@ If validation passes, proceed with wave execution.
|
|
|
91
91
|
<step name="read_execution_order">
|
|
92
92
|
Read EXECUTION-ORDER.md and parse wave structure:
|
|
93
93
|
|
|
94
|
-
Parse `## Wave N` headers with `- XX-PLAN.md` items under each. Build wave groups:
|
|
94
|
+
Parse `## Wave N` headers with `- {phase}-XX-PLAN.md` items under each. Build wave groups:
|
|
95
95
|
|
|
96
96
|
```
|
|
97
97
|
waves = {
|
|
@@ -74,7 +74,7 @@ ls .planning/codebase/*.md 2>/dev/null
|
|
|
74
74
|
| database, schema, models | ARCHITECTURE.md, STACK.md |
|
|
75
75
|
| testing, tests | TESTING.md, CONVENTIONS.md |
|
|
76
76
|
| integration, external API | INTEGRATIONS.md, STACK.md |
|
|
77
|
-
| refactor, cleanup | CONCERNS.md, ARCHITECTURE.md |
|
|
77
|
+
| refactor, cleanup, quality, tech debt | CONCERNS.md, ARCHITECTURE.md |
|
|
78
78
|
| setup, config | STACK.md, STRUCTURE.md |
|
|
79
79
|
| (default) | STACK.md, ARCHITECTURE.md |
|
|
80
80
|
|
package/package.json
CHANGED
|
@@ -40,12 +40,14 @@ if [ "$DISK_COUNT" -eq 0 ]; then
|
|
|
40
40
|
fi
|
|
41
41
|
|
|
42
42
|
# --- Parse EXECUTION-ORDER.md for plan filenames ---
|
|
43
|
-
|
|
43
|
+
# Pattern matches phase-prefixed names like 03-01-PLAN.md, 16-01-PLAN.md, 72.1-01-PLAN.md
|
|
44
|
+
ORDER_PLANS=$(grep -oE '[0-9][0-9.]*-[0-9]+-PLAN\.md' "$EXEC_ORDER" | sort -u)
|
|
44
45
|
ORDER_COUNT=$(echo "$ORDER_PLANS" | grep -c . 2>/dev/null || echo 0)
|
|
45
46
|
|
|
46
47
|
# --- Check 1: Every disk plan is listed in EXECUTION-ORDER.md ---
|
|
47
48
|
ERRORS=""
|
|
48
49
|
while IFS= read -r plan; do
|
|
50
|
+
[ -z "$plan" ] && continue
|
|
49
51
|
if ! echo "$ORDER_PLANS" | grep -qx "$plan"; then
|
|
50
52
|
ERRORS="${ERRORS} Missing from EXECUTION-ORDER.md: $plan\n"
|
|
51
53
|
fi
|
|
@@ -53,6 +55,7 @@ done <<< "$DISK_PLANS"
|
|
|
53
55
|
|
|
54
56
|
# --- Check 2: Every plan in EXECUTION-ORDER.md exists on disk ---
|
|
55
57
|
while IFS= read -r plan; do
|
|
58
|
+
[ -z "$plan" ] && continue
|
|
56
59
|
if ! echo "$DISK_PLANS" | grep -qx "$plan"; then
|
|
57
60
|
ERRORS="${ERRORS} Listed in EXECUTION-ORDER.md but file missing: $plan\n"
|
|
58
61
|
fi
|
|
@@ -75,7 +78,7 @@ while IFS= read -r line; do
|
|
|
75
78
|
WAVE_COUNT=$((WAVE_COUNT + 1))
|
|
76
79
|
WAVE_FILES[$CURRENT_WAVE]=""
|
|
77
80
|
elif [ -n "$CURRENT_WAVE" ]; then
|
|
78
|
-
PLAN_FILE=$(echo "$line" | grep -oE '[0-9]+-PLAN\.md' || true)
|
|
81
|
+
PLAN_FILE=$(echo "$line" | grep -oE '[0-9][0-9.]*-[0-9]+-PLAN\.md' || true)
|
|
79
82
|
if [ -n "$PLAN_FILE" ] && [ -f "$PHASE_DIR/$PLAN_FILE" ]; then
|
|
80
83
|
# Extract **Files:** lines from plan
|
|
81
84
|
FILE_PATHS=$(grep -E '^\*\*Files:\*\*' "$PHASE_DIR/$PLAN_FILE" | sed 's/\*\*Files:\*\*//g' | tr ',' '\n' | sed 's/`//g; s/^[[:space:]]*//; s/[[:space:]]*$//' | grep -v '^$' || true)
|