fix brainstorming so that it will not overwrite previous brainstormings, and it will also ask if you want to continue a previous one or start a new one when older brainstormings are found.

This commit is contained in:
Brian Madison 2026-02-28 19:16:44 -06:00
parent d036d34892
commit 17fe438452
5 changed files with 39 additions and 24 deletions

View File

@ -29,23 +29,30 @@ Initialize the brainstorming workflow by detecting continuation state and settin
## INITIALIZATION SEQUENCE: ## INITIALIZATION SEQUENCE:
### 1. Check for Existing Workflow ### 1. Check for Existing Sessions
First, check if the output document already exists: First, check the brainstorming sessions folder for existing sessions:
- Look for file at `{output_folder}/brainstorming/brainstorming-session-{{date}}.md` - List all files in `{output_folder}/brainstorming/`
- If exists, read the complete file including frontmatter - **DO NOT read any file contents** - only list filenames
- If not exists, this is a fresh workflow - If files exist, identify the most recent by date/time in the filename
- If no files exist, this is a fresh workflow
### 2. Handle Continuation (If Document Exists) ### 2. Handle Existing Sessions (If Files Found)
If the document exists and has frontmatter with `stepsCompleted`: If existing session files are found:
- **STOP here** and load `./step-01b-continue.md` immediately - Display the most recent session filename (do NOT read its content)
- Do not proceed with any initialization tasks - Ask the user: "Found existing session: `[filename]`. Would you like to:
- Let step-01b handle the continuation logic **[1]** Continue this session
**[2]** Start a new session
**[3]** See all existing sessions"
### 3. Fresh Workflow Setup (If No Document) - If user selects **[1]** (continue): Set `{brainstorming_session_output_file}` to that file path and load `./step-01b-continue.md`
- If user selects **[2]** (new): Generate new filename with current date/time and proceed to step 3
- If user selects **[3]** (see all): List all session filenames and ask which to continue or if new
### 3. Fresh Workflow Setup (If No Files or User Chooses New)
If no document exists or no `stepsCompleted` in frontmatter: If no document exists or no `stepsCompleted` in frontmatter:
@ -55,10 +62,10 @@ Create the brainstorming session document:
```bash ```bash
# Create directory if needed # Create directory if needed
mkdir -p "$(dirname "{output_folder}/brainstorming/brainstorming-session-{{date}}.md")" mkdir -p "$(dirname "{brainstorming_session_output_file}")"
# Initialize from template # Initialize from template
cp "{template_path}" "{output_folder}/brainstorming/brainstorming-session-{{date}}.md" cp "{template_path}" "{brainstorming_session_output_file}"
``` ```
#### B. Context File Check and Loading #### B. Context File Check and Loading
@ -134,7 +141,7 @@ _[Content based on conversation about session parameters and facilitator approac
## APPEND TO DOCUMENT: ## APPEND TO DOCUMENT:
When user selects approach, append the session overview content directly to `{output_folder}/brainstorming/brainstorming-session-{{date}}.md` using the structure from above. When user selects approach, append the session overview content directly to `{brainstorming_session_output_file}` using the structure from above.
### E. Continue to Technique Selection ### E. Continue to Technique Selection
@ -152,7 +159,7 @@ Which approach appeals to you most? (Enter 1-4)"
#### When user selects approach number: #### When user selects approach number:
- **Append initial session overview to `{output_folder}/brainstorming/brainstorming-session-{{date}}.md`** - **Append initial session overview to `{brainstorming_session_output_file}`**
- **Update frontmatter:** `stepsCompleted: [1]`, `selected_approach: '[selected approach]'` - **Update frontmatter:** `stepsCompleted: [1]`, `selected_approach: '[selected approach]'`
- **Load the appropriate step-02 file** based on selection - **Load the appropriate step-02 file** based on selection
@ -167,7 +174,9 @@ After user selects approach number:
## SUCCESS METRICS: ## SUCCESS METRICS:
✅ Existing workflow detected and continuation handled properly ✅ Existing sessions detected without reading file contents
✅ User prompted to continue existing session or start new
✅ Correct session file selected for continuation
✅ Fresh workflow initialized with correct document structure ✅ Fresh workflow initialized with correct document structure
✅ Session context gathered and understood clearly ✅ Session context gathered and understood clearly
✅ User's approach selection captured and routed correctly ✅ User's approach selection captured and routed correctly
@ -176,7 +185,9 @@ After user selects approach number:
## FAILURE MODES: ## FAILURE MODES:
❌ Not checking for existing document before creating new one ❌ Reading file contents during session detection (wastes context)
❌ Not asking user before continuing existing session
❌ Not properly routing user's continue/new session selection
❌ Missing continuation detection leading to duplicate work ❌ Missing continuation detection leading to duplicate work
❌ Insufficient session context gathering ❌ Insufficient session context gathering
❌ Not properly routing user's approach selection ❌ Not properly routing user's approach selection
@ -184,7 +195,9 @@ After user selects approach number:
## SESSION SETUP PROTOCOLS: ## SESSION SETUP PROTOCOLS:
- Always verify document existence before initialization - Always list sessions folder WITHOUT reading file contents
- Ask user before continuing any existing session
- Only load continue step after user confirms
- Load brain techniques CSV only when needed for technique presentation - Load brain techniques CSV only when needed for technique presentation
- Use collaborative facilitation language throughout - Use collaborative facilitation language throughout
- Maintain psychological safety for creative exploration - Maintain psychological safety for creative exploration

View File

@ -35,7 +35,7 @@ Load existing document and analyze current state:
**Document Analysis:** **Document Analysis:**
- Read existing `{output_folder}/brainstorming/brainstorming-session-{{date}}.md` - Read existing `{brainstorming_session_output_file}`
- Examine frontmatter for `stepsCompleted`, `session_topic`, `session_goals` - Examine frontmatter for `stepsCompleted`, `session_topic`, `session_goals`
- Review content to understand session progress and outcomes - Review content to understand session progress and outcomes
- Identify current stage and next logical steps - Identify current stage and next logical steps

View File

@ -296,7 +296,7 @@ After final technique element:
#### If 'C' (Move to organization): #### If 'C' (Move to organization):
- **Append the technique execution content to `{output_folder}/brainstorming/brainstorming-session-{{date}}.md`** - **Append the technique execution content to `{brainstorming_session_output_file}`**
- **Update frontmatter:** `stepsCompleted: [1, 2, 3]` - **Update frontmatter:** `stepsCompleted: [1, 2, 3]`
- **Load:** `./step-04-idea-organization.md` - **Load:** `./step-04-idea-organization.md`
@ -356,7 +356,7 @@ _[Short narrative describing the user and AI collaboration journey - what made t
## APPEND TO DOCUMENT: ## APPEND TO DOCUMENT:
When user selects 'C', append the content directly to `{output_folder}/brainstorming/brainstorming-session-{{date}}.md` using the structure from above. When user selects 'C', append the content directly to `{brainstorming_session_output_file}` using the structure from above.
## SUCCESS METRICS: ## SUCCESS METRICS:

View File

@ -253,14 +253,14 @@ Provide final session wrap-up and forward guidance:
#### If [C] Complete: #### If [C] Complete:
- **Append the final session content to `{output_folder}/brainstorming/brainstorming-session-{{date}}.md`** - **Append the final session content to `{brainstorming_session_output_file}`**
- Update frontmatter: `stepsCompleted: [1, 2, 3, 4]` - Update frontmatter: `stepsCompleted: [1, 2, 3, 4]`
- Set `session_active: false` and `workflow_completed: true` - Set `session_active: false` and `workflow_completed: true`
- Complete workflow with positive closure message - Complete workflow with positive closure message
## APPEND TO DOCUMENT: ## APPEND TO DOCUMENT:
When user selects 'C', append the content directly to `{output_folder}/brainstorming/brainstorming-session-{{date}}.md` using the structure from step 7. When user selects 'C', append the content directly to `{brainstorming_session_output_file}` using the structure from step 7.
## SUCCESS METRICS: ## SUCCESS METRICS:

View File

@ -45,7 +45,9 @@ Load config from `{project-root}/_bmad/core/config.yaml` and resolve:
- `installed_path` = `{project-root}/_bmad/core/workflows/brainstorming` - `installed_path` = `{project-root}/_bmad/core/workflows/brainstorming`
- `template_path` = `{installed_path}/template.md` - `template_path` = `{installed_path}/template.md`
- `brain_techniques_path` = `{installed_path}/brain-methods.csv` - `brain_techniques_path` = `{installed_path}/brain-methods.csv`
- `default_output_file` = `{output_folder}/brainstorming/brainstorming-session-{{date}}.md` - `brainstorming_session_output_file` = `{output_folder}/brainstorming/brainstorming-session-{{date}}-{{time}}.md` (evaluated once at workflow start)
All steps MUST reference `{brainstorming_session_output_file}` instead of the full path pattern.
- `context_file` = Optional context file path from workflow invocation for project-specific guidance - `context_file` = Optional context file path from workflow invocation for project-specific guidance
- `advancedElicitationTask` = `{project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml` - `advancedElicitationTask` = `{project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml`