projecta-rrr 1.16.8 → 1.16.9

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/CHANGELOG.md CHANGED
@@ -4,6 +4,12 @@ All notable changes to RRR will be documented in this file.
4
4
 
5
5
  Format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
6
6
 
7
+ ## [1.16.9] - 2026-01-28
8
+
9
+ ### Fixed
10
+
11
+ - **SUMMARY Path Derivation Bug** - During parallel wave execution, SUMMARY files were incorrectly written to the wrong phase directory because `PHASE_DIR` was derived from where the PLAN file physically existed rather than from the PLAN's `phase:` frontmatter value. Now uses `find_phase_dir()` with phase frontmatter to ensure SUMMARYs always go to the correct phase folder.
12
+
7
13
  ## [1.16.8] - 2026-01-28
8
14
 
9
15
  ### Added
@@ -601,10 +601,25 @@ Track for SUMMARY.md generation.
601
601
  <summary_creation>
602
602
  After all tasks complete, create `{phase}-{plan}-SUMMARY.md`.
603
603
 
604
- **Location:** `{phase-dir}/{phase}-{plan}-SUMMARY.md`
604
+ **Location calculation (milestone-aware):**
605
+
606
+ ```bash
607
+ # Extract phase from PLAN frontmatter (NOT from file location)
608
+ PLAN_PATH="$phase_dir/$phase-$plan-PLAN.md"
609
+ PHASE_VALUE=$(grep -E "^phase:" "$PLAN_PATH" | sed 's/phase: *"\?//' | tr -d '"')
610
+
611
+ # Use find_phase_dir to get the correct phase directory
612
+ # Searches .planning/milestones/vX.X/phases/ first, then falls back to .planning/phases/
613
+ PHASE_DIR=$(find_phase_dir "$PHASE_VALUE")
614
+
615
+ # Build SUMMARY path
616
+ SUMMARY_FILE="${PHASE_DIR}/${phase}-${plan}-SUMMARY.md"
617
+ ```
605
618
 
606
619
  **Phase directory:** `.planning/milestones/v{X.Y}/phases/{phase-number}-{name}/` (milestone-aware structure since v1.11)
607
620
 
621
+ The SUMMARY goes to the phase directory matching the PLAN's `phase:` frontmatter value, not where the PLAN file physically exists. This ensures consistent behavior during parallel execution.
622
+
608
623
  **Use template from:** @~/.claude/rrr/templates/summary.md
609
624
 
610
625
  **Frontmatter population:**
@@ -717,7 +732,7 @@ After SUMMARY.md and STATE.md updates:
717
732
  **1. Stage execution artifacts:**
718
733
 
719
734
  ```bash
720
- git add "{phase-dir}/{phase}-{plan}-SUMMARY.md"
735
+ git add "${PHASE_DIR}/${phase}-${plan}-SUMMARY.md"
721
736
  git add .planning/STATE.md
722
737
  ```
723
738
 
@@ -730,7 +745,7 @@ Tasks completed: [N]/[N]
730
745
  - [Task 1 name]
731
746
  - [Task 2 name]
732
747
 
733
- SUMMARY: {phase-dir}/{phase}-{plan}-SUMMARY.md
748
+ SUMMARY: ${PHASE_DIR}/${phase}-${plan}-SUMMARY.md
734
749
  "
735
750
  ```
736
751
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "projecta-rrr",
3
- "version": "1.16.8",
3
+ "version": "1.16.9",
4
4
  "description": "A meta-prompting, context engineering and spec-driven development system for Claude Code by Projecta.ai",
5
5
  "bin": {
6
6
  "projecta-rrr": "bin/install.js"
@@ -1498,9 +1498,17 @@ Set `USER_SETUP_CREATED=true` if file was generated, for use in completion messa
1498
1498
  **1. Calculate expected SUMMARY path:**
1499
1499
 
1500
1500
  ```bash
1501
- # Calculate expected SUMMARY path
1501
+ # Calculate expected SUMMARY path using phase frontmatter (not file location)
1502
+ # This ensures SUMMARY goes to correct phase directory during parallel execution
1502
1503
  PLAN_FILE="${PLAN_PATH}" # e.g., .planning/milestones/v1.16/phases/17-e2e-scaffold-detection/17-03-PLAN.md
1503
- PHASE_DIR=$(dirname "$PLAN_FILE")
1504
+
1505
+ # Extract phase from PLAN frontmatter - NOT from file location
1506
+ PHASE_VALUE=$(grep -E "^phase:" "$PLAN_FILE" | sed 's/phase: *"\?//' | tr -d '"')
1507
+
1508
+ # Use find_phase_dir to get correct phase directory (milestone-aware)
1509
+ # Searches .planning/milestones/vX.X/phases/ first, then falls back to .planning/phases/
1510
+ PHASE_DIR=$(find_phase_dir "$PHASE_VALUE")
1511
+
1504
1512
  PLAN_ID=$(basename "$PLAN_FILE" | sed 's/-PLAN\.md$//')
1505
1513
  SUMMARY_FILE="${PHASE_DIR}/${PLAN_ID}-SUMMARY.md"
1506
1514
  ```
@@ -1554,7 +1562,7 @@ If user chooses "Cancel completion":
1554
1562
  Create `{phase}-{plan}-SUMMARY.md` as specified in the prompt's `<output>` section.
1555
1563
  Use ~/.claude/rrr/templates/summary.md for structure.
1556
1564
 
1557
- **File location:** `{phase_dir}/{phase}-{plan}-SUMMARY.md`
1565
+ **File location:** `${PHASE_DIR}/${phase}-${plan}-SUMMARY.md` (derived from PLAN frontmatter via `find_phase_dir`)
1558
1566
 
1559
1567
  **Frontmatter population:**
1560
1568
 
@@ -1770,7 +1778,7 @@ PLAN.md was already committed during plan-phase. This final commit captures exec
1770
1778
  **1. Stage execution artifacts:**
1771
1779
 
1772
1780
  ```bash
1773
- git add {phase_dir}/{phase}-{plan}-SUMMARY.md
1781
+ git add "${PHASE_DIR}/${phase}-${plan}-SUMMARY.md"
1774
1782
  git add .planning/STATE.md
1775
1783
  ```
1776
1784
 
@@ -1798,7 +1806,7 @@ Tasks completed: [N]/[N]
1798
1806
  - [Task 2 name]
1799
1807
  - [Task 3 name]
1800
1808
 
1801
- SUMMARY: {phase_dir}/{phase}-{plan}-SUMMARY.md
1809
+ SUMMARY: ${PHASE_DIR}/${phase}-${plan}-SUMMARY.md
1802
1810
  EOF
1803
1811
  )"
1804
1812
  ```