mother-brain 0.7.2 → 0.7.4

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/dist/cli.js CHANGED
@@ -798,7 +798,7 @@ async function uninstall(options) {
798
798
  // src/cli.ts
799
799
  import { exec as exec3 } from "child_process";
800
800
  var program = new Command();
801
- var VERSION = "0.7.2";
801
+ var VERSION = "0.7.4";
802
802
  program.name("mother-brain").description("AI-powered project management framework for GitHub Copilot CLI and Codex CLI").version(VERSION);
803
803
  program.command("init").description("Initialize Mother Brain in the current project").option("-f, --force", "Overwrite existing skills").action(init);
804
804
  program.command("update").description("Update Mother Brain skills to the latest version").action(update);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mother-brain",
3
- "version": "0.7.2",
3
+ "version": "0.7.4",
4
4
  "description": "AI-powered project management framework for GitHub Copilot CLI",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -137,6 +137,7 @@ allowed-tools: powershell view grep glob web_search ask_user create edit skill
137
137
  - Template files to load on demand:
138
138
  - **Boot/Startup**: Read `references/boot-screen.md` before printing startup status
139
139
  - **Outcome Demo**: Read `references/outcome-demo.md` before outcome validation/sign-off
140
+ - **Outcome Discovery**: Read `references/outcome-discovery.md` before adding a new outcome/phase or pivoting to a new outcome
140
141
  - **Menus**: Read `references/branded-menu.md` before displaying any menu
141
142
  - **Formatting**: Read `references/formatting-rules.md` before formatting lists/output
142
143
  - **Issue reporting**: Read `references/issue-reporting.md` when handling freeform issue detection
@@ -240,7 +241,7 @@ Mother Brain transforms high-level visions into executable reality by:
240
241
  - **Adaptive planning**: Roadmaps are living documents, not contracts
241
242
  - **Outcome-Driven Roadmap (CORE PRINCIPLE)**: Roadmaps are organized by **Outcomes** (user abilities), not tasks. Each outcome is an "Ability to [do something]" that fulfills a user need. Tasks exist only as internal implementation details. Users validate **acceptance criteria** for outcomes, never technical tasks. This keeps validation meaningful ("Can I now do X?") rather than abstract ("Does this code look right?").
242
243
  - **User Needs as Foundation**: During Vision Discovery, capture explicit user needs as "Ability to..." statements. These become the outcomes in the roadmap. Every outcome traces back to which user need it fulfills.
243
- - **Acceptance Criteria Validation**: User signs off on acceptance criteria for each outcome, not on individual tasks. For each criterion, ask: "Can you do this now? Yes/No". If "No" → invoke Child Brain to analyze and fix.
244
+ - **Acceptance Criteria Validation**: User signs off on acceptance criteria for each outcome, not on individual tasks. Default to **batch sign-off**: show the full criteria list once, run the outcome demo, then ask whether everything works. If something fails or needs adjustment → invoke Child Brain. Only drill into per-criterion Yes/No when the user can't identify what is failing.
244
245
  - **Best practice structure**: Organize projects using standard dev conventions
245
246
  - **Skill automation**: Create skills for repetitive tasks proactively
246
247
  - **User validation**: Always confirm outcomes meet expectations via acceptance criteria before marking complete
@@ -541,13 +542,13 @@ Key rules: Use `allow_freeform: true` on all `ask_user` calls. Check freeform re
541
542
  Encountered friction or have ideas for improvement?
542
543
  ```
543
544
 
544
- - Use `ask_user` with choices:
545
- - "Something broke or didn't work"
546
- - "A feature is missing"
547
- - "The workflow is confusing"
548
- - "I have a suggestion for improvement"
549
- - "📤 Send my local improvements (auto-detect changes)"
550
- - "⬅️ Back to project"
545
+ - Use `ask_user` with choices:
546
+ - "Something broke or didn't work"
547
+ - "A feature is missing"
548
+ - "The workflow is confusing"
549
+ - "I have a suggestion for improvement"
550
+ - "📤 Send community improvements (auto-detect local changes)"
551
+ - "⬅️ Back to project"
551
552
 
552
553
  **Step 2A.0.1: Friction Auto-Detection (for "Something broke")**
553
554
 
@@ -604,17 +605,25 @@ Key rules: Use `allow_freeform: true` on all `ask_user` calls. Check freeform re
604
605
  - Work on implementing if appropriate
605
606
  - Offer to send improvement when done
606
607
 
607
- - **If "Send my local improvements"**: Continue to Step 2A.1 (Auto-Detect)
608
+ - **If "Send community improvements"**: Continue to Step 2A.1 (Auto-Detect)
608
609
 
609
610
  - **If "Back to project"**: Return to main menu (Step 2)
610
611
 
611
612
  ### 2A.1 **Send Improvement** (Automatic Multi-Issue Contribution)
612
- - When user selects "📤 Send my local improvements":
613
+ - When user selects "📤 Send community improvements":
613
614
  - **Read `references/improvement-pipeline.md`** for the full pipeline (Steps 2A.1.1–2A.1.5)
614
615
  - Covers: gather sources (learning log, core file diffs, conversation context), deduplication via issues tracker, correlate learnings with file changes, generate individual GitHub issues, submit via gh CLI (with manual fallback), update tracker
615
616
  - Target repository: `super-state/mother-brain`
616
617
  - After submission → return to main menu (Step 2)
617
618
 
619
+ ### 2H. **Outcome Discovery & Planning** (Mini Requirements Session)
620
+ - A mini "vision-like" discovery workflow for new outcomes/phases or pivots. Clarifies the outcome, does lightweight research, consults Project Brain constraints, detects skill gaps (via Elder Brain gate + skill-creator), and writes the outcome into the roadmap with a do-now vs later choice.
621
+ - **Read `references/outcome-discovery.md`** for the full procedure.
622
+ - This flow must be available from:
623
+ - Layer 2 (Roadmap): "🔎 Discover a new outcome"
624
+ - Layer 3 (Outcome execution): "🔎 Pivot to a different outcome"
625
+ - Also run it when starting an outcome that hasn't been clarified yet (placeholder outcome or unclear scope). In that case, treat the discovery as "clarify/refine this outcome" and update the existing roadmap entry.
626
+
618
627
  ### 2A.2 **Review Community Improvements** (Maintainer Workflow)
619
628
  - Maintainer workflow for reviewing community improvement issues. Lists open issues, shows AI-generated analysis, and provides accept/reject/request-changes actions.
620
629
  - **Read `references/review-improvements.md`** for the full review procedure (Steps 2A.2.1–2A.2.5, issue listing, diff review, auto-commenting, label management)
@@ -1504,6 +1513,7 @@ Progress: [X/Y] criteria verified
1504
1513
  - "Continue working" (→ resume/start next task in this outcome)
1505
1514
  - "I have feedback on this outcome"
1506
1515
  - "Something's broken"
1516
+ - "🔎 Pivot to a different outcome"
1507
1517
  - "Do something else (→ Roadmap)" (→ Layer 2)
1508
1518
  - "Mark outcome complete"
1509
1519
  - Freeform available → route to Freeform Classification (Step 12)
@@ -1523,6 +1533,12 @@ Progress: [X/Y] criteria verified
1523
1533
  - Invoke Child Brain immediately (friction detected)
1524
1534
  - After Child Brain completes, return to Step 10E
1525
1535
 
1536
+ - **If "🔎 Pivot to a different outcome"**:
1537
+ - Run **Step 2H (Outcome Discovery & Planning)**
1538
+ - After discovery:
1539
+ - If user chose "Do this next": set it as active and return to Step 10E
1540
+ - If user chose "Add to roadmap for later": return to Step 10E (current outcome unchanged)
1541
+
1526
1542
  - **If "Do something else"**:
1527
1543
  - Navigate UP one layer to **Step 11 (Roadmap Menu / Layer 2)**
1528
1544
  - Save current outcome progress before navigating
@@ -1622,19 +1638,21 @@ Progress: [X/Y] criteria verified
1622
1638
 
1623
1639
  **Step 11.2: Present Layer 2 Menu**
1624
1640
 
1625
- - Use `ask_user` with choices:
1626
- - "Continue next outcome" (→ Layer 3 Outcome Execution Menu)
1627
- - "Review specific outcome"
1628
- - "💡 I have a new idea"
1629
- - "Adjust priorities (Value Framework)"
1630
- - "Take a break (save progress)"
1641
+ - Use `ask_user` with choices:
1642
+ - "Continue next outcome" (→ Layer 3 Outcome Execution Menu)
1643
+ - "Review specific outcome"
1644
+ - "🔎 Discover a new outcome"
1645
+ - "💡 I have a new idea"
1646
+ - "Adjust priorities (Value Framework)"
1647
+ - "Take a break (save progress)"
1631
1648
  - Freeform available for custom actions → route to Freeform Classification (Step 12)
1632
1649
 
1633
1650
  **Step 11.3: Handle Selections**
1634
1651
 
1635
- - **If "Continue next outcome"**:
1636
- - Load next uncompleted outcome from roadmap
1637
- - Jump to **Layer 3 Outcome Execution Menu (Step 10E)**
1652
+ - **If "Continue next outcome"**:
1653
+ - Load next uncompleted outcome from roadmap
1654
+ - If this outcome is still a placeholder or needs clarification, run **Step 2H (Outcome Discovery & Planning)** to refine it before starting execution.
1655
+ - Jump to **Layer 3 — Outcome Execution Menu (Step 10E)**
1638
1656
 
1639
1657
  - **If "Review specific outcome"**:
1640
1658
  - List all outcomes with status (✅/🔄/⬜)
@@ -1651,10 +1669,14 @@ Progress: [X/Y] criteria verified
1651
1669
  - Re-score existing roadmap tasks if weights changed significantly
1652
1670
  - Show what moved, then return to Step 11.2
1653
1671
 
1654
- - **If "Take a break"**:
1655
- - Save session state to `session-state.json`
1656
- - Display progress summary
1657
- - End session gracefully
1672
+ - **If "Take a break"**:
1673
+ - Save session state to `session-state.json`
1674
+ - Display progress summary
1675
+ - Then present a choice:
1676
+ - "Back to Main Menu (Layer 1)" (return to Step 2)
1677
+ - "Back to Roadmap Menu (Layer 2)" (return to Step 11.2)
1678
+ - "Exit session" (end cleanly after showing a short resume hint)
1679
+ - **Exit discipline**: If user selects "Exit session", display a short "Session ended" message and a single resume hint (`/mother-brain`), then STOP. Do not present additional menus after exit.
1658
1680
 
1659
1681
  - Save session state to `docs/session-state.json`:
1660
1682
  ```json
@@ -1720,8 +1742,10 @@ Analyze the freeform text and classify as one of:
1720
1742
 
1721
1743
  2. **Feature/Idea** — User has a new feature or idea
1722
1744
  - Trigger words: "what if", "could we", "add", "new feature", "idea", "I want"
1723
- - Route to Step 2F (Idea Capture & Prioritization)
1724
- - After capture, return to the LAYER the user was on (not Layer 1)
1745
+ - Use `ask_user` to choose:
1746
+ - "💡 Quick idea capture" ( Step 2F)
1747
+ - "🔎 Outcome discovery (plan it onto the roadmap)" (→ Step 2H)
1748
+ - After capture/discovery, return to the LAYER the user was on (not Layer 1)
1725
1749
 
1726
1750
  3. **Clarification/Question** — User is asking about the project/roadmap/outcome
1727
1751
  - Trigger words: "why", "what does", "how", "explain", "tell me about", "?"
@@ -1933,3 +1957,6 @@ See `references/resources.md` for:
1933
1957
  - Vision document templates
1934
1958
  - Roadmap examples
1935
1959
  - Task management methodologies
1960
+ - **If "🔎 Discover a new outcome"**:
1961
+ - Run **Step 2H (Outcome Discovery & Planning)**
1962
+ - After discovery, return to Step 11.2
@@ -54,7 +54,10 @@
54
54
 
55
55
  - If user selects a delivery option:
56
56
  - Check if relevant skill exists (e.g., "deployment-manager", "cicd-setup")
57
- - If skill doesn't exist: Invoke skill-creator to create delivery skill
57
+ - If skill doesn't exist:
58
+ - Consult Project Brain (`.mother-brain/project-brain.md`) for project-specific delivery constraints/preferences
59
+ - Consult Elder Brain RETRIEVE for the relevant technologies/platforms BEFORE invoking skill-creator
60
+ - Invoke skill-creator to create the delivery skill with Project Brain + Elder Brain context
58
61
  - Execute delivery using appropriate skill
59
62
  - Validate deployment/release succeeded
60
63
 
@@ -90,6 +93,7 @@
90
93
  - Create task documents (like Step 8)
91
94
  - Identify patterns that need new skills
92
95
  - If new patterns detected: Create skills using skill-creator
96
+ - Before creating any new skill, consult Elder Brain RETRIEVE for relevant technologies/domains and pass findings into skill-creator
93
97
  - Update roadmap with detailed tasks
94
98
  - Return to Step 11 (Roadmap Menu)
95
99
 
@@ -97,7 +101,7 @@
97
101
  - Use `ask_user` (freeform): "What direction do you want to take the project?"
98
102
  - Re-run vision discovery (Step 3) with context of what exists
99
103
  - Generate new roadmap phases while preserving completed work
100
- - Create any needed new skills using skill-creator
104
+ - Create any needed new skills using skill-creator (consult Elder Brain RETRIEVE first, and bake gotchas into the skill context)
101
105
  - Return to Step 11 (Roadmap Menu)
102
106
 
103
107
  **If "Add new features":**
@@ -106,7 +110,9 @@
106
110
  - If patterns detected that need skills:
107
111
  - Display: "I detect patterns that could benefit from new skills:"
108
112
  - List detected patterns
109
- - Invoke skill-creator for each pattern
113
+ - For each skill:
114
+ - Consult Elder Brain RETRIEVE for relevant technologies/domains
115
+ - Invoke skill-creator with Elder Brain findings baked in
110
116
  - Add features as new tasks to appropriate phase
111
117
  - Update roadmap
112
118
  - Return to Step 11 (Roadmap Menu)
@@ -46,7 +46,9 @@ When user selects to onboard Mother Brain into an existing project, follow these
46
46
  ## Step 2.2.4: Skill Identification
47
47
  - Analyze patterns in existing code
48
48
  - Identify repetitive work that warrants skills
49
- - Invoke skill-creator for detected patterns
49
+ - Consult Project Brain (`.mother-brain/project-brain.md`) for project-specific constraints/preferences (if it exists)
50
+ - Consult Elder Brain RETRIEVE for relevant technologies/domains BEFORE invoking skill-creator
51
+ - Invoke skill-creator for detected patterns with Project Brain + Elder Brain context baked in
50
52
 
51
53
  ## Step 2.2.5: Confirmation
52
54
  - Display:
@@ -24,9 +24,17 @@ How to verify (quick path):
24
24
  - Step 2: [Click/Action]
25
25
  - Expected: [What should happen]
26
26
 
27
- Then validate each acceptance criterion (Yes/No).
27
+ Acceptance Criteria:
28
+ - I can ...
29
+ - I can ...
30
+
31
+ Then validate acceptance criteria using batch sign-off (preferred): show the full list once, then ask if everything works. Use per-criterion Yes/No only as fallback when the user can't identify what's failing.
32
+
33
+ Use choices like:
34
+ - "✅ Everything works (all criteria pass)"
35
+ - "⚠️ Something isn't working (tell me what's failing)"
36
+ - "🛠 Works but needs adjustment (tell me what to change)"
28
37
 
29
38
  Rules:
30
39
  - If login/authorization/setup requires user action, guide them step-by-step.
31
40
  - If auto-launch fails, provide one fallback method and then clear manual steps with full paths/URLs.
32
-
@@ -0,0 +1,142 @@
1
+ # Outcome Discovery — Mini Requirements Session (Per Outcome / Phase)
2
+
3
+ Use this procedure when:
4
+ - The user wants to add a new outcome to the roadmap
5
+ - The user wants to pivot mid-outcome to a different outcome
6
+ - The user is about to start an existing roadmap outcome that is still a placeholder or unclear (refine it before execution)
7
+
8
+ Purpose:
9
+ - Treat each new outcome like a mini vision session: clarify intent, do lightweight research, consult project constraints, detect skill gaps, and only then plan it onto the roadmap.
10
+ - End with a clear decision: do it now vs schedule it for later (and confirm priority).
11
+
12
+ ---
13
+
14
+ ## Step OD.1: Capture the Outcome (Freeform)
15
+
16
+ Display:
17
+ ```
18
+ 🔎 Outcome Discovery
19
+
20
+ Tell me the outcome you want.
21
+ Write it as: "Ability to [do something]" if you can.
22
+ ```
23
+
24
+ Use `ask_user` with `allow_freeform: true`.
25
+
26
+ ---
27
+
28
+ ## Step OD.2: Project Brain Gate (Before Planning)
29
+
30
+ Before drafting acceptance criteria and demo/proof, consult Project Brain:
31
+ - Read `.mother-brain/project-brain.md` (if it exists)
32
+ - Apply relevant preferences/constraints:
33
+ - Style & tone expectations
34
+ - Validation checks to preserve
35
+ - Known integration constraints
36
+ - Any "do/don't" rules discovered from prior work
37
+
38
+ ---
39
+
40
+ ## Step OD.3: Adaptive Clarification Loop (Repeat Until Clear)
41
+
42
+ After EACH user response:
43
+ 1. Extract domain signals and constraints:
44
+ - Who is the user?
45
+ - What is the exact ability (scope boundaries)?
46
+ - What data is involved (PII/orders/payments/health)?
47
+ - What does "done" look like (proof)?
48
+ 2. If a new/unclear domain is detected, do quick research with `web_search`:
49
+ - "[domain] best practices"
50
+ - "[domain] common pitfalls"
51
+ - "[domain] UX expectations"
52
+ 3. Identify likely skill needs (do we need a new skill or to invoke an existing one?)
53
+ 4. Ask the single most important next question (avoid long questionnaires).
54
+
55
+ Use `ask_user` with 2-3 choices whenever discrete options exist, otherwise allow freeform.
56
+
57
+ Stop the loop only when:
58
+ - The outcome statement is unambiguous
59
+ - Acceptance criteria can be written as testable user checks
60
+ - A demo/proof path is clear
61
+
62
+ ---
63
+
64
+ ## Step OD.4: Draft the Outcome Package (Batch Correction)
65
+
66
+ Create a draft:
67
+ - Outcome name: `📋 Ability to ...`
68
+ - "So that" benefit line (why this matters)
69
+ - Acceptance criteria (3-7 items, testable by the user)
70
+ - Demo / Proof (what will open, where, and the quick verification path)
71
+ - Internal tasks (high-level list; implementation details only)
72
+
73
+ Then ask for correction (batch, not per-line):
74
+
75
+ Use `ask_user`:
76
+ - "✅ Looks right — proceed"
77
+ - "✏️ Needs adjustment (tell me what to change)"
78
+ - "🔄 Actually different outcome (restart discovery)"
79
+
80
+ If adjustment/restart is chosen, continue OD.3.
81
+
82
+ ---
83
+
84
+ ## Step OD.5: Skill Check (Autonomous, With Elder Brain Gate)
85
+
86
+ - Scan existing project skills (`.github/skills/`) for relevant capabilities.
87
+ - If a capability gap is detected:
88
+ - FIRST: Consult Elder Brain RETRIEVE for relevant gotchas/patterns:
89
+ - Invoke Elder Brain RETRIEVE for the domains/technologies the skill will touch
90
+ - If Elder Brain returns relevant info, bake it into the skill context
91
+ - Then invoke `skill-creator` to create/update the necessary skill(s) using:
92
+ - Project Brain preferences (project-specific constraints)
93
+ - Lightweight domain research (if needed)
94
+ - Elder Brain gotchas/patterns (cross-project defensive knowledge)
95
+ - Do not ask for permission to create the skill; do it as part of discovery.
96
+
97
+ ---
98
+
99
+ ## Step OD.6: Priority + Scheduling Decision (User Choice)
100
+
101
+ Load:
102
+ - `.mother-brain/docs/value-framework.md` (if it exists)
103
+ - `.mother-brain/docs/vision.md` and `.mother-brain/docs/roadmap.md`
104
+
105
+ Determine recommended priority:
106
+ - If Value Framework exists: score outcome and compare to nearby outcomes
107
+ - Otherwise: assess vision alignment, user impact, effort, dependencies
108
+
109
+ Use `ask_user`:
110
+ - "🚀 Do this next (make it the active/next outcome)"
111
+ - "🗓 Add to roadmap for later (keep current plan)"
112
+ - "📌 Adjust priority (tell me higher/lower)"
113
+
114
+ If "Adjust priority":
115
+ - Ask for brief rationale (freeform), apply the override, and (if repeated) flag for Value Framework weight adjustment.
116
+
117
+ ---
118
+
119
+ ## Step OD.7: Write It Into the Roadmap
120
+
121
+ - Insert (or refine) the outcome in `.mother-brain/docs/roadmap.md` with:
122
+ - Acceptance criteria checklist
123
+ - Demo / Proof section
124
+ - Priority score / note
125
+ - Internal tasks list
126
+ - If it belongs in a new phase, create the phase section and explain why (briefly).
127
+
128
+ Update `.mother-brain/session-state.json`:
129
+ - If "Do this next": set the new outcome as active
130
+ - Otherwise: keep current outcome, just record that a new outcome was added
131
+
132
+ Return control to the menu the user came from:
133
+ - If called from Roadmap (Layer 2): return to Step 11
134
+ - If called from Outcome work (Layer 3 pivot): return to Step 10E (or Step 11 if the user navigated up)
135
+
136
+ ---
137
+
138
+ Key rules:
139
+ - Discovery happens BEFORE planning/execution for a new outcome.
140
+ - Always provide the do-now vs later choice after discovery.
141
+ - Keep questions tight: one meaningful question per loop.
142
+
@@ -22,6 +22,8 @@ One-click release: commit, version bump, push, tag, and publish.
22
22
  ## Step 2D.1: Verify & Analyze
23
23
  - Check current folder is mother-brain framework folder
24
24
  - If in a project folder: Display error and offer to return to framework
25
+ - Refresh remote release context (quiet):
26
+ - Run `git fetch --tags origin`
25
27
  - Run `git status` to verify there are changes to release
26
28
  - If no changes: Display "Nothing to release" and return to menu
27
29
 
@@ -4,17 +4,27 @@
4
4
 
5
5
  **Step 2A.2.1: List Open Improvement Issues**
6
6
 
7
- - Fetch issues with "improvement" or "community-contribution" labels:
8
- ```
9
- github-mcp-server: list_issues
10
- state: open
11
- labels: ["improvement"]
12
- ```
7
+ - **Do NOT assume repo-specific labels exist.** Many repos only have default labels
8
+ (`enhancement`, `documentation`, etc.). Improvement submissions created by Mother Brain
9
+ also commonly use a title prefix like `[Improvement]`.
10
+
11
+ - Fetch open improvement issues using this fallback order:
12
+ - **Primary (title prefix)**: search for issues whose title includes `[Improvement]`
13
+ - Example (gh CLI):
14
+ - `gh issue list --repo super-state/mother-brain --state open --search "is:issue is:open [Improvement]" --limit 20`
15
+ - **Secondary (default labels)**: search for likely labels
16
+ - `label:enhancement` and/or `label:documentation`
17
+ - Example (gh CLI):
18
+ - `gh issue list --repo super-state/mother-brain --state open --label enhancement --limit 20`
19
+ - `gh issue list --repo super-state/mother-brain --state open --label documentation --limit 20`
20
+ - **Last-resort (recent open issues)**: list recent open issues and manually select
21
+ - Example (gh CLI):
22
+ - `gh issue list --repo super-state/mother-brain --state open --limit 20`
13
23
 
14
24
  - **If no issues**: Display "📭 No community improvements pending review." → Return to menu
15
25
 
16
26
  - **If issues exist**: Display summarized list:
17
- ```
27
+ ```
18
28
  📥 Community Improvements to Review ([count] pending)
19
29
 
20
30
  ┌─────────────────────────────────────────────────────────────┐
@@ -25,10 +35,18 @@
25
35
  │ 📁 [files affected count] files • [lines changed] lines │
26
36
  └─────────────────────────────────────────────────────────────┘
27
37
 
28
- [Repeat for each issue, max 5 shown]
38
+ [Repeat for each issue, up to 10 shown]
39
+
40
+ If more than 10 issues exist:
41
+ - Show a second menu choice to view the next page (issues 11–20)
42
+ - Also offer a "Deduplicate by title" view (recommended when many issues share the same `[Improvement] YYYY-MM-DD - ...` titles)
29
43
  ```
30
44
 
31
- - Use `ask_user` with issue numbers as choices + "Back to menu"
45
+ - Use `ask_user` with:
46
+ - Issue numbers as choices (for the visible page)
47
+ - "Next page"
48
+ - "Deduplicate by title (recommended)"
49
+ - "Back to menu"
32
50
 
33
51
  **Step 2A.2.2: Review Selected Issue**
34
52
 
@@ -66,6 +84,14 @@
66
84
  - "❌ Reject - close with explanation"
67
85
  - "💬 Request changes - ask for modifications"
68
86
  - "⏭️ Skip - review later"
87
+
88
+ **Deduplicate by title (helper view)**
89
+ - When "Deduplicate by title" is selected:
90
+ - Group open issues by normalized title (strip issue number, keep full title text)
91
+ - For each group, show ONLY the newest issue number as the representative
92
+ - Present the representative issue numbers as choices, plus:
93
+ - "Show all issues (paged)"
94
+ - "Back to menu"
69
95
 
70
96
  **Step 2A.2.3: Accept Improvement**
71
97
 
@@ -125,7 +125,7 @@
125
125
  - Outcome 2: [name]
126
126
  - Outcome 3: [name]
127
127
 
128
- **Validation Method**: User confirms each criterion with "Yes, I can do this"
128
+ **Validation Method**: Batch sign-off (preferred). Show the full acceptance-criteria list once, run the outcome demo, then ask whether everything works. Use per-criterion Yes/No only as fallback when the user can't identify what's failing.
129
129
 
130
130
  **Next Step After MVP**: [From Step 6A research]
131
131
 
@@ -76,7 +76,9 @@
76
76
  ```
77
77
  📋 Outcome Complete: [Ability to do X]
78
78
 
79
- Please verify each criterion — can you do this now?
79
+ Acceptance Criteria:
80
+ - I can ...
81
+ - I can ...
80
82
  ```
81
83
 
82
84
  - **MANDATORY: Outcome Demo First (Interactive Experience)**:
@@ -84,30 +86,34 @@
84
86
  2. Launch the experience for the user (app/page/flow) so they can interact with the outcome
85
87
  - Do NOT ask the user to run startup commands
86
88
  - If launching fails, use one fallback, then provide clear manual steps
87
- 3. Only after the demo is in front of the user, proceed to acceptance-criteria Yes/No sign-off
89
+ 3. Only after the demo is in front of the user, proceed to acceptance-criteria sign-off (batch-first)
88
90
 
89
- - For EACH acceptance criterion, use `ask_user` with choices:
90
- - "Yes, I can do this ✅"
91
- - "No, something's wrong ❌"
92
-
93
- - **If "Yes"**: Mark criterion complete, proceed to next
94
- - **If "No"**:
95
- - Invoke Child Brain immediately (friction detected)
96
- - Child Brain analyzes what went wrong
97
- - Fix applied, re-validate this criterion
91
+ - **Batch acceptance sign-off (preferred)**:
92
+ - Display the FULL acceptance-criteria list at once
93
+ - Then use `ask_user` with choices:
94
+ - "✅ Everything works (all criteria pass)"
95
+ - "⚠️ Something isn't working (tell me what's failing)"
96
+ - "🛠 Works but needs adjustment (tell me what to change)"
97
+ - If the user reports failures/adjustments:
98
+ - Ask them to paste the failing criteria text or numbers (freeform)
99
+ - Invoke Child Brain immediately (friction detected), fix, then re-run demo + batch sign-off
100
+ - Only drill into per-criterion Yes/No when:
101
+ - The user says "some fail" but can't identify which, or
102
+ - The outcome has many criteria and pinpointing is unclear
98
103
 
99
104
  - **Example validation flow**:
100
105
  ```
101
106
  📋 Ability to see my emails inside the portal
102
107
 
103
- Criterion 1: I can see my inbox with sender, subject, and preview
104
- [Yes, I can do this] [No, something's wrong]
105
-
106
- Criterion 2: I can click an email to read the full content
107
- → [Yes, I can do this] [No, something's wrong]
108
+ Acceptance Criteria:
109
+ 1. I can see my inbox with sender, subject, and preview
110
+ 2. I can click an email to read the full content
111
+ 3. New emails appear without refreshing the page
108
112
 
109
- Criterion 3: New emails appear without refreshing the page
110
- [Yes, I can do this] [No, something's wrong]
113
+ Now that the demo is in front of you, which is true?
114
+ 1. Everything works (all criteria pass)
115
+ 2. ⚠️ Something isn't working (tell me what's failing)
116
+ 3. 🛠 Works but needs adjustment (tell me what to change)
111
117
  ```
112
118
 
113
119
  - **All criteria pass**: Mark outcome complete (✅)
@@ -117,6 +123,15 @@
117
123
  - Update task document with final status
118
124
  - Update roadmap checklist
119
125
 
126
+ - **Post-outcome wrap-up + commit discipline (order matters)**:
127
+ 1. Run Steps 10B and 10C (mandatory learning + documentation checkpoint)
128
+ 2. If the outcome was accepted, run the outcome-level retrospective:
129
+ - Invoke Child Brain (post-delivery retrospective)
130
+ - Apply any approved Mother Brain / Project Brain / skill updates
131
+ 3. If the repo is a git repo and there are uncommitted changes:
132
+ - Create a commit AFTER the retrospective updates are applied
133
+ - Then return the user to the Layer 2 Roadmap Menu
134
+
120
135
  **⚠️ CRITICAL: After marking task complete, proceed through Steps 10B, 10C, and optionally 10D before returning to the Outcome Execution Menu (Layer 3).**
121
136
 
122
137
  **⛔ BLOCKING GATE - Steps 10B and 10C are MANDATORY:**