# Document Project Workflow Router The workflow execution engine is governed by: {project-root}/_bmad/core/tasks/workflow.xml You MUST have already loaded and processed: {project-root}/_bmad/bmm/workflows/document-project/workflow.yaml Communicate all responses in {communication_language} This router determines workflow mode and delegates to specialized sub-workflows Check for existing state file at: {project_knowledge}/project-scan-report.json Read state file and extract: timestamps, mode, scan_level, current_step, completed_steps, project_classification Extract cached project_type_id(s) from state file if present Calculate age of state file (current time - last_updated) I found an in-progress workflow state from {{last_updated}}. **Current Progress:** - Mode: {{mode}} - Scan Level: {{scan_level}} - Completed Steps: {{completed_steps_count}}/{{total_steps}} - Last Step: {{current_step}} - Project Type(s): {{cached_project_types}} Would you like to: 1. **Resume from where we left off** - Continue from step {{current_step}} 2. **Start fresh** - Archive old state and begin new scan 3. **Cancel** - Exit without changes Your choice [1/2/3]: Set resume_mode = true Set workflow_mode = {{mode}} Load findings summaries from state file Load cached project_type_id(s) from state file CONDITIONAL CSV LOADING FOR RESUME: For each cached project_type_id, load ONLY the corresponding row from: {documentation_requirements_csv} Skip loading project-types.csv and architecture_registry.csv (not needed on resume) Store loaded doc requirements for use in remaining steps Display: "Resuming {{workflow_mode}} from {{current_step}} with cached project type(s): {{cached_project_types}}" Read fully and follow: {installed_path}/workflows/deep-dive-instructions.md with resume context Read fully and follow: {installed_path}/workflows/full-scan-instructions.md with resume context Create archive directory: {project_knowledge}/.archive/ Move old state file to: {project_knowledge}/.archive/project-scan-report-{{timestamp}}.json Set resume_mode = false Continue to Step 0.5 Display: "Exiting workflow without changes." Exit workflow Display: "Found old state file (>24 hours). Starting fresh scan." Archive old state file to: {project_knowledge}/.archive/project-scan-report-{{timestamp}}.json Set resume_mode = false Continue to Step 0.5 Check if {project_knowledge}/index.md exists Read existing index.md to extract metadata (date, project structure, parts count) Store as {{existing_doc_date}}, {{existing_structure}} I found existing documentation generated on {{existing_doc_date}}. What would you like to do? 1. **Re-scan entire project** - Update all documentation with latest changes 2. **Deep-dive into specific area** - Generate detailed documentation for a particular feature/module/folder 3. **Cancel** - Keep existing documentation as-is Your choice [1/2/3]: Set workflow_mode = "full_rescan" Display: "Starting full project rescan..." Read fully and follow: {installed_path}/workflows/full-scan-instructions.md After sub-workflow completes, continue to Step 4 Set workflow_mode = "deep_dive" Set scan_level = "exhaustive" Display: "Starting deep-dive documentation mode..." Read fully and follow: {installed_path}/workflows/deep-dive-instructions.md After sub-workflow completes, continue to Step 4 Display message: "Keeping existing documentation. Exiting workflow." Exit workflow Set workflow_mode = "initial_scan" Display: "No existing documentation found. Starting initial project scan..." Read fully and follow: {installed_path}/workflows/full-scan-instructions.md After sub-workflow completes, continue to Step 4