projecta-rrr 1.18.5 → 1.18.7

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,22 @@ 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.18.7] - 2026-02-03
8
+
9
+ ### Removed
10
+
11
+ - **HUD script** - Removed `rrr-hud.js` and `rrr-hud-dynamic.js` from all workflows and installation
12
+ - Was silently failing due to broken require path after install
13
+ - Inline status updates (from v1.18.4) provide equivalent feedback
14
+ - Removed from 11 workflow files, install.js, smoke test, prepublish check
15
+
16
+ ## [1.18.6] - 2026-02-01
17
+
18
+ ### Fixed
19
+
20
+ - **plan-phase milestone research lookup** - Now checks milestone research folder first, falls back to project research
21
+ - **create-roadmap milestone research lookup** - Now uses milestone-aware research context
22
+
7
23
  ## [1.18.5] - 2026-02-01
8
24
 
9
25
  ### Added
package/bin/install.js CHANGED
@@ -1119,28 +1119,6 @@ function install(isGlobal) {
1119
1119
  console.log(` ${green}✓${reset} Installed rrr/scripts/handoff-preflight.js`);
1120
1120
  }
1121
1121
 
1122
- // PATCH-01: Copy rrr-hud.js to ~/.claude/rrr/scripts/
1123
- // Visual HUD for project state display
1124
- const hudSrc = path.join(src, 'scripts', 'rrr-hud.js');
1125
- if (fs.existsSync(hudSrc)) {
1126
- const scriptsDestDir = path.join(claudeDir, 'rrr', 'scripts');
1127
- fs.mkdirSync(scriptsDestDir, { recursive: true });
1128
- const hudDest = path.join(scriptsDestDir, 'rrr-hud.js');
1129
- fs.copyFileSync(hudSrc, hudDest);
1130
- console.log(` ${green}✓${reset} Installed rrr/scripts/rrr-hud.js`);
1131
- }
1132
-
1133
- // PATCH-01: Copy rrr-hud-dynamic.js to ~/.claude/rrr/scripts/
1134
- // Dynamic HUD state sync from RRR project files
1135
- const hudDynamicSrc = path.join(src, 'scripts', 'rrr-hud-dynamic.js');
1136
- if (fs.existsSync(hudDynamicSrc)) {
1137
- const scriptsDestDir = path.join(claudeDir, 'rrr', 'scripts');
1138
- fs.mkdirSync(scriptsDestDir, { recursive: true });
1139
- const hudDynamicDest = path.join(scriptsDestDir, 'rrr-hud-dynamic.js');
1140
- fs.copyFileSync(hudDynamicSrc, hudDynamicDest);
1141
- console.log(` ${green}✓${reset} Installed rrr/scripts/rrr-hud-dynamic.js`);
1142
- }
1143
-
1144
1122
  // PATCH-01: Copy rrr-memory/ directory to ~/.claude/rrr/scripts/
1145
1123
  // Memory store and state detector for proactive guidance
1146
1124
  const rrrMemorySrc = path.join(src, 'scripts', 'rrr-memory');
@@ -23,11 +23,6 @@ Enables reviewing captured ideas and deciding what to work on next.
23
23
 
24
24
  <process>
25
25
 
26
- **Show HUD (first)**
27
- ```bash
28
- node ~/.claude/rrr/scripts/rrr-hud.js 2>/dev/null || echo "HUD skipped"
29
- ```
30
-
31
26
  <step name="check_exist">
32
27
  ```bash
33
28
  TODO_COUNT=$(ls .planning/todos/pending/*.md 2>/dev/null | wc -l | tr -d ' ')
@@ -37,11 +37,6 @@ Output: Milestone archived (roadmap + requirements), PROJECT.md evolved, git tag
37
37
 
38
38
  <process>
39
39
 
40
- **Show HUD (first)**
41
- ```bash
42
- node ~/.claude/rrr/scripts/rrr-hud.js 2>/dev/null || echo "HUD skipped"
43
- ```
44
-
45
40
  **Follow complete-milestone.md workflow:**
46
41
 
47
42
  0. **Check for audit:**
@@ -46,7 +46,11 @@ Roadmaps define what work happens in what order. Phases map to requirements.
46
46
  @.planning/PROJECT.md
47
47
  @.planning/config.json
48
48
  @.planning/REQUIREMENTS.md
49
- @.planning/research/SUMMARY.md (if exists)
49
+ @.planning/STATE.md (to detect active milestone)
50
+
51
+ **Research context (checked in order):**
52
+ 1. `.planning/milestones/vX.Y/research/SUMMARY.md` (milestone-specific)
53
+ 2. `.planning/research/SUMMARY.md` (project-level fallback)
50
54
  </context>
51
55
 
52
56
  <process>
@@ -28,11 +28,6 @@ ls .planning/debug/*.md 2>/dev/null | grep -v resolved | head -5
28
28
 
29
29
  <process>
30
30
 
31
- **Show HUD (first)**
32
- ```bash
33
- node ~/.claude/rrr/scripts/rrr-hud.js 2>/dev/null || echo "HUD skipped"
34
- ```
35
-
36
31
  ## 1. Check Active Sessions
37
32
 
38
33
  If active sessions exist AND no $ARGUMENTS:
@@ -38,12 +38,10 @@ Phase: $ARGUMENTS
38
38
 
39
39
  <process>
40
40
 
41
- 0. **Show HUD and refresh cache (first)**
41
+ 0. **Refresh scope cache (first)**
42
42
  ```bash
43
- node ~/.claude/rrr/scripts/rrr-hud.js 2>/dev/null || echo "HUD skipped"
44
43
  node ~/.claude/rrr/scripts/refresh-scope-cache.js 2>/dev/null || echo "Cache refresh skipped"
45
44
  ```
46
- Cross-platform: works in PowerShell on Windows. Shows visual project state before execution.
47
45
 
48
46
  1. **Validate phase exists**
49
47
  - Use `find_phase_dir()` from phase-paths library to locate phase directory:
@@ -48,13 +48,10 @@ Plan path: $ARGUMENTS
48
48
 
49
49
  <process>
50
50
 
51
- 0. **Refresh Scope Cache and HUD (first)**
51
+ 0. **Refresh Scope Cache (first)**
52
52
  ```bash
53
53
  node ~/.claude/rrr/scripts/refresh-scope-cache.js 2>/dev/null || echo "Cache refresh skipped"
54
- node ~/.claude/rrr/scripts/rrr-hud.js 2>/dev/null || echo "HUD skipped"
55
54
  ```
56
- Cross-platform: works in PowerShell on Windows. Path resolved to installed location.
57
- Shows visual project state before execution.
58
55
 
59
56
  0. **Track command in memory (before execution)**
60
57
  Parse the plan to extract intent from frontmatter and context, then track this execution:
@@ -37,11 +37,6 @@ Milestone name: $ARGUMENTS (optional - will prompt if not provided)
37
37
 
38
38
  <process>
39
39
 
40
- **Show HUD (first)**
41
- ```bash
42
- node ~/.claude/rrr/scripts/rrr-hud.js 2>/dev/null || echo "HUD skipped"
43
- ```
44
-
45
40
  1. **Load context:**
46
41
  - Read PROJECT.md (existing project, Validated requirements, decisions)
47
42
  - Read MILESTONES.md (what shipped previously)
@@ -19,11 +19,6 @@ Enables seamless resumption in fresh session with full context restoration.
19
19
 
20
20
  <process>
21
21
 
22
- **Show HUD (first)**
23
- ```bash
24
- node ~/.claude/rrr/scripts/rrr-hud.js 2>/dev/null || echo "HUD skipped"
25
- ```
26
-
27
22
  <step name="detect">
28
23
  Find current phase directory from most recently modified files.
29
24
  </step>
@@ -39,22 +39,40 @@ Phase number: $ARGUMENTS (optional - auto-detects next unplanned phase if not pr
39
39
  - `--gaps` — Gap closure mode (reads VERIFICATION.md, skips research)
40
40
  - `--skip-verify` — Skip planner → checker verification loop
41
41
 
42
- **Research defaults:** If `.planning/research/SUMMARY.md` exists (from `/rrr:new-project`), research is skipped by default unless:
42
+ **Research defaults:** If research SUMMARY.md exists (milestone or project level), research is skipped by default unless:
43
43
  - `--research` flag is set, OR
44
44
  - Phase involves risky domains (auth, payments, security, webhooks), OR
45
45
  - `.planning/codebase/` is missing for brownfield projects
46
46
 
47
+ **Research location (checked in order):**
48
+ 1. `.planning/milestones/vX.Y/research/SUMMARY.md` (milestone-specific)
49
+ 2. `.planning/research/SUMMARY.md` (project-level fallback)
50
+
47
51
  Check for existing research and plans:
48
52
 
49
53
  **On macOS/Linux:**
50
54
  ```bash
55
+ # Detect active milestone
56
+ ACTIVE_MILESTONE=$(grep -oE "Milestone:\\s*v[0-9]+\\.[0-9]+" .planning/STATE.md 2>/dev/null | grep -oE "v[0-9]+\\.[0-9]+")
57
+
58
+ # Check for research (milestone-specific first, then project-level)
59
+ RESEARCH_DIR=""
60
+ if [ -n "$ACTIVE_MILESTONE" ] && [ -f ".planning/milestones/${ACTIVE_MILESTONE}/research/SUMMARY.md" ]; then
61
+ RESEARCH_DIR=".planning/milestones/${ACTIVE_MILESTONE}/research"
62
+ echo "HAS_MILESTONE_RESEARCH: $ACTIVE_MILESTONE"
63
+ elif [ -f .planning/research/SUMMARY.md ]; then
64
+ RESEARCH_DIR=".planning/research"
65
+ echo "HAS_PROJECT_RESEARCH"
66
+ else
67
+ echo "NO_RESEARCH"
68
+ fi
69
+
51
70
  # Use library to find phase directory first (searches both old and new structures)
52
71
  PHASE_DIR=$(find_phase_dir "$PHASE")
53
72
  if [ -n "$PHASE_DIR" ]; then
54
73
  ls "${PHASE_DIR}"/*-RESEARCH.md 2>/dev/null
55
74
  ls "${PHASE_DIR}"/*-PLAN.md 2>/dev/null
56
75
  fi
57
- ls .planning/research/SUMMARY.md 2>/dev/null
58
76
  ```
59
77
 
60
78
  **On Windows (Platform: win32):**
@@ -65,18 +83,18 @@ Use Glob tool with both structures:
65
83
  - Then search within found directory:
66
84
  - `Glob pattern: "{PHASE_DIR}/*-RESEARCH.md"`
67
85
  - `Glob pattern: "{PHASE_DIR}/*-PLAN.md"`
68
- - `Glob pattern: ".planning/research/SUMMARY.md"`
86
+ - Check research (milestone first, then project):
87
+ - `Glob pattern: ".planning/milestones/v*/research/SUMMARY.md"`
88
+ - `Glob pattern: ".planning/research/SUMMARY.md"`
69
89
 
70
90
  </context>
71
91
 
72
92
  <process>
73
93
 
74
- 0. **Show HUD and refresh cache (first)**
94
+ 0. **Refresh scope cache (first)**
75
95
  ```bash
76
- node ~/.claude/rrr/scripts/rrr-hud.js 2>/dev/null || echo "HUD skipped"
77
96
  node ~/.claude/rrr/scripts/refresh-scope-cache.js 2>/dev/null || echo "Cache refresh skipped"
78
97
  ```
79
- Cross-platform: works in PowerShell on Windows. Shows visual context before planning.
80
98
 
81
99
  ## 1. Validate Environment (Cross-Platform)
82
100
 
@@ -490,16 +508,19 @@ fi
490
508
 
491
509
  **Smart research guardrails (default behavior):**
492
510
 
493
- Check for project-level research:
511
+ Check for research (milestone-specific first, then project-level):
494
512
 
495
513
  **On macOS/Linux:**
496
514
  ```bash
497
- ls .planning/research/SUMMARY.md 2>/dev/null
515
+ # Detect active milestone and find research (already set in context step)
516
+ # RESEARCH_DIR is set to milestone research or project research path
517
+ ls "${RESEARCH_DIR}/SUMMARY.md" 2>/dev/null
498
518
  ls "${PHASE_DIR}"/*-RESEARCH.md 2>/dev/null
499
519
  ```
500
520
 
501
521
  **On Windows:**
502
- - `Glob pattern: ".planning/research/SUMMARY.md"`
522
+ - `Glob pattern: ".planning/milestones/v*/research/SUMMARY.md"` (milestone first)
523
+ - `Glob pattern: ".planning/research/SUMMARY.md"` (project fallback)
503
524
  - `Glob pattern: "${PHASE_DIR}/*-RESEARCH.md"`
504
525
 
505
526
  **Research Decision Matrix:**
@@ -508,8 +529,9 @@ ls "${PHASE_DIR}"/*-RESEARCH.md 2>/dev/null
508
529
  |-----------|--------|
509
530
  | `--research` flag set | Force research (override all) |
510
531
  | Phase-level RESEARCH.md exists | Use existing, skip to step 6 |
532
+ | Milestone-level SUMMARY.md exists AND phase is NOT risky | Skip research, display: `Using milestone research from /rrr:new-milestone` |
511
533
  | Project-level SUMMARY.md exists AND phase is NOT risky | Skip research, display: `Using project research from /rrr:new-project` |
512
- | Project-level SUMMARY.md exists AND phase IS risky | Run research (risky domains need phase-specific research) |
534
+ | Research SUMMARY.md exists AND phase IS risky | Run research (risky domains need phase-specific research) |
513
535
  | Neither research exists | Run research |
514
536
 
515
537
  **Risky domain detection:** Phase name or description contains: `auth`, `payment`, `security`, `webhook`, `oauth`, `stripe`, `bank`, `credential`, `encryption`, `api-key`.
@@ -24,20 +24,13 @@ Provides situational awareness before continuing work.
24
24
  <process>
25
25
 
26
26
  <step name="refresh_cache">
27
- **Refresh Scope Cache and HUD (first, before any reads):**
27
+ **Refresh Scope Cache (first, before any reads):**
28
28
 
29
- **On macOS/Linux:**
30
29
  ```bash
31
30
  node ~/.claude/rrr/scripts/refresh-scope-cache.js 2>/dev/null || echo "Cache refresh skipped"
32
- node ~/.claude/rrr/scripts/rrr-hud.js 2>/dev/null || echo "HUD skipped"
33
31
  ```
34
32
 
35
- **On Windows (Platform: win32):**
36
- Same commands work in PowerShell. If Node unavailable, skip silently.
37
-
38
- **Note:** Paths resolve to installed location (e.g., `$HOME/.claude/` or `./.claude/`).
39
-
40
- This ensures SCOPE_CACHE.md is current and shows visual HUD before displaying status.
33
+ Cross-platform: works in PowerShell on Windows. Ensures SCOPE_CACHE.md is current.
41
34
  </step>
42
35
 
43
36
  <step name="verify">
@@ -27,15 +27,12 @@ Routes to the resume-project workflow which handles:
27
27
 
28
28
  <process>
29
29
 
30
- **0. Show HUD and refresh cache (first)**
30
+ **0. Refresh scope cache (first)**
31
31
 
32
32
  ```bash
33
- node ~/.claude/rrr/scripts/rrr-hud.js 2>/dev/null || echo "HUD skipped"
34
33
  node ~/.claude/rrr/scripts/refresh-scope-cache.js 2>/dev/null || echo "Cache refresh skipped"
35
34
  ```
36
35
 
37
- Cross-platform: works in PowerShell on Windows. Shows visual project state on resume.
38
-
39
36
  **Follow the resume-project workflow** from `@~/.claude/rrr/workflows/resume-project.md`.
40
37
 
41
38
  The workflow handles all resumption logic including:
@@ -76,12 +76,10 @@ Validate built features through **audit mode by default**, or interactive UAT wi
76
76
 
77
77
  <process>
78
78
 
79
- 0. **Show HUD and refresh cache (first)**
79
+ 0. **Refresh scope cache (first)**
80
80
  ```bash
81
- node ~/.claude/rrr/scripts/rrr-hud.js 2>/dev/null || echo "HUD skipped"
82
81
  node ~/.claude/rrr/scripts/refresh-scope-cache.js 2>/dev/null || echo "Cache refresh skipped"
83
82
  ```
84
- Cross-platform: works in PowerShell on Windows. Shows visual project state and drift before verification.
85
83
 
86
84
  </process>
87
85
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "projecta-rrr",
3
- "version": "1.18.5",
3
+ "version": "1.18.7",
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"
@@ -76,7 +76,6 @@ const criticalFiles = [
76
76
  // PATCH-01 critical files
77
77
  const patch01Files = [
78
78
  'rrr/lib/memory-store.js',
79
- 'scripts/rrr-hud.js',
80
79
  'scripts/rrr-memory/state-detector.js',
81
80
  'scripts/handoff-preflight.js'
82
81
  ];
@@ -36,7 +36,6 @@ const CRITICAL_SKILLS = [
36
36
  const PATCH01_FILES = [
37
37
  'rrr/lib/memory-store.js',
38
38
  'rrr/scripts/handoff-preflight.js',
39
- 'rrr/scripts/rrr-hud.js',
40
39
  'rrr/scripts/rrr-memory/state-detector.js'
41
40
  ];
42
41