projecta-rrr 1.15.0 → 1.15.2
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/package.json +1 -1
- package/rrr/workflows/complete-milestone.md +120 -25
package/package.json
CHANGED
|
@@ -421,17 +421,17 @@ Extract completed milestone details and create archive file.
|
|
|
421
421
|
|
|
422
422
|
**Process:**
|
|
423
423
|
|
|
424
|
-
1. Ensure
|
|
424
|
+
1. Ensure milestone directory exists (Cross-Platform):
|
|
425
425
|
|
|
426
426
|
**On macOS/Linux:**
|
|
427
427
|
```bash
|
|
428
|
-
mkdir -p .planning/
|
|
428
|
+
mkdir -p .planning/milestones/v[X.Y]
|
|
429
429
|
```
|
|
430
430
|
|
|
431
431
|
**On Windows:**
|
|
432
432
|
Use Write tool to create a placeholder file, or directory will be created when writing archive.
|
|
433
433
|
|
|
434
|
-
2. Create archive file path: `.planning/
|
|
434
|
+
2. Create archive file path: `.planning/milestones/v[X.Y]/ROADMAP.md`
|
|
435
435
|
|
|
436
436
|
3. Read `~/.claude/rrr/templates/milestone-archive.md` template
|
|
437
437
|
|
|
@@ -456,17 +456,17 @@ Extract completed milestone details and create archive file.
|
|
|
456
456
|
- {{DECISIONS_FROM_PROJECT}} — Key decisions from PROJECT.md
|
|
457
457
|
- {{ISSUES_RESOLVED_DURING_MILESTONE}} — From summaries
|
|
458
458
|
|
|
459
|
-
7. Write filled template to `.planning/
|
|
459
|
+
7. Write filled template to `.planning/milestones/v[X.Y]/ROADMAP.md`
|
|
460
460
|
|
|
461
461
|
8. Verify archive exists (Cross-Platform):
|
|
462
462
|
|
|
463
463
|
**On macOS/Linux:**
|
|
464
464
|
```bash
|
|
465
|
-
ls .planning/
|
|
465
|
+
ls .planning/milestones/v[X.Y]/ROADMAP.md
|
|
466
466
|
```
|
|
467
467
|
|
|
468
468
|
**On Windows:**
|
|
469
|
-
Use Glob tool: `pattern: ".planning/
|
|
469
|
+
Use Glob tool: `pattern: ".planning/milestones/v[X.Y]/ROADMAP.md"`
|
|
470
470
|
|
|
471
471
|
9. **Create fresh ROADMAP.md** (CRITICAL: must always exist):
|
|
472
472
|
|
|
@@ -480,7 +480,7 @@ Extract completed milestone details and create archive file.
|
|
|
480
480
|
## Completed Milestones
|
|
481
481
|
|
|
482
482
|
- ✅ **v[X.Y] [Name]** — Phases [X-Y] (shipped [DATE])
|
|
483
|
-
- Archive: `.planning/
|
|
483
|
+
- Archive: `.planning/milestones/v[X.Y]/`
|
|
484
484
|
|
|
485
485
|
## Next Milestone
|
|
486
486
|
|
|
@@ -506,7 +506,7 @@ Extract completed milestone details and create archive file.
|
|
|
506
506
|
✅ Fresh ROADMAP.md created (between milestones state)
|
|
507
507
|
```
|
|
508
508
|
|
|
509
|
-
**Note:** Phase directories
|
|
509
|
+
**Note:** Phase directories are moved to `.planning/milestones/v[X.Y]/phases/` in the next step. This keeps each milestone's execution history self-contained in its archive folder.
|
|
510
510
|
|
|
511
511
|
</step>
|
|
512
512
|
|
|
@@ -521,7 +521,7 @@ Archive requirements and prepare for fresh requirements in next milestone.
|
|
|
521
521
|
cat .planning/REQUIREMENTS.md
|
|
522
522
|
```
|
|
523
523
|
|
|
524
|
-
2. Create archive file: `.planning/milestones/v[X.Y]
|
|
524
|
+
2. Create archive file: `.planning/milestones/v[X.Y]/REQUIREMENTS.md`
|
|
525
525
|
|
|
526
526
|
3. Transform requirements for archive:
|
|
527
527
|
- Mark all v1 requirements as `[x]` complete
|
|
@@ -565,7 +565,7 @@ Archive requirements and prepare for fresh requirements in next milestone.
|
|
|
565
565
|
|
|
566
566
|
6. Confirm:
|
|
567
567
|
```
|
|
568
|
-
✅ Requirements archived to milestones/v[X.Y]
|
|
568
|
+
✅ Requirements archived to milestones/v[X.Y]/REQUIREMENTS.md
|
|
569
569
|
✅ REQUIREMENTS.md deleted (fresh one needed for next milestone)
|
|
570
570
|
```
|
|
571
571
|
|
|
@@ -578,19 +578,112 @@ Archive requirements and prepare for fresh requirements in next milestone.
|
|
|
578
578
|
Move the milestone audit file to the archive (if it exists):
|
|
579
579
|
|
|
580
580
|
```bash
|
|
581
|
-
# Move audit to
|
|
582
|
-
[ -f .planning/v[X.Y]-MILESTONE-AUDIT.md ] && mv .planning/v[X.Y]-MILESTONE-AUDIT.md .planning/milestones/
|
|
581
|
+
# Move audit to milestone folder (if exists)
|
|
582
|
+
[ -f .planning/v[X.Y]-MILESTONE-AUDIT.md ] && mv .planning/v[X.Y]-MILESTONE-AUDIT.md .planning/milestones/v[X.Y]/MILESTONE-AUDIT.md
|
|
583
583
|
```
|
|
584
584
|
|
|
585
585
|
Confirm:
|
|
586
586
|
```
|
|
587
|
-
✅ Audit archived to milestones/v[X.Y]
|
|
587
|
+
✅ Audit archived to milestones/v[X.Y]/MILESTONE-AUDIT.md
|
|
588
588
|
```
|
|
589
589
|
|
|
590
590
|
(Skip silently if no audit file exists — audit is optional)
|
|
591
591
|
|
|
592
592
|
</step>
|
|
593
593
|
|
|
594
|
+
<step name="move_phases">
|
|
595
|
+
|
|
596
|
+
Move completed milestone phase directories to the milestone archive folder.
|
|
597
|
+
|
|
598
|
+
**Process:**
|
|
599
|
+
|
|
600
|
+
1. Create milestone phases directory:
|
|
601
|
+
```bash
|
|
602
|
+
mkdir -p .planning/milestones/v[X.Y]/phases
|
|
603
|
+
```
|
|
604
|
+
|
|
605
|
+
2. Get list of phases in this milestone (from roadmap archive or phase numbers):
|
|
606
|
+
```bash
|
|
607
|
+
# For each phase number in milestone range (e.g., 47-51):
|
|
608
|
+
for phase_num in {PHASE_START}..{PHASE_END}; do
|
|
609
|
+
# Find phase directory by number prefix
|
|
610
|
+
phase_dir=$(ls -d .planning/phases/${phase_num}-* 2>/dev/null | head -1)
|
|
611
|
+
if [ -n "$phase_dir" ] && [ -d "$phase_dir" ]; then
|
|
612
|
+
mv "$phase_dir" .planning/milestones/v[X.Y]/phases/
|
|
613
|
+
fi
|
|
614
|
+
done
|
|
615
|
+
```
|
|
616
|
+
|
|
617
|
+
3. Verify phases moved (Cross-Platform):
|
|
618
|
+
|
|
619
|
+
**On macOS/Linux:**
|
|
620
|
+
```bash
|
|
621
|
+
ls .planning/milestones/v[X.Y]/phases/
|
|
622
|
+
```
|
|
623
|
+
|
|
624
|
+
**On Windows:**
|
|
625
|
+
Use Glob: `pattern: ".planning/milestones/v[X.Y]/phases/*"`
|
|
626
|
+
|
|
627
|
+
4. Confirm:
|
|
628
|
+
```
|
|
629
|
+
✅ Phases [PHASE_START]-[PHASE_END] moved to milestones/v[X.Y]/phases/
|
|
630
|
+
```
|
|
631
|
+
|
|
632
|
+
**Why move phases:**
|
|
633
|
+
- Keeps milestone archives self-contained (roadmap + requirements + phases)
|
|
634
|
+
- `.planning/phases/` only contains active/upcoming work
|
|
635
|
+
- Reduces clutter in phases directory as project matures
|
|
636
|
+
- Phase lookup still works via `find_phase_dir()` which searches both locations
|
|
637
|
+
|
|
638
|
+
</step>
|
|
639
|
+
|
|
640
|
+
<step name="consolidate_legacy_files">
|
|
641
|
+
|
|
642
|
+
Consolidate any scattered milestone files from older formats into the unified folder structure.
|
|
643
|
+
|
|
644
|
+
**Process:**
|
|
645
|
+
|
|
646
|
+
This step cleans up legacy file locations from before the unified milestone folder structure was introduced.
|
|
647
|
+
|
|
648
|
+
```bash
|
|
649
|
+
# For each milestone folder that exists
|
|
650
|
+
for milestone_dir in .planning/milestones/v*/; do
|
|
651
|
+
version=$(basename "$milestone_dir") # e.g., "v1.10"
|
|
652
|
+
|
|
653
|
+
# Move scattered REQUIREMENTS file if exists at milestones/ level
|
|
654
|
+
[ -f ".planning/milestones/${version}-REQUIREMENTS.md" ] && \
|
|
655
|
+
mv ".planning/milestones/${version}-REQUIREMENTS.md" "${milestone_dir}REQUIREMENTS.md"
|
|
656
|
+
|
|
657
|
+
# Move scattered MILESTONE-AUDIT file if exists at milestones/ level
|
|
658
|
+
[ -f ".planning/milestones/${version}-MILESTONE-AUDIT.md" ] && \
|
|
659
|
+
mv ".planning/milestones/${version}-MILESTONE-AUDIT.md" "${milestone_dir}MILESTONE-AUDIT.md"
|
|
660
|
+
|
|
661
|
+
# Move scattered ROADMAP file if exists at milestones/ level
|
|
662
|
+
[ -f ".planning/milestones/${version}-ROADMAP.md" ] && \
|
|
663
|
+
mv ".planning/milestones/${version}-ROADMAP.md" "${milestone_dir}ROADMAP.md"
|
|
664
|
+
|
|
665
|
+
# Move ROADMAP from archived/roadmaps/ if exists there
|
|
666
|
+
[ -f ".planning/archived/roadmaps/ROADMAP-${version}.md" ] && \
|
|
667
|
+
mv ".planning/archived/roadmaps/ROADMAP-${version}.md" "${milestone_dir}ROADMAP.md"
|
|
668
|
+
done
|
|
669
|
+
|
|
670
|
+
# Clean up empty archived directory if all roadmaps moved
|
|
671
|
+
rmdir .planning/archived/roadmaps 2>/dev/null || true
|
|
672
|
+
rmdir .planning/archived 2>/dev/null || true
|
|
673
|
+
```
|
|
674
|
+
|
|
675
|
+
**Confirm (only if files were moved):**
|
|
676
|
+
```
|
|
677
|
+
✅ Consolidated legacy milestone files into unified folders
|
|
678
|
+
```
|
|
679
|
+
|
|
680
|
+
**Why consolidate:**
|
|
681
|
+
- Maintains backwards compatibility with older projects
|
|
682
|
+
- Ensures all milestone data is in one place
|
|
683
|
+
- Simplifies navigation and backup
|
|
684
|
+
|
|
685
|
+
</step>
|
|
686
|
+
|
|
594
687
|
<step name="update_state">
|
|
595
688
|
|
|
596
689
|
Update STATE.md to reflect milestone completion.
|
|
@@ -662,10 +755,8 @@ git push origin v[X.Y]
|
|
|
662
755
|
Commit milestone completion including archive files.
|
|
663
756
|
|
|
664
757
|
```bash
|
|
665
|
-
# Stage archive
|
|
666
|
-
git add .planning/
|
|
667
|
-
git add .planning/milestones/v[X.Y]-REQUIREMENTS.md
|
|
668
|
-
git add .planning/milestones/v[X.Y]-MILESTONE-AUDIT.md 2>/dev/null || true
|
|
758
|
+
# Stage milestone archive folder (contains ROADMAP.md, REQUIREMENTS.md, MILESTONE-AUDIT.md, phases/)
|
|
759
|
+
git add .planning/milestones/v[X.Y]/
|
|
669
760
|
|
|
670
761
|
# Stage updated/created files
|
|
671
762
|
git add .planning/MILESTONES.md
|
|
@@ -680,16 +771,18 @@ git add -u .planning/REQUIREMENTS.md 2>/dev/null || true
|
|
|
680
771
|
git commit -m "$(cat <<'EOF'
|
|
681
772
|
chore: complete v[X.Y] milestone
|
|
682
773
|
|
|
683
|
-
Archived
|
|
684
|
-
-
|
|
685
|
-
-
|
|
686
|
-
-
|
|
774
|
+
Archived to milestones/v[X.Y]/:
|
|
775
|
+
- ROADMAP.md (milestone roadmap)
|
|
776
|
+
- REQUIREMENTS.md (milestone requirements)
|
|
777
|
+
- MILESTONE-AUDIT.md (if audit was run)
|
|
778
|
+
- phases/ (all phase directories moved)
|
|
687
779
|
|
|
688
780
|
Created:
|
|
689
781
|
- ROADMAP.md (fresh, between milestones state)
|
|
690
782
|
|
|
691
783
|
Deleted:
|
|
692
784
|
- REQUIREMENTS.md (fresh one needed for next milestone)
|
|
785
|
+
- phases/[X]-* through phases/[Y]-* (moved to milestone folder)
|
|
693
786
|
|
|
694
787
|
Updated:
|
|
695
788
|
- MILESTONES.md (new entry)
|
|
@@ -715,8 +808,7 @@ Shipped:
|
|
|
715
808
|
- [One sentence of what shipped]
|
|
716
809
|
|
|
717
810
|
Archived:
|
|
718
|
-
- milestones/v[X.Y]
|
|
719
|
-
- milestones/v[X.Y]-REQUIREMENTS.md
|
|
811
|
+
- milestones/v[X.Y]/ (ROADMAP.md, REQUIREMENTS.md, phases/)
|
|
720
812
|
|
|
721
813
|
Summary: .planning/MILESTONES.md
|
|
722
814
|
Tag: v[X.Y]
|
|
@@ -791,10 +883,13 @@ Milestone completion is successful when:
|
|
|
791
883
|
- [ ] PROJECT.md full evolution review completed
|
|
792
884
|
- [ ] All shipped requirements moved to Validated in PROJECT.md
|
|
793
885
|
- [ ] Key Decisions updated with outcomes
|
|
794
|
-
- [ ]
|
|
886
|
+
- [ ] Milestone folder created (milestones/v[X.Y]/)
|
|
887
|
+
- [ ] Roadmap archive created (milestones/v[X.Y]/ROADMAP.md)
|
|
795
888
|
- [ ] Fresh ROADMAP.md created (between milestones state) — MUST ALWAYS EXIST
|
|
796
|
-
- [ ] Requirements archive created (milestones/v[X.Y]
|
|
889
|
+
- [ ] Requirements archive created (milestones/v[X.Y]/REQUIREMENTS.md)
|
|
797
890
|
- [ ] REQUIREMENTS.md deleted (fresh for next milestone)
|
|
891
|
+
- [ ] Phase directories moved to milestones/v[X.Y]/phases/
|
|
892
|
+
- [ ] Legacy scattered files consolidated into milestone folders
|
|
798
893
|
- [ ] STATE.md updated with fresh project reference
|
|
799
894
|
- [ ] Git tag created (v[X.Y])
|
|
800
895
|
- [ ] Milestone commit made (includes archive files)
|