Files
brachnha-insight/_bmad/bmb/workflows/workflow/data/input-discovery-standards.md
Max e9e6fadb1d fix: ChatBubble crash and DeepSeek API compatibility
- Fix ChatBubble to handle non-string content with String() wrapper
- Fix API route to use generateText for non-streaming requests
- Add @ai-sdk/openai-compatible for non-OpenAI providers (DeepSeek, etc.)
- Use Chat Completions API instead of Responses API for compatible providers
- Update ChatBubble tests and fix component exports to kebab-case
- Remove stale PascalCase ChatBubble.tsx file
2026-01-26 16:55:05 +07:00

6.4 KiB

Input Document Discovery Standards

Purpose: How workflows discover, validate, and select input documents from prior workflows or external sources.


Discovery Patterns

Pattern 1: Prior Workflow Output

Use when: Workflow is part of a sequence (e.g., PRD → Architecture → Epics)

Example: BMM module pipeline - each of these are a workflow with many steps:

brainstorming → research → brief → PRD → UX → architecture → epics → sprint-planning

Each workflow checks for output from prior workflow(s).

Use when: Documents stored in known project location

Example: Manager review workflow searches {project_folder}/employee-notes/

Pattern 3: User-Specified Paths

Use when: User provides document locations

Example: Tax workflow asks for financial statement paths

Pattern 4: Pattern-Based Discovery

Use when: Search by file naming pattern

Example: Find all *-brief.md files in {planning_artifacts}/


Discovery Step Pattern

When: Step 1 (init) or Step 2 (discovery)

Frontmatter:

---
# Input discovery variables
inputDocuments: []           # Populated with discovered docs
requiredInputCount: 1         # Minimum required to proceed
optionalInputCount: 0        # Additional docs user may provide
moduleInputFolder: '{planning_artifacts}'  # Where to search
inputFilePatterns:           # File patterns to match
  - '*-prd.md'
  - '*-ux.md'
---

Discovery Logic:

## 1. Check for Known Prior Workflow Outputs

Search in order:
1. {module_output_folder}/[known-prior-workflow-output].md
2. {project_folder}/[standard-locations]/
3. {planning_artifacts}/
4. User-provided paths

## 2. Pattern-Based Search

If no known prior workflow, search by patterns:
- Look for files matching {inputFilePatterns}
- Search in {moduleInputFolder}
- Search in {project_folder}/docs/

## 3. Present Findings to User

"Found these documents that may be relevant:
- [1] prd-my-project.md (created 3 days ago)
- [2] ux-research.md (created 1 week ago)
- [3] competitor-analysis.md

Which would you like to use? You can select multiple, or provide additional paths."

## 4. Confirm and Load

User confirms selection → Load selected documents
Add to {inputDocuments} array in output frontmatter

Required vs Optional Inputs

Required Inputs

Workflow cannot proceed without these.

Example: Architecture workflow requires PRD

## INPUT REQUIREMENT:

This workflow requires a Product Requirements Document to proceed.

Searching for PRD in:
- {bmm_creations_output_folder}/prd-*.md
- {planning_artifacts}/*-prd.md
- {project_folder}/docs/*-prd.md

[If found:]
"Found PRD: prd-my-project.md. Use this?"
[If not found:]
"No PRD found. This workflow requires a PRD to continue.
Please provide the path to your PRD, or run the PRD workflow first."

Optional Inputs

Workflow can proceed without these, but user may include.

Example: UX workflow can use research docs if available

## OPTIONAL INPUTS:

This workflow can incorporate research documents if available.

Searching for research in:
- {bmm_creations_output_folder}/research-*.md
- {project_folder}/research/

[If found:]
"Found these research documents:
- [1] user-interviews.md
- [2] competitive-analysis.md
Include any? (None required to proceed)"

Module Workflow Chaining

For modules with sequential workflows:

Frontmatter in workflow.md:

---
## INPUT FROM PRIOR WORKFLOFS

### Required Inputs:
- {module_output_folder}/prd-{project_name}.md

### Optional Inputs:
- {module_output_folder}/ux-research-{project_name}.md
- {project_folder}/docs/competitor-analysis.md
---

Step 1 discovery:

## 1. Discover Prior Workflow Outputs

Check for required inputs:
1. Look for {module_output_folder}/prd-{project_name}.md
2. If missing → Error: "Please run PRD workflow first"
3. If found → Confirm with user

Check for optional inputs:
1. Search {module_output_folder}/ for research-*.md
2. Search {project_folder}/docs/ for *-analysis.md
3. Present findings to user
4. Add selections to {inputDocuments}

Input Validation

After discovery, validate inputs:

## INPUT VALIDATION:

For each discovered document:
1. Load and read frontmatter
2. Check workflowType field (should match expected)
3. Check completeness (stepsCompleted should be complete)
4. Check date (warn if document is very old)

[If validation fails:]
"Document prd-my-project.md appears incomplete.
Last step: step-06 (of 11)
Recommend completing PRD workflow before proceeding.
Proceed anyway? [Y]es [N]o"

Multiple Input Selection

When user can select multiple documents:

## Document Selection

"Found these relevant documents:
[1] prd-my-project.md (3 days ago) ✓ Recommended
[2] prd-v1.md (2 months ago) ⚠ Older version
[3] ux-research.md (1 week ago)

Enter numbers to include (comma-separated), or 'none' to skip:
> 1, 3

Selected: prd-my-project.md, ux-research.md"

Track in frontmatter:

---
inputDocuments:
  - path: '{output_folder}/prd-my-project.md'
    type: 'prd'
    source: 'prior-workflow'
    selected: true
  - path: '{output_folder}/ux-research.md'
    type: 'research'
    source: 'prior-workflow'
    selected: true
---

Search Path Variables

Common module variables for input discovery:

Variable Purpose
{module_output_folder} Prior workflow outputs
{planning_artifacts} General planning docs
{project_folder}/docs Project documentation
{product_knowledge} Product-specific knowledge
{user_documents} User-provided location

Discovery Step Template

---
name: 'step-01-init'
description: 'Initialize and discover input documents'

# Input Discovery
inputDocuments: []
requiredInputCount: 1
moduleInputFolder: '{module_output_folder}'
inputFilePatterns:
  - '*-prd.md'
---

Validation Checklist

For input discovery:

  • Required inputs defined in step frontmatter
  • Search paths defined (module variables or patterns)
  • User confirmation before using documents
  • Validation of document completeness
  • Clear error messages when required inputs missing
  • Support for multiple document selection
  • Optional inputs clearly marked as optional