mother-brain 0.6.1 β†’ 0.6.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mother-brain",
3
- "version": "0.6.1",
3
+ "version": "0.6.2",
4
4
  "description": "AI-powered project management framework for GitHub Copilot CLI",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -277,6 +277,21 @@ Mother Brain transforms high-level visions into executable reality by:
277
277
  - **AGENT RUNTIME CONTEXT IN ISSUES**: When documenting friction, bugs, or improvements, always note the agent runtime (e.g., "Copilot CLI + Claude Sonnet", "Codex CLI + GPT-5"). Issues are often runtime-specificβ€”what works in one may break in another. This context is essential for reproducing and scoping fixes.
278
278
  - **EMOJI AS ENHANCEMENT, NOT IDENTIFIER**: Emoji rendering varies across agent runtimes and models. Always include text labels alongside emoji markers (e.g., "🧠 Mother Brain" not just "🧠"). Never rely on emoji alone to convey meaningβ€”some runtimes may strip, replace, or fail to reproduce them.
279
279
  - **VERIFICATION OVER TRUST**: When user completes a setup/configuration step that CAN be programmatically verified, ALWAYS verify before proceeding. Don't trust "done" when verification is possible. Verification methods: API calls, CLI commands, file existence checks, service health endpoints, build artifact validation.
280
+ - **STORY ANCHOR TRACKING (CRITICAL)**: Session state MUST track `currentStory` (the outcome being worked on) and `storyApproved` (boolean). Before ANY response, check: "Is there an unapproved story in progress?" If yes, ALWAYS show story context header: "πŸ“‹ Current Story: [Ability to X] β€” Status: [In Progress/Awaiting Approval]". Feedback during story execution is a sub-task, NOT a context switch. Never lose track of the active story.
281
+ - **VISUAL/DESIGN DISCOVERY GATE (BLOCKING)**: Before implementing ANY story with visual/UI elements, run MANDATORY discovery:
282
+ 1. "What style/aesthetic are you imagining?"
283
+ 2. "Any references, examples, or inspiration?"
284
+ 3. "What should it definitely NOT look like?"
285
+ Block implementation until user provides direction. Never make styling decisions autonomously β€” visual choices are user-driven, not AI-driven.
286
+ - **BLOCKING DEPENDENCIES UPFRONT**: At story start, identify ALL user-dependent actions the AI cannot perform (API keys, app setup, external configs, account creation). Ask for ALL of these upfront: "Before I can work autonomously, I need: [list]". Do not start implementation until blocking dependencies are resolved.
287
+ - **STORY CONFIDENCE CHECK (MINI-DISCOVERY)**: Before implementing ANY story, assess: "Do I have enough information to implement this correctly?" Technical details = usually yes. Creative/UX/style details = usually no. If uncertain on ANY user-facing aspect, ask targeted questions BEFORE implementing. Never assume layout, styling, content, or interaction patterns β€” ask first.
288
+ - **SUB-TASK CLASSIFICATION (MID-STORY FEEDBACK)**: When bugs or feedback arise during story execution:
289
+ 1. Ask: "Is this essential to meet the outcome's acceptance criteria, or a separate improvement?"
290
+ 2. If ESSENTIAL to outcome β†’ treat as immediate sub-task, fix before continuing
291
+ 3. If NOT essential to outcome β†’ add to backlog, continue with story
292
+ Keep story focused on its acceptance criteria. Don't let scope creep derail completion.
293
+ - **STORY-FIRST TERMINOLOGY**: In ALL user-facing output, use "story" (user outcome) not "task" (internal implementation). Stories = outcomes with acceptance criteria that users validate. Tasks = internal implementation details never shown to users for validation. User validates: "Can I now do X?" not "Does this code work?"
294
+ - **CONSERVATIVE VERSIONING**: Use patch versions (0.X.Y) for at least 20 releases before incrementing minor version. Prevents version number inflation. Example: 0.6.1 β†’ 0.6.2 β†’ ... β†’ 0.6.21 β†’ 0.7.0.
280
295
 
281
296
  ### Output Formatting Rules (CRITICAL)
282
297
 
@@ -2686,7 +2701,7 @@ Key rules: Use `allow_freeform: true` on all `ask_user` calls. Check freeform re
2686
2701
 
2687
2702
  Before implementing ANY task, you MUST complete this gate:
2688
2703
 
2689
- **Step 9.0: Task Start Assessment**
2704
+ **Step 9.0: Story Start Assessment**
2690
2705
 
2691
2706
  1. **Load Project Brain** (if exists):
2692
2707
  - Read `.mother-brain/project-brain.md`
@@ -2729,6 +2744,33 @@ Key rules: Use `allow_freeform: true` on all `ask_user` calls. Check freeform re
2729
2744
  - Note: "No Elder Brain knowledge for [technology]"
2730
2745
  - Plan to contribute back via Elder Brain RECEIVE after task
2731
2746
 
2747
+ **Step 9.0.1: Blocking Dependencies Collection (MANDATORY)**
2748
+
2749
+ Before starting ANY story, identify what the AI CANNOT do autonomously:
2750
+
2751
+ **Check for these dependency types:**
2752
+ - **Account/Service Setup**: Creating accounts, subscribing to services, accepting terms of service
2753
+ - **API Keys & Credentials**: Obtaining keys, secrets, OAuth tokens the AI cannot generate
2754
+ - **External Configuration**: Setting up third-party consoles, enabling features in dashboards
2755
+ - **Physical Actions**: Device setup, hardware configuration, local installations the AI can't perform
2756
+ - **Payment/Billing**: Anything requiring financial transactions
2757
+
2758
+ **If ANY blocking dependencies found:**
2759
+ ```
2760
+ ⏸️ Before I can work autonomously on this story, I need you to:
2761
+
2762
+ 1. [Blocking dependency 1 - what exactly to do]
2763
+ 2. [Blocking dependency 2 - what exactly to do]
2764
+ 3. [Blocking dependency 3 - what exactly to do]
2765
+
2766
+ Let me know when these are ready, or if you need help with any step.
2767
+ ```
2768
+
2769
+ - **WAIT for user confirmation before proceeding**
2770
+ - Update session-state.json with `blockingDependencies` array
2771
+ - When user confirms, verify programmatically where possible (see VERIFICATION OVER TRUST principle)
2772
+ - Only proceed to implementation when all blocking dependencies resolved
2773
+
2732
2774
  3. **Skill Sufficiency Check** (CRITICAL):
2733
2775
  - List existing skills in `.github/skills/`
2734
2776
  - For EACH creative/specialized element in this task, ask:
@@ -3153,6 +3195,64 @@ Key rules: Use `allow_freeform: true` on all `ask_user` calls. Check freeform re
3153
3195
 
3154
3196
  **Key Principle**: Mother Brain orchestrates; Child Brain analyzes and routes. This separation keeps Mother Brain clean.
3155
3197
 
3198
+ ### 10A.1 **Mid-Story Sub-Task Classification (MANDATORY)**
3199
+
3200
+ When bugs, issues, or feedback arise DURING story execution (before outcome validation):
3201
+
3202
+ **Step 10A.1.1: Display Story Context Header**
3203
+ Always remind user of the active story:
3204
+ ```
3205
+ πŸ“‹ Current Story: [Outcome Name]
3206
+ Status: In Progress | [X/Y] acceptance criteria verified
3207
+
3208
+ ⚠️ Issue Detected: [brief description of issue/feedback]
3209
+ ```
3210
+
3211
+ **Step 10A.1.2: Classify the Issue**
3212
+ Ask user to classify:
3213
+ ```
3214
+ Is this issue essential to meet the outcome, or a separate improvement?
3215
+
3216
+ 1. 🎯 Essential β€” must fix before this outcome can be considered complete
3217
+ 2. πŸ“‹ Improvement β€” add to backlog, continue with current story
3218
+ 3. ❓ Not sure β€” let's discuss
3219
+ ```
3220
+
3221
+ **Step 10A.1.3: Handle Based on Classification**
3222
+
3223
+ **If ESSENTIAL:**
3224
+ - Treat as immediate sub-task
3225
+ - Add to session-state.json: `currentStory.subTasks` with `essential: true`
3226
+ - Fix before continuing with story
3227
+ - Display: "πŸ“Œ Adding as essential sub-task, fixing now..."
3228
+
3229
+ **If IMPROVEMENT (not essential):**
3230
+ - Add to backlog (roadmap.md or backlog section)
3231
+ - Mark in session-state.json: `currentStory.subTasks` with `essential: false, status: "backlog"`
3232
+ - Continue with current story
3233
+ - Display: "πŸ“‹ Added to backlog β€” continuing with [story name]..."
3234
+
3235
+ **If NOT SURE:**
3236
+ - Ask clarifying question:
3237
+ ```
3238
+ Let me help clarify:
3239
+
3240
+ The current story's acceptance criteria are:
3241
+ 1. [Criterion A]
3242
+ 2. [Criterion B]
3243
+
3244
+ Does this issue block any of these specific criteria from being met?
3245
+ ```
3246
+ - Based on response, classify as essential or improvement
3247
+
3248
+ **Step 10A.1.4: Maintain Story Focus**
3249
+ After handling sub-task:
3250
+ - Always return to story context
3251
+ - Show: "πŸ“‹ Returning to: [Outcome Name]"
3252
+ - Display remaining acceptance criteria to verify
3253
+
3254
+ **Key Principle**: Stories stay focused on their acceptance criteria. Scope creep is routed to backlog, not allowed to derail completion.
3255
+
3156
3256
  ### 10B. **Post-Task Reflection via Child Brain** (Proactive Improvement)
3157
3257
  - **When to run**: ALWAYS after task is marked complete by user - this is mandatory, not optional
3158
3258
  - **Trigger**: Step 10 task completion β†’ Step 10B runs automatically β†’ then Step 11
@@ -3347,9 +3447,25 @@ Key rules: Use `allow_freeform: true` on all `ask_user` calls. Check freeform re
3347
3447
  ```json
3348
3448
  {
3349
3449
  "projectName": "Gaming Backlog Manager",
3450
+ "currentStory": {
3451
+ "id": "outcome-001",
3452
+ "name": "Ability to track my game backlog",
3453
+ "approved": false,
3454
+ "acceptanceCriteria": [
3455
+ {"criterion": "I can add games to my backlog", "verified": true},
3456
+ {"criterion": "I can mark games as completed", "verified": false},
3457
+ {"criterion": "I can see my backlog list", "verified": true}
3458
+ ],
3459
+ "subTasks": [
3460
+ {"id": "sub-001", "description": "Fix mobile layout", "essential": true, "status": "done"},
3461
+ {"id": "sub-002", "description": "Add dark mode", "essential": false, "status": "backlog"}
3462
+ ],
3463
+ "blockingDependencies": []
3464
+ },
3350
3465
  "lastTask": "003-localstorage-data-layer",
3351
3466
  "lastTaskStatus": "DONE",
3352
3467
  "currentPhase": "Phase 1",
3468
+ "completedStories": ["outcome-001"],
3353
3469
  "completedTasks": ["001", "002", "003"],
3354
3470
  "totalTasks": 9,
3355
3471
  "skillsCreated": ["pwa-builder"],