projecta-rrr 1.18.4 → 1.18.6

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,35 @@ 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.6] - 2026-02-01
8
+
9
+ ### Fixed
10
+
11
+ - **plan-phase milestone research lookup** - Now checks milestone research folder first, falls back to project research
12
+ - **create-roadmap milestone research lookup** - Now uses milestone-aware research context
13
+
14
+ ## [1.18.5] - 2026-02-01
15
+
16
+ ### Added
17
+
18
+ - **Two-tier research architecture** - Project research (foundational) + Milestone research (tactical)
19
+ - Project research: `.planning/research/` — domain ecosystem, done once at project start
20
+ - Milestone research: `.planning/milestones/vX.Y/research/` — tactical research per milestone
21
+ - Milestone research inherits from project research and can update ROADMAP.md/REQUIREMENTS.md
22
+
23
+ ### Changed
24
+
25
+ - **REQUIREMENTS.md** - Now has milestone sections (Validated, Active, Future Candidates)
26
+ - **`/rrr:new-milestone`** - Added milestone research step with inheritance
27
+ - **`/rrr:define-requirements`** - Checks milestone research folder first, falls back to project
28
+ - **`rrr-project-researcher`** - Dual-mode: project vs milestone research
29
+ - **`rrr-research-synthesizer`** - Supports both paths, adds "Suggested Project Updates" for milestone
30
+
31
+ ### Removed
32
+
33
+ - Stale pushpa phase folders (29, 30)
34
+ - Misplaced v1.18-context-aware research (moved to proper milestone folder)
35
+
7
36
  ## [1.18.4] - 2026-02-01
8
37
 
9
38
  ### Changed
@@ -1,40 +1,105 @@
1
1
  ---
2
2
  name: rrr-project-researcher
3
- description: Researches domain ecosystem before roadmap creation. Produces multiple files in .planning/research/ consumed by /rrr:create-roadmap. Spawned by /rrr:research-project orchestrator.
3
+ description: Researches domain ecosystem. Supports two modes - project research (.planning/research/) and milestone research (.planning/milestones/vX.Y/research/). Milestone research inherits from project research.
4
4
  tools: Read, Write, Bash, Grep, Glob, WebSearch, WebFetch, mcp__context7__*
5
5
  color: cyan
6
6
  ---
7
7
 
8
8
  <role>
9
- You are a RRR project researcher. You research the domain ecosystem before roadmap creation, producing comprehensive findings that inform phase structure.
9
+ You are a RRR researcher. You research domain ecosystems and produce findings that inform roadmap and requirements.
10
10
 
11
- You are spawned by:
11
+ **Two Research Modes:**
12
+
13
+ | Mode | When | Output Path | Inherits From |
14
+ |------|------|-------------|---------------|
15
+ | Project Research | New project setup | `.planning/research/` | Nothing (foundational) |
16
+ | Milestone Research | New milestone setup | `.planning/milestones/vX.Y/research/` | Project research |
12
17
 
13
- - `/rrr:research-project` orchestrator (project-wide research before roadmap)
18
+ You are spawned by:
14
19
 
15
- Your job: Answer "What does this domain ecosystem look like?" Produce multiple research files that inform roadmap creation.
20
+ - `/rrr:new-project` Phase 6 (project research)
21
+ - `/rrr:research-project` orchestrator (project research refresh)
22
+ - `/rrr:new-milestone` step 8 (milestone research)
16
23
 
17
24
  **Core responsibilities:**
18
- - Survey the domain ecosystem broadly
25
+ - Survey the domain ecosystem (project mode) OR specific features (milestone mode)
19
26
  - Identify technology landscape and options
20
27
  - Map feature categories (table stakes, differentiators)
21
28
  - Document architecture patterns and anti-patterns
22
29
  - Catalog domain-specific pitfalls
23
- - Write multiple files in `.planning/research/`
30
+ - Write files to the specified output path
31
+ - For milestone mode: read and build upon project research
32
+ - Flag any updates needed for project-level docs (ROADMAP.md, REQUIREMENTS.md)
24
33
  - Return structured result to orchestrator
25
34
  </role>
26
35
 
36
+ <research_modes>
37
+
38
+ ## Project Research Mode (Foundational)
39
+
40
+ **Trigger:** Prompt includes `.planning/research/` as output path or mentions "project research"
41
+
42
+ **Focus:** Broad domain ecosystem survey
43
+ - What's the landscape for this type of product?
44
+ - What's the standard stack?
45
+ - What are table stakes features?
46
+ - What are common pitfalls?
47
+
48
+ **Outputs to:** `.planning/research/`
49
+
50
+ **Does NOT inherit:** This is foundational research.
51
+
52
+ ## Milestone Research Mode (Incremental)
53
+
54
+ **Trigger:** Prompt includes `.planning/milestones/vX.Y/research/` as output path or mentions "milestone research"
55
+
56
+ **Focus:** Tactical research for specific new features
57
+ - What's needed to add [feature X] to existing architecture?
58
+ - What are gotchas for [new capability]?
59
+ - How do these features typically integrate?
60
+
61
+ **Outputs to:** `.planning/milestones/vX.Y/research/`
62
+
63
+ **MUST inherit:** Read `.planning/research/` first for context. Don't re-research what's already established.
64
+
65
+ **Can flag updates to:**
66
+ - REQUIREMENTS.md (new requirements discovered)
67
+ - ROADMAP.md (suggested phases, future milestone candidates)
68
+
69
+ </research_modes>
70
+
27
71
  <downstream_consumer>
28
- Your research files are consumed by `/rrr:create-roadmap` which uses them to:
72
+ Your research files are consumed by `/rrr:create-roadmap` (project) or `/rrr:define-requirements` (milestone):
29
73
 
30
- | File | How Roadmap Uses It |
31
- |------|---------------------|
74
+ | File | How It's Used |
75
+ |------|---------------|
32
76
  | `SUMMARY.md` | Phase structure recommendations, ordering rationale |
33
- | `STACK.md` | Technology decisions for the project |
34
- | `FEATURES.md` | What to build in each phase |
77
+ | `STACK.md` | Technology decisions (new libs for milestone mode) |
78
+ | `FEATURES.md` | What to build, table stakes vs differentiators |
35
79
  | `ARCHITECTURE.md` | System structure, component boundaries |
36
80
  | `PITFALLS.md` | What phases need deeper research flags |
37
81
 
82
+ **For Milestone Research — Project Updates Section:**
83
+
84
+ Include a section at the end of SUMMARY.md:
85
+
86
+ ```markdown
87
+ ## Suggested Project Updates
88
+
89
+ ### REQUIREMENTS.md Updates
90
+ - Add to v[X.Y+1] Candidates: [requirement] — [rationale]
91
+ - Add to Future Backlog: [requirement] — [rationale]
92
+
93
+ ### ROADMAP.md Updates
94
+ - Suggest future milestone: [name] — [rationale]
95
+ - Note for current milestone phases: [observation]
96
+
97
+ ### Out of Scope Reconsiderations
98
+ - Revisit [feature]: [reason circumstances changed]
99
+ ```
100
+
101
+ This allows milestone research to flow updates back to project-level docs.
102
+
38
103
  **Be comprehensive but opinionated.** Survey options, then recommend. "Use X because Y" not just "Options are X, Y, Z."
39
104
  </downstream_consumer>
40
105
 
@@ -340,7 +405,10 @@ Before submitting research:
340
405
 
341
406
  ## Output Location
342
407
 
343
- All files written to: `.planning/research/`
408
+ **Project Research:** `.planning/research/`
409
+ **Milestone Research:** `.planning/milestones/vX.Y/research/` (path provided in prompt)
410
+
411
+ The orchestrator specifies the exact output path. Write to the path given in `<output>` section of your prompt.
344
412
 
345
413
  ## SUMMARY.md
346
414
 
@@ -690,12 +758,37 @@ What's needed to achieve this:
690
758
 
691
759
  Orchestrator provides:
692
760
  - Project name and description
761
+ - Research type: PROJECT or MILESTONE
693
762
  - Research mode (ecosystem/feasibility/comparison)
694
763
  - Project context (from PROJECT.md if exists)
764
+ - Output path (where to write files)
695
765
  - Specific questions to answer
696
766
 
767
+ **For Milestone Research, also provided:**
768
+ - Milestone version (e.g., v1.1)
769
+ - Target features for this milestone
770
+ - Instruction to read project research for context
771
+
697
772
  Parse and confirm understanding before proceeding.
698
773
 
774
+ ## Step 1.5: Load Project Research Context (Milestone Mode Only)
775
+
776
+ **If this is milestone research:**
777
+
778
+ Read existing project research for context:
779
+ ```
780
+ Read .planning/research/SUMMARY.md
781
+ Read .planning/research/STACK.md (for established tech decisions)
782
+ Read .planning/research/ARCHITECTURE.md (for existing structure)
783
+ ```
784
+
785
+ This gives you the foundation. Your milestone research BUILDS ON this, doesn't replace it.
786
+
787
+ **Key questions for milestone mode:**
788
+ - What's already established that I shouldn't re-research?
789
+ - What new capabilities does this milestone add?
790
+ - How do new features integrate with existing architecture?
791
+
699
792
  ## Step 2: Identify Research Domains
700
793
 
701
794
  Based on project description, identify what needs investigating:
@@ -840,18 +933,26 @@ When research cannot proceed:
840
933
 
841
934
  Research is complete when:
842
935
 
843
- - [ ] Domain ecosystem surveyed
936
+ **Both Modes:**
937
+ - [ ] Domain ecosystem surveyed (broad for project, focused for milestone)
844
938
  - [ ] Technology stack recommended with rationale
845
939
  - [ ] Feature landscape mapped (table stakes, differentiators, anti-features)
846
940
  - [ ] Architecture patterns documented
847
941
  - [ ] Domain pitfalls catalogued
848
942
  - [ ] Source hierarchy followed (Context7 → Official → WebSearch)
849
943
  - [ ] All findings have confidence levels
850
- - [ ] Output files created in `.planning/research/`
944
+ - [ ] Output files created in specified path
851
945
  - [ ] SUMMARY.md includes roadmap implications
852
946
  - [ ] Files written (DO NOT commit — orchestrator handles this)
853
947
  - [ ] Structured return provided to orchestrator
854
948
 
949
+ **Milestone Research Additional:**
950
+ - [ ] Project research read for context (inheritance)
951
+ - [ ] Research focuses on NEW capabilities, doesn't re-research established patterns
952
+ - [ ] "Suggested Project Updates" section included in SUMMARY.md
953
+ - [ ] New requirements flagged for REQUIREMENTS.md
954
+ - [ ] Future milestone candidates identified (if any)
955
+
855
956
  Research quality indicators:
856
957
 
857
958
  - **Comprehensive, not shallow:** All major categories covered
@@ -860,5 +961,6 @@ Research quality indicators:
860
961
  - **Honest about gaps:** LOW confidence items flagged, unknowns admitted
861
962
  - **Actionable:** Roadmap creator could structure phases based on this research
862
963
  - **Current:** Year included in searches, publication dates checked
964
+ - **Incremental (milestone):** Builds on project research, doesn't duplicate
863
965
 
864
966
  </success_criteria>
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: rrr-research-synthesizer
3
- description: Synthesizes research outputs from parallel researcher agents into SUMMARY.md. Spawned by /rrr:new-project after 4 researcher agents complete.
3
+ description: Synthesizes research outputs from parallel researcher agents into SUMMARY.md. Supports both project research (.planning/research/) and milestone research (.planning/milestones/vX.Y/research/).
4
4
  tools: Read, Write, Bash
5
5
  color: purple
6
6
  ---
@@ -8,18 +8,28 @@ color: purple
8
8
  <role>
9
9
  You are a RRR research synthesizer. You read the outputs from 4 parallel researcher agents and synthesize them into a cohesive SUMMARY.md.
10
10
 
11
+ **Two Research Modes:**
12
+
13
+ | Mode | Research Path | Also Reads |
14
+ |------|---------------|------------|
15
+ | Project | `.planning/research/` | Nothing (foundational) |
16
+ | Milestone | `.planning/milestones/vX.Y/research/` | `.planning/research/SUMMARY.md` (project context) |
17
+
11
18
  You are spawned by:
12
19
 
13
- - `/rrr:new-project` orchestrator (after STACK, FEATURES, ARCHITECTURE, PITFALLS research completes)
20
+ - `/rrr:new-project` Phase 6 (project research synthesis)
21
+ - `/rrr:new-milestone` step 8 (milestone research synthesis)
14
22
 
15
23
  Your job: Create a unified research summary that informs roadmap creation. Extract key findings, identify patterns across research files, and produce roadmap implications.
16
24
 
17
25
  **Core responsibilities:**
18
26
  - Read all 4 research files (STACK.md, FEATURES.md, ARCHITECTURE.md, PITFALLS.md)
27
+ - For milestone mode: also read project research SUMMARY.md for context
19
28
  - Synthesize findings into executive summary
20
29
  - Derive roadmap implications from combined research
21
30
  - Identify confidence levels and gaps
22
- - Write SUMMARY.md
31
+ - For milestone mode: include "Suggested Project Updates" section
32
+ - Write SUMMARY.md to the specified path
23
33
  - Commit ALL research files (researchers write but don't commit — you commit everything)
24
34
  </role>
25
35
 
@@ -39,15 +49,34 @@ Your SUMMARY.md is consumed by the rrr-roadmapper agent which uses it to:
39
49
 
40
50
  <execution_flow>
41
51
 
42
- ## Step 1: Read Research Files
52
+ ## Step 1: Determine Research Directory
53
+
54
+ Parse your prompt for the output path:
55
+ - **Project mode:** `.planning/research/` (default)
56
+ - **Milestone mode:** `.planning/milestones/vX.Y/research/` (specified in prompt)
57
+
58
+ Set `RESEARCH_DIR` accordingly.
59
+
60
+ ## Step 1.5: Read Project Research Context (Milestone Mode Only)
61
+
62
+ **If this is milestone research:**
43
63
 
44
- Read all 4 research files:
64
+ Read project research for context:
65
+ ```bash
66
+ cat .planning/research/SUMMARY.md
67
+ ```
68
+
69
+ This gives you the foundation the milestone research builds upon.
70
+
71
+ ## Step 2: Read Research Files
72
+
73
+ Read all 4 research files from `RESEARCH_DIR`:
45
74
 
46
75
  ```bash
47
- cat .planning/research/STACK.md
48
- cat .planning/research/FEATURES.md
49
- cat .planning/research/ARCHITECTURE.md
50
- cat .planning/research/PITFALLS.md
76
+ cat ${RESEARCH_DIR}/STACK.md
77
+ cat ${RESEARCH_DIR}/FEATURES.md
78
+ cat ${RESEARCH_DIR}/ARCHITECTURE.md
79
+ cat ${RESEARCH_DIR}/PITFALLS.md
51
80
  ```
52
81
 
53
82
  Parse each file to extract:
@@ -119,15 +148,45 @@ Identify gaps that couldn't be resolved and need attention during planning.
119
148
 
120
149
  Use template: ~/.claude/rrr/templates/research-project/SUMMARY.md
121
150
 
122
- Write to `.planning/research/SUMMARY.md`
151
+ Write to `${RESEARCH_DIR}/SUMMARY.md`
152
+
153
+ **For Milestone Mode — Add "Suggested Project Updates" Section:**
154
+
155
+ ```markdown
156
+ ## Suggested Project Updates
157
+
158
+ Based on milestone research, the following updates to project-level docs are recommended:
159
+
160
+ ### REQUIREMENTS.md Updates
161
+
162
+ | Requirement | Target Section | Rationale |
163
+ |-------------|---------------|-----------|
164
+ | [new requirement] | v[X.Y+1] Candidates | [why discovered/needed] |
165
+ | [new requirement] | Future Backlog | [why discovered/needed] |
166
+
167
+ ### ROADMAP.md Updates
168
+
169
+ | Update | Type | Rationale |
170
+ |--------|------|-----------|
171
+ | [suggestion] | Future milestone candidate | [why] |
172
+ | [suggestion] | Current milestone note | [observation] |
173
+
174
+ ### Out of Scope Reconsiderations
175
+
176
+ | Feature | Action | Rationale |
177
+ |---------|--------|-----------|
178
+ | [feature] | Consider for [version] | [circumstances changed] |
179
+ ```
180
+
181
+ This section allows milestone research to flow updates back to project-level docs.
123
182
 
124
183
  ## Step 7: Commit All Research
125
184
 
126
185
  The 4 parallel researcher agents write files but do NOT commit. You commit everything together.
127
186
 
128
187
  ```bash
129
- git add .planning/research/
130
- git commit -m "docs: complete project research
188
+ git add "${RESEARCH_DIR}/"
189
+ git commit -m "docs: complete [project/milestone] research
131
190
 
132
191
  Files:
133
192
  - STACK.md
@@ -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>
@@ -43,8 +43,11 @@ Output: `.planning/REQUIREMENTS.md`
43
43
 
44
44
  <context>
45
45
  @.planning/PROJECT.md
46
- @.planning/research/FEATURES.md (if exists)
47
- @.planning/research/SUMMARY.md (if exists)
46
+ @.planning/STATE.md (to detect active milestone)
47
+
48
+ **Research context (priority order):**
49
+ 1. `.planning/milestones/vX.Y/research/` (milestone-specific)
50
+ 2. `.planning/research/` (project-level fallback)
48
51
  </context>
49
52
 
50
53
  <process>
@@ -54,11 +57,29 @@ Output: `.planning/REQUIREMENTS.md`
54
57
  # Verify project exists
55
58
  [ -f .planning/PROJECT.md ] || { echo "ERROR: No PROJECT.md found. Run /rrr:new-project first."; exit 1; }
56
59
 
57
- # Check for research
58
- [ -f .planning/research/FEATURES.md ] && echo "HAS_RESEARCH" || echo "NO_RESEARCH"
60
+ # Detect active milestone from STATE.md
61
+ ACTIVE_MILESTONE=""
62
+ if [ -f .planning/STATE.md ]; then
63
+ ACTIVE_MILESTONE=$(grep -oE "Milestone:\\s*v[0-9]+\\.[0-9]+" .planning/STATE.md | grep -oE "v[0-9]+\\.[0-9]+")
64
+ fi
65
+
66
+ # Check for research (milestone-specific first, then project-level)
67
+ RESEARCH_DIR=""
68
+ if [ -n "$ACTIVE_MILESTONE" ] && [ -f ".planning/milestones/${ACTIVE_MILESTONE}/research/FEATURES.md" ]; then
69
+ RESEARCH_DIR=".planning/milestones/${ACTIVE_MILESTONE}/research"
70
+ echo "HAS_MILESTONE_RESEARCH: $ACTIVE_MILESTONE"
71
+ elif [ -f .planning/research/FEATURES.md ]; then
72
+ RESEARCH_DIR=".planning/research"
73
+ echo "HAS_PROJECT_RESEARCH"
74
+ else
75
+ echo "NO_RESEARCH"
76
+ fi
59
77
 
60
78
  # Check if requirements already exist
61
79
  [ -f .planning/REQUIREMENTS.md ] && echo "REQUIREMENTS_EXISTS" || echo "NO_REQUIREMENTS"
80
+
81
+ echo "ACTIVE_MILESTONE=${ACTIVE_MILESTONE}"
82
+ echo "RESEARCH_DIR=${RESEARCH_DIR}"
62
83
  ```
63
84
  </step>
64
85
 
@@ -79,13 +100,19 @@ If "Replace": Continue with workflow
79
100
  </step>
80
101
 
81
102
  <step name="execute">
82
- **If HAS_RESEARCH:**
103
+ **If HAS_MILESTONE_RESEARCH or HAS_PROJECT_RESEARCH:**
83
104
  Follow the define-requirements.md workflow:
84
- - Load research features from FEATURES.md
105
+ - Load research features from `${RESEARCH_DIR}/FEATURES.md`
106
+ - Also read `${RESEARCH_DIR}/SUMMARY.md` for "Suggested Project Updates" (if milestone research)
85
107
  - Present features by category
86
- - Ask user to scope each category (v1 / v2 / out of scope)
108
+ - Ask user to scope each category (current milestone / future milestone / out of scope)
87
109
  - Capture any additions research missed
88
- - Generate REQUIREMENTS.md with checkable list
110
+ - Generate/update REQUIREMENTS.md with milestone-specific section
111
+
112
+ **For milestone research mode:**
113
+ - Requirements go into the ACTIVE milestone section (e.g., "## v1.1 — [Name] (Active)")
114
+ - Check "Suggested Project Updates" from research for pre-populated candidates
115
+ - Future milestone candidates go to "Future Milestones" section
89
116
 
90
117
  **If NO_RESEARCH:**
91
118
  Gather requirements through questioning:
@@ -93,8 +120,8 @@ Gather requirements through questioning:
93
120
  - Ask: "What are the main things users need to be able to do?"
94
121
  - For each capability mentioned, probe for specifics
95
122
  - Group into categories (Authentication, Content, etc.)
96
- - For each category, ask what's v1 vs v2 vs out of scope
97
- - Generate REQUIREMENTS.md with checkable list
123
+ - For each category, ask what's current milestone vs future vs out of scope
124
+ - Generate/update REQUIREMENTS.md with milestone-specific section
98
125
 
99
126
  Same output format either way — the difference is source (research vs conversation).
100
127
  </step>
@@ -251,26 +251,127 @@ node ~/.claude/rrr/scripts/rrr-hud.js 2>/dev/null || echo "HUD skipped"
251
251
  git commit -m "docs: start milestone v[X.Y] [Name]"
252
252
  ```
253
253
 
254
- 8. **Route to next step:**
254
+ 8. **Milestone research decision:**
255
255
 
256
+ Use AskUserQuestion:
257
+ - header: "Research"
258
+ - question: "Research the domain for this milestone's features?"
259
+ - options:
260
+ - "Yes, research first (Recommended)" — Discover patterns for new capabilities
261
+ - "No, define requirements directly" — Familiar territory, skip research
262
+
263
+ **If "Yes, research first":**
264
+
265
+ Create milestone research directory:
266
+ ```bash
267
+ NEW_VERSION="[milestone version from step 3]"
268
+ mkdir -p ".planning/milestones/v${NEW_VERSION}/research"
256
269
  ```
257
- Milestone v[X.Y] [Name] initialized.
258
270
 
259
- PROJECT.md updated with new goals.
271
+ Display:
272
+ ```
273
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
274
+ MILESTONE RESEARCH
275
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
260
276
 
261
- ---
277
+ Researching [milestone features] for v[X.Y]...
278
+ Reading project research for context...
279
+ ```
262
280
 
263
- ## Next Up
281
+ **Spawn 4 parallel milestone researchers:**
264
282
 
265
- Choose your path:
283
+ Each researcher gets:
284
+ - Milestone context (target features from step 2)
285
+ - Project research context (read `.planning/research/` if exists)
286
+ - Output path: `.planning/milestones/v${NEW_VERSION}/research/`
266
287
 
267
- **Option A: Research first** (new domains/capabilities)
268
- Research ecosystem before scoping. Discovers patterns, expected features, architecture approaches.
288
+ ```
289
+ Task(prompt="
290
+ <research_type>
291
+ Milestone Research — Stack dimension for v[X.Y] [milestone name].
292
+ </research_type>
293
+
294
+ <milestone_context>
295
+ This is SUBSEQUENT milestone research (not greenfield).
296
+ Target features: [features from step 2]
297
+ Don't re-research existing system. Focus on what's NEW.
298
+ </milestone_context>
299
+
300
+ <project_research>
301
+ Read and incorporate context from: .planning/research/ (if exists)
302
+ Your milestone research BUILDS ON project research, doesn't replace it.
303
+ </project_research>
304
+
305
+ <question>
306
+ What stack additions/changes are needed for [milestone features]?
307
+ </question>
308
+
309
+ <downstream_consumer>
310
+ Your STACK.md feeds into milestone roadmap phases.
311
+ Focus on: new libraries needed, version updates, integration patterns.
312
+ </downstream_consumer>
313
+
314
+ <can_update_project>
315
+ If you discover something that should update project-level docs:
316
+ - Flag it in your output
317
+ - Include specific update suggestions for ROADMAP.md or REQUIREMENTS.md
318
+ </can_update_project>
319
+
320
+ <output>
321
+ Write to: .planning/milestones/v${NEW_VERSION}/research/STACK.md
322
+ </output>
323
+ ", subagent_type="rrr-project-researcher", description="Milestone stack research")
324
+
325
+ [Similar prompts for FEATURES.md, ARCHITECTURE.md, PITFALLS.md]
326
+ ```
269
327
 
270
- `/rrr:research-project`
328
+ After all 4 complete, spawn synthesizer:
329
+ ```
330
+ Task(prompt="
331
+ Synthesize milestone research into SUMMARY.md.
332
+
333
+ Read these files:
334
+ - .planning/milestones/v${NEW_VERSION}/research/STACK.md
335
+ - .planning/milestones/v${NEW_VERSION}/research/FEATURES.md
336
+ - .planning/milestones/v${NEW_VERSION}/research/ARCHITECTURE.md
337
+ - .planning/milestones/v${NEW_VERSION}/research/PITFALLS.md
338
+
339
+ Also read project research for context:
340
+ - .planning/research/SUMMARY.md (if exists)
341
+
342
+ Write to: .planning/milestones/v${NEW_VERSION}/research/SUMMARY.md
343
+
344
+ Include:
345
+ - How milestone builds on existing architecture
346
+ - New requirements discovered (for REQUIREMENTS.md update)
347
+ - Suggested phases for this milestone
348
+ - Any project-level updates recommended
349
+ ", subagent_type="rrr-research-synthesizer", description="Synthesize milestone research")
350
+ ```
351
+
352
+ Commit research:
353
+ ```bash
354
+ git add ".planning/milestones/v${NEW_VERSION}/research/"
355
+ git commit -m "docs: research milestone v${NEW_VERSION} features"
356
+ ```
357
+
358
+ **If "No, define requirements directly":** Skip research, continue to step 9.
359
+
360
+ 9. **Route to next step:**
361
+
362
+ ```
363
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
364
+ MILESTONE v[X.Y] INITIALIZED ✓
365
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
366
+
367
+ PROJECT.md updated with new goals.
368
+ [If research done: Research complete in .planning/milestones/v[X.Y]/research/]
369
+
370
+ ---
371
+
372
+ ## ▶ Next Up
271
373
 
272
- **Option B: Define requirements directly** (familiar territory)
273
- Skip research, define requirements from what you know.
374
+ **Define requirements for v[X.Y]**
274
375
 
275
376
  `/rrr:define-requirements`
276
377
 
@@ -287,6 +388,8 @@ node ~/.claude/rrr/scripts/rrr-hud.js 2>/dev/null || echo "HUD skipped"
287
388
  - Active requirements reflect new milestone goals
288
389
  - STATE.md reset for new milestone
289
390
  - MILESTONE-CONTEXT.md consumed and deleted (if existed)
391
+ - Milestone research offered (if selected: .planning/milestones/vX.Y/research/ created)
392
+ - Milestone research reads project research for context (inheritance)
290
393
  - Git commit made
291
- - User routed to define-requirements (or research-project)
394
+ - User routed to define-requirements
292
395
  </success_criteria>
@@ -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,7 +83,9 @@ 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
 
@@ -490,16 +510,19 @@ fi
490
510
 
491
511
  **Smart research guardrails (default behavior):**
492
512
 
493
- Check for project-level research:
513
+ Check for research (milestone-specific first, then project-level):
494
514
 
495
515
  **On macOS/Linux:**
496
516
  ```bash
497
- ls .planning/research/SUMMARY.md 2>/dev/null
517
+ # Detect active milestone and find research (already set in context step)
518
+ # RESEARCH_DIR is set to milestone research or project research path
519
+ ls "${RESEARCH_DIR}/SUMMARY.md" 2>/dev/null
498
520
  ls "${PHASE_DIR}"/*-RESEARCH.md 2>/dev/null
499
521
  ```
500
522
 
501
523
  **On Windows:**
502
- - `Glob pattern: ".planning/research/SUMMARY.md"`
524
+ - `Glob pattern: ".planning/milestones/v*/research/SUMMARY.md"` (milestone first)
525
+ - `Glob pattern: ".planning/research/SUMMARY.md"` (project fallback)
503
526
  - `Glob pattern: "${PHASE_DIR}/*-RESEARCH.md"`
504
527
 
505
528
  **Research Decision Matrix:**
@@ -508,8 +531,9 @@ ls "${PHASE_DIR}"/*-RESEARCH.md 2>/dev/null
508
531
  |-----------|--------|
509
532
  | `--research` flag set | Force research (override all) |
510
533
  | Phase-level RESEARCH.md exists | Use existing, skip to step 6 |
534
+ | Milestone-level SUMMARY.md exists AND phase is NOT risky | Skip research, display: `Using milestone research from /rrr:new-milestone` |
511
535
  | 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) |
536
+ | Research SUMMARY.md exists AND phase IS risky | Run research (risky domains need phase-specific research) |
513
537
  | Neither research exists | Run research |
514
538
 
515
539
  **Risky domain detection:** Phase name or description contains: `auth`, `payment`, `security`, `webhook`, `oauth`, `stripe`, `bank`, `credential`, `encryption`, `api-key`.
@@ -40,14 +40,36 @@ Research domain ecosystem. Spawns 4 parallel rrr-project-researcher agents for c
40
40
 
41
41
  <process>
42
42
 
43
- ## 1. Validate Prerequisites
43
+ ## 1. Validate Prerequisites & Detect Milestone
44
44
 
45
45
  ```bash
46
46
  [ -f .planning/PROJECT.md ] || { echo "ERROR: No PROJECT.md. Run /rrr:new-project first."; exit 1; }
47
- [ -f .planning/ROADMAP.md ] && echo "WARNING: ROADMAP.md exists. Research is typically done before roadmap."
48
- [ -d .planning/research ] && echo "RESEARCH_EXISTS" || echo "NO_RESEARCH"
47
+
48
+ # Detect active milestone from ROADMAP.md
49
+ ACTIVE_MILESTONE=""
50
+ if [ -f .planning/ROADMAP.md ]; then
51
+ # Try "Current Milestone: vX.Y" format
52
+ ACTIVE_MILESTONE=$(grep -oE "Current Milestone:\s*v[0-9]+\.[0-9]+" .planning/ROADMAP.md | grep -oE "v[0-9]+\.[0-9]+")
53
+ # Try "**Milestone:** vX.Y" format
54
+ [ -z "$ACTIVE_MILESTONE" ] && ACTIVE_MILESTONE=$(grep -oE "\*\*Milestone:\*\*\s*v[0-9]+\.[0-9]+" .planning/ROADMAP.md | grep -oE "v[0-9]+\.[0-9]+")
55
+ fi
56
+
57
+ # Set research directory based on milestone
58
+ if [ -n "$ACTIVE_MILESTONE" ]; then
59
+ RESEARCH_DIR=".planning/milestones/${ACTIVE_MILESTONE}/research"
60
+ echo "MILESTONE_RESEARCH: ${ACTIVE_MILESTONE}"
61
+ else
62
+ RESEARCH_DIR=".planning/research"
63
+ echo "PROJECT_RESEARCH: initial setup (no milestone yet)"
64
+ fi
65
+
66
+ [ -d "$RESEARCH_DIR" ] && echo "RESEARCH_EXISTS" || echo "NO_RESEARCH"
49
67
  ```
50
68
 
69
+ **Research location logic:**
70
+ - If active milestone exists → `.planning/milestones/vX.Y/research/`
71
+ - If no milestone (initial project) → `.planning/research/`
72
+
51
73
  ## 2. Handle Existing Research
52
74
 
53
75
  **If RESEARCH_EXISTS:** Use AskUserQuestion (View existing / Replace / Cancel)
@@ -77,7 +99,7 @@ Present for approval.
77
99
  ## 5. Spawn Research Agents
78
100
 
79
101
  ```bash
80
- mkdir -p .planning/research
102
+ mkdir -p "${RESEARCH_DIR}"
81
103
  ```
82
104
 
83
105
  **Determine milestone context:**
@@ -121,7 +143,7 @@ Your STACK.md feeds into /rrr:create-roadmap. Be prescriptive:
121
143
  </quality_gate>
122
144
 
123
145
  <output>
124
- Write to: .planning/research/STACK.md
146
+ Write to: ${RESEARCH_DIR}/STACK.md
125
147
  Use template: ~/.claude/rrr/templates/research-project/STACK.md
126
148
  </output>
127
149
  ", subagent_type="rrr-project-researcher", description="Stack research")
@@ -160,7 +182,7 @@ Your FEATURES.md feeds into /rrr:define-requirements. Categorize clearly:
160
182
  </quality_gate>
161
183
 
162
184
  <output>
163
- Write to: .planning/research/FEATURES.md
185
+ Write to: ${RESEARCH_DIR}/FEATURES.md
164
186
  Use template: ~/.claude/rrr/templates/research-project/FEATURES.md
165
187
  </output>
166
188
  ", subagent_type="rrr-project-researcher", description="Features research")
@@ -199,7 +221,7 @@ Your ARCHITECTURE.md informs phase structure in roadmap. Include:
199
221
  </quality_gate>
200
222
 
201
223
  <output>
202
- Write to: .planning/research/ARCHITECTURE.md
224
+ Write to: ${RESEARCH_DIR}/ARCHITECTURE.md
203
225
  Use template: ~/.claude/rrr/templates/research-project/ARCHITECTURE.md
204
226
  </output>
205
227
  ", subagent_type="rrr-project-researcher", description="Architecture research")
@@ -238,7 +260,7 @@ Your PITFALLS.md prevents mistakes in roadmap/planning. For each pitfall:
238
260
  </quality_gate>
239
261
 
240
262
  <output>
241
- Write to: .planning/research/PITFALLS.md
263
+ Write to: ${RESEARCH_DIR}/PITFALLS.md
242
264
  Use template: ~/.claude/rrr/templates/research-project/PITFALLS.md
243
265
  </output>
244
266
  ", subagent_type="rrr-project-researcher", description="Pitfalls research")
@@ -248,7 +270,7 @@ Use template: ~/.claude/rrr/templates/research-project/PITFALLS.md
248
270
 
249
271
  ## 6. Synthesize Results
250
272
 
251
- After all agents complete, read their outputs and write `.planning/research/SUMMARY.md`:
273
+ After all agents complete, read their outputs and write `${RESEARCH_DIR}/SUMMARY.md`:
252
274
  - Read template: `~/.claude/rrr/templates/research-project/SUMMARY.md`
253
275
  - Synthesize executive summary from all 4 files
254
276
  - Add confidence assessment
@@ -283,7 +305,7 @@ This section directly feeds into `/rrr:create-roadmap`.
283
305
  ## 7. Commit Research
284
306
 
285
307
  ```bash
286
- git add .planning/research/
308
+ git add "${RESEARCH_DIR}/"
287
309
  git commit -m "docs: research [domain] ecosystem
288
310
 
289
311
  Key findings:
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "projecta-rrr",
3
- "version": "1.18.4",
3
+ "version": "1.18.6",
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"
@@ -2,6 +2,16 @@
2
2
 
3
3
  Template for `.planning/REQUIREMENTS.md` — checkable requirements that define "done."
4
4
 
5
+ ## Philosophy
6
+
7
+ Requirements evolve with the project:
8
+ - **Validated** = shipped and verified (immutable history)
9
+ - **Active (current milestone)** = being built now
10
+ - **Future milestones** = planned but not yet active
11
+ - **Out of Scope** = explicit exclusions
12
+
13
+ Milestone research can ADD requirements. Each milestone has its own section.
14
+
5
15
  <template>
6
16
 
7
17
  ```markdown
@@ -9,34 +19,48 @@ Template for `.planning/REQUIREMENTS.md` — checkable requirements that define
9
19
 
10
20
  **Defined:** [date]
11
21
  **Core Value:** [from PROJECT.md]
22
+ **Current Milestone:** v[X.Y]
12
23
 
13
- ## v1 Requirements
24
+ ## Validated
14
25
 
15
- Requirements for initial release. Each maps to roadmap phases.
26
+ Requirements shipped and verified. These are immutable they represent what works.
16
27
 
17
- ### Authentication
28
+ ### v1.0 — [Milestone Name]
18
29
 
19
- - [ ] **AUTH-01**: User can sign up with email and password
20
- - [ ] **AUTH-02**: User receives email verification after signup
21
- - [ ] **AUTH-03**: User can reset password via email link
22
- - [ ] **AUTH-04**: User session persists across browser refresh
30
+ - [x] **AUTH-01**: User can sign up with email and password — *verified [date]*
31
+ - [x] **AUTH-02**: User receives email verification after signup — *verified [date]*
32
+ - [x] **CONT-01**: User can create text post *verified [date]*
23
33
 
24
- ### [Category 2]
34
+ ### v1.1 — [Milestone Name] (if applicable)
35
+
36
+ - [x] **NOTF-01**: User receives in-app notifications — *verified [date]*
37
+
38
+ ## v[X.Y] — [Current Milestone Name] (Active)
39
+
40
+ Requirements for current milestone. Mapped to roadmap phases.
41
+
42
+ ### [Category 1]
25
43
 
26
44
  - [ ] **[CAT]-01**: [Requirement description]
27
45
  - [ ] **[CAT]-02**: [Requirement description]
28
- - [ ] **[CAT]-03**: [Requirement description]
29
46
 
30
- ### [Category 3]
47
+ ### [Category 2]
31
48
 
32
49
  - [ ] **[CAT]-01**: [Requirement description]
33
50
  - [ ] **[CAT]-02**: [Requirement description]
34
51
 
35
- ## v2 Requirements
52
+ ## Future Milestones
53
+
54
+ Requirements planned for future milestones. Not in current roadmap.
36
55
 
37
- Deferred to future release. Tracked but not in current roadmap.
56
+ ### v[X.Y+1] Candidates
38
57
 
39
- ### [Category]
58
+ *Flagged by research or deferred from current milestone*
59
+
60
+ - **[CAT]-01**: [Requirement description] — *Source: [milestone research / user request]*
61
+ - **[CAT]-02**: [Requirement description] — *Source: [milestone research / user request]*
62
+
63
+ ### Backlog (Unassigned)
40
64
 
41
65
  - **[CAT]-01**: [Requirement description]
42
66
  - **[CAT]-02**: [Requirement description]
@@ -45,25 +69,22 @@ Deferred to future release. Tracked but not in current roadmap.
45
69
 
46
70
  Explicitly excluded. Documented to prevent scope creep.
47
71
 
48
- | Feature | Reason |
49
- |---------|--------|
50
- | [Feature] | [Why excluded] |
51
- | [Feature] | [Why excluded] |
72
+ | Feature | Reason | Revisit? |
73
+ |---------|--------|----------|
74
+ | [Feature] | [Why excluded] | [v2/Never] |
75
+ | [Feature] | [Why excluded] | [v2/Never] |
52
76
 
53
77
  ## Traceability
54
78
 
55
- Which phases cover which requirements. Updated by create-roadmap.
79
+ Which phases cover which requirements for the CURRENT milestone.
56
80
 
57
81
  | Requirement | Phase | Status |
58
82
  |-------------|-------|--------|
59
- | AUTH-01 | Phase 1 | Pending |
60
- | AUTH-02 | Phase 1 | Pending |
61
- | AUTH-03 | Phase 1 | Pending |
62
- | AUTH-04 | Phase 1 | Pending |
83
+ | [REQ-ID] | Phase [N] | Pending |
63
84
  | [REQ-ID] | Phase [N] | Pending |
64
85
 
65
- **Coverage:**
66
- - v1 requirements: [X] total
86
+ **Coverage (v[X.Y]):**
87
+ - Active requirements: [X] total
67
88
  - Mapped to phases: [Y]
68
89
  - Unmapped: [Z] ⚠️
69
90
 
@@ -76,27 +97,43 @@ Which phases cover which requirements. Updated by create-roadmap.
76
97
 
77
98
  <guidelines>
78
99
 
100
+ **Milestone-Based Structure:**
101
+
102
+ The hierarchy is: Project → Milestone → Phases → Plans
103
+
104
+ - **Validated** = Shipped requirements from past milestones (immutable)
105
+ - **Active** = Current milestone's requirements (has checkboxes, maps to phases)
106
+ - **Future** = Candidates for future milestones (no checkboxes yet)
107
+ - **Out of Scope** = Explicit exclusions
108
+
79
109
  **Requirement Format:**
80
110
  - ID: `[CATEGORY]-[NUMBER]` (AUTH-01, CONTENT-02, SOCIAL-03)
81
111
  - Description: User-centric, testable, atomic
82
- - Checkbox: Only for v1 requirements (v2 are not yet actionable)
112
+ - Checkbox: Only for ACTIVE milestone requirements
83
113
 
84
114
  **Categories:**
85
115
  - Derive from research FEATURES.md categories
86
116
  - Keep consistent with domain conventions
87
117
  - Typical: Authentication, Content, Social, Notifications, Moderation, Payments, Admin
88
118
 
89
- **v1 vs v2:**
90
- - v1: Committed scope, will be in roadmap phases
91
- - v2: Acknowledged but deferred, not in current roadmap
92
- - Moving v2 v1 requires roadmap update
119
+ **Milestone Transitions:**
120
+
121
+ When starting new milestone (via `/rrr:new-milestone`):
122
+ 1. Move completed requirements from Active Validated
123
+ 2. Create new Active section for new milestone
124
+ 3. Milestone research can add to Future Candidates
125
+
126
+ When milestone research discovers new requirements:
127
+ 1. Add to Future Candidates section with source attribution
128
+ 2. Can suggest for current milestone (if scope allows) or future
93
129
 
94
130
  **Out of Scope:**
95
131
  - Explicit exclusions with reasoning
96
- - Prevents "why didn't you include X?" later
132
+ - "Revisit?" column indicates if this might change
97
133
  - Anti-features from research belong here with warnings
98
134
 
99
135
  **Traceability:**
136
+ - Only tracks CURRENT milestone's requirements
100
137
  - Empty initially, populated by create-roadmap
101
138
  - Each requirement maps to exactly one phase
102
139
  - Unmapped requirements = roadmap gap (error in create-roadmap)
@@ -136,30 +173,29 @@ Which phases cover which requirements. Updated by create-roadmap.
136
173
 
137
174
  **Defined:** 2025-01-14
138
175
  **Core Value:** Users can share and discuss content with people who share their interests
176
+ **Current Milestone:** v1.1
139
177
 
140
- ## v1 Requirements
141
-
142
- ### Authentication
143
-
144
- - [ ] **AUTH-01**: User can sign up with email and password
145
- - [ ] **AUTH-02**: User receives email verification after signup
146
- - [ ] **AUTH-03**: User can reset password via email link
147
- - [ ] **AUTH-04**: User session persists across browser refresh
178
+ ## Validated
148
179
 
149
- ### Profiles
180
+ ### v1.0 — MVP Core
150
181
 
151
- - [ ] **PROF-01**: User can create profile with display name
152
- - [ ] **PROF-02**: User can upload avatar image
153
- - [ ] **PROF-03**: User can write bio (max 500 chars)
154
- - [ ] **PROF-04**: User can view other users' profiles
182
+ - [x] **AUTH-01**: User can sign up with email and password — *verified 2025-02-01*
183
+ - [x] **AUTH-02**: User receives email verification after signup — *verified 2025-02-01*
184
+ - [x] **AUTH-03**: User can reset password via email link — *verified 2025-02-01*
185
+ - [x] **AUTH-04**: User session persists across browser refresh — *verified 2025-02-01*
186
+ - [x] **PROF-01**: User can create profile with display name — *verified 2025-02-05*
187
+ - [x] **PROF-02**: User can upload avatar image — *verified 2025-02-05*
188
+ - [x] **PROF-03**: User can write bio (max 500 chars) — *verified 2025-02-05*
189
+ - [x] **PROF-04**: User can view other users' profiles — *verified 2025-02-05*
190
+ - [x] **CONT-01**: User can create text post — *verified 2025-02-10*
191
+ - [x] **CONT-02**: User can upload image with post — *verified 2025-02-10*
192
+ - [x] **CONT-03**: User can edit own posts — *verified 2025-02-10*
193
+ - [x] **CONT-04**: User can delete own posts — *verified 2025-02-10*
194
+ - [x] **CONT-05**: User can view feed of posts — *verified 2025-02-10*
155
195
 
156
- ### Content
196
+ ## v1.1 — Social & Engagement (Active)
157
197
 
158
- - [ ] **CONT-01**: User can create text post
159
- - [ ] **CONT-02**: User can upload image with post
160
- - [ ] **CONT-03**: User can edit own posts
161
- - [ ] **CONT-04**: User can delete own posts
162
- - [ ] **CONT-05**: User can view feed of posts
198
+ Requirements for current milestone. Adding social features.
163
199
 
164
200
  ### Social
165
201
 
@@ -169,63 +205,65 @@ Which phases cover which requirements. Updated by create-roadmap.
169
205
  - [ ] **SOCL-04**: User can comment on posts
170
206
  - [ ] **SOCL-05**: User can view activity feed (followed users' posts)
171
207
 
172
- ## v2 Requirements
208
+ ### Notifications (from v1.1 research)
209
+
210
+ - [ ] **NOTF-01**: User receives in-app notifications for follows
211
+ - [ ] **NOTF-02**: User receives in-app notifications for comments
212
+
213
+ ## Future Milestones
214
+
215
+ ### v1.2 Candidates
216
+
217
+ *Flagged by v1.1 milestone research*
218
+
219
+ - **NOTF-03**: User receives email for new followers — *Source: v1.1 research*
220
+ - **NOTF-04**: User receives email for comments on own posts — *Source: v1.1 research*
221
+ - **NOTF-05**: User can configure notification preferences — *Source: v1.1 research*
222
+
223
+ ### v2.0 Candidates
173
224
 
174
- ### Notifications
225
+ *Major features requiring significant work*
175
226
 
176
- - **NOTF-01**: User receives in-app notifications
177
- - **NOTF-02**: User receives email for new followers
178
- - **NOTF-03**: User receives email for comments on own posts
179
- - **NOTF-04**: User can configure notification preferences
227
+ - **MODR-01**: User can report content — *Source: project research*
228
+ - **MODR-02**: User can block other users — *Source: project research*
229
+ - **MODR-03**: Admin can view reported content *Source: project research*
230
+ - **MODR-04**: Admin can remove content — *Source: project research*
231
+ - **MODR-05**: Admin can ban users — *Source: project research*
180
232
 
181
- ### Moderation
233
+ ### Backlog (Unassigned)
182
234
 
183
- - **MODR-01**: User can report content
184
- - **MODR-02**: User can block other users
185
- - **MODR-03**: Admin can view reported content
186
- - **MODR-04**: Admin can remove content
187
- - **MODR-05**: Admin can ban users
235
+ - **REAL-01**: Real-time typing indicators
236
+ - **REAL-02**: Push notifications
188
237
 
189
238
  ## Out of Scope
190
239
 
191
- | Feature | Reason |
192
- |---------|--------|
193
- | Real-time chat | High complexity, not core to community value |
194
- | Video posts | Storage/bandwidth costs, defer to v2+ |
195
- | OAuth login | Email/password sufficient for v1 |
196
- | Mobile app | Web-first, mobile later |
240
+ | Feature | Reason | Revisit? |
241
+ |---------|--------|----------|
242
+ | Real-time chat | High complexity, not core to community value | v2.0 |
243
+ | Video posts | Storage/bandwidth costs | v2.0 |
244
+ | OAuth login | Email/password sufficient for now | v1.2 |
245
+ | Mobile app | Web-first | v2.0 |
197
246
 
198
247
  ## Traceability
199
248
 
200
249
  | Requirement | Phase | Status |
201
250
  |-------------|-------|--------|
202
- | AUTH-01 | Phase 1 | Pending |
203
- | AUTH-02 | Phase 1 | Pending |
204
- | AUTH-03 | Phase 1 | Pending |
205
- | AUTH-04 | Phase 1 | Pending |
206
- | PROF-01 | Phase 2 | Pending |
207
- | PROF-02 | Phase 2 | Pending |
208
- | PROF-03 | Phase 2 | Pending |
209
- | PROF-04 | Phase 2 | Pending |
210
- | CONT-01 | Phase 3 | Pending |
211
- | CONT-02 | Phase 3 | Pending |
212
- | CONT-03 | Phase 3 | Pending |
213
- | CONT-04 | Phase 3 | Pending |
214
- | CONT-05 | Phase 3 | Pending |
215
- | SOCL-01 | Phase 4 | Pending |
216
- | SOCL-02 | Phase 4 | Pending |
217
- | SOCL-03 | Phase 4 | Pending |
218
- | SOCL-04 | Phase 4 | Pending |
219
- | SOCL-05 | Phase 4 | Pending |
220
-
221
- **Coverage:**
222
- - v1 requirements: 18 total
223
- - Mapped to phases: 18
251
+ | SOCL-01 | Phase 14 | Pending |
252
+ | SOCL-02 | Phase 14 | Pending |
253
+ | SOCL-03 | Phase 14 | Pending |
254
+ | SOCL-04 | Phase 15 | Pending |
255
+ | SOCL-05 | Phase 15 | Pending |
256
+ | NOTF-01 | Phase 16 | Pending |
257
+ | NOTF-02 | Phase 16 | Pending |
258
+
259
+ **Coverage (v1.1):**
260
+ - Active requirements: 7 total
261
+ - Mapped to phases: 7
224
262
  - Unmapped: 0 ✓
225
263
 
226
264
  ---
227
265
  *Requirements defined: 2025-01-14*
228
- *Last updated: 2025-01-14 after initial definition*
266
+ *Last updated: 2025-02-15 after v1.1 milestone research*
229
267
  ```
230
268
 
231
269
  </example>