project-standalo-note-to-app/.claude/commands/workflow/resume.md

242 lines
10 KiB
Markdown

---
description: Resume an interrupted workflow from saved state
allowed-tools: Read, Write, Edit, Bash, AskUserQuestion, TodoWrite
agents: workflow-orchestrator, workflow-validator
---
# Workflow Orchestrator - Resume
Resume a previously interrupted or paused workflow.
## EXECUTION PROTOCOL
### Step 1: Load Workflow State
Read `.workflow/current.yml`:
- If not found: Report "No workflow to resume" and exit
- If found: Load state and continue
### Step 2: Display Resume Summary
```
╔══════════════════════════════════════════════════════════════╗
║ 🔄 RESUMING WORKFLOW ║
╠══════════════════════════════════════════════════════════════╣
║ Workflow ID: <id> ║
║ Feature: <feature> ║
║ Started: <started_at> ║
║ Last Updated: <updated_at> ║
╠══════════════════════════════════════════════════════════════╣
║ CURRENT STATE ║
║ Phase: <current_phase> ║
║ Resume Point: <resume_point.action> ║
╠══════════════════════════════════════════════════════════════╣
║ PROGRESS ║
║ Entities Designed: <progress.entities_designed> ║
║ Tasks Created: <progress.tasks_created> ║
║ Tasks Implemented: <progress.tasks_implemented> ║
║ Tasks Reviewed: <progress.tasks_reviewed> ║
║ Tasks Completed: <progress.tasks_completed> ║
╠══════════════════════════════════════════════════════════════╣
║ LAST ERROR (if any): <last_error> ║
╚══════════════════════════════════════════════════════════════╝
```
### Step 3: Confirm Resume
**Ask user**:
- Option 1: "Continue - Resume from current point"
- Option 2: "Restart Phase - Redo current phase from beginning"
- Option 3: "Abort - Cancel workflow entirely"
### Step 4: Resume Based on Phase
**INITIALIZING**:
→ Continue to DESIGNING phase
**DESIGNING**:
→ Continue architect work
→ Resume creating entities/tasks
**AWAITING_DESIGN_APPROVAL**:
→ Present design summary again
→ Ask for approval
**DESIGN_APPROVED**:
**CRITICAL**: Generate types before implementing
→ Run: `python3 skills/guardrail-orchestrator/scripts/generate_types.py .workflow/versions/$VERSION_ID/design/design_document.yml --output-dir types`
→ Verify types exist: `ls types/types.ts types/component-props.ts types/api-types.ts`
→ Transition to IMPLEMENTING
**DESIGN_REJECTED**:
→ Show rejection reason
→ Return to DESIGNING with feedback
**IMPLEMENTING**:
**Step 1**: Verify generated types exist
```bash
ls types/types.ts types/component-props.ts types/api-types.ts
```
If missing → Run type generation first
**Step 2**: Display type compliance reminder
```
╔══════════════════════════════════════════════════════════════╗
║ ⚠️ TYPE COMPLIANCE REQUIRED ║
╠══════════════════════════════════════════════════════════════╣
║ ALL implementations MUST: ║
║ 1. Import types from @/types
║ 2. Import component props from @/types/component-props ║
║ 3. Use object props (not flat props) ║
║ 4. Implement ALL events from design ║
╚══════════════════════════════════════════════════════════════╝
```
**Step 3**: Find incomplete tasks
**Step 4**: Continue implementation from next pending task
**Step 5**: Run validation after completing tasks:
```bash
python3 skills/guardrail-orchestrator/scripts/workflow_manager.py validate --checklist
```
**REVIEWING**:
→ Find tasks awaiting review
→ Continue review process
**SECURITY_REVIEW**:
→ Continue security scanning
→ Run: `python3 skills/guardrail-orchestrator/scripts/security_scan.py --project-dir . --severity HIGH`
→ Run: `python3 skills/guardrail-orchestrator/scripts/validate_api_contract.py --project-dir .`
→ If passed: Transition to AWAITING_IMPL_APPROVAL
→ If critical issues: Return to IMPLEMENTING with security feedback
**AWAITING_IMPL_APPROVAL**:
→ Present implementation summary again
→ Ask for approval
**IMPL_APPROVED**:
→ Continue to COMPLETING phase
**IMPL_REJECTED**:
→ Show rejection reason
→ Return to IMPLEMENTING with feedback
**COMPLETING**:
→ Continue marking tasks complete
**PAUSED**:
→ Resume from `resume_point.phase`
**FAILED**:
→ Show error details
→ Ask user how to proceed:
- Retry failed operation
- Skip and continue
- Abort workflow
### Step 5: Continue Workflow
Execute remaining phases following `/workflow:spawn` protocol.
## TASK-LEVEL RESUME
If resuming during IMPLEMENTING phase:
1. **Verify types exist**:
```bash
ls types/types.ts types/component-props.ts types/api-types.ts types/index.ts
```
If missing → Generate types first:
```bash
python3 skills/guardrail-orchestrator/scripts/generate_types.py \
.workflow/versions/$VERSION_ID/design/design_document.yml \
--output-dir types
```
2. **Verify IMPLEMENTATION_CONTEXT.md exists**:
```bash
ls .workflow/versions/$VERSION_ID/IMPLEMENTATION_CONTEXT.md
```
If missing → Regenerate (see spawn.md Step 3.5.4)
3. **Display context reminder to agent**:
```
╔══════════════════════════════════════════════════════════════╗
║ 🔴 MANDATORY CONTEXT READING ║
╠══════════════════════════════════════════════════════════════╣
║ BEFORE implementing ANY task, you MUST read: ║
║ ║
║ 1. .workflow/versions/$VERSION_ID/IMPLEMENTATION_CONTEXT.md ║
║ Contains: All rules, types, import patterns ║
║ ║
║ 2. .workflow/versions/$VERSION_ID/tasks/task_<id>.yml ║
║ Contains: Task definition, acceptance criteria ║
║ ║
║ 3. .workflow/versions/$VERSION_ID/contexts/<id>.yml ║
║ Contains: Entity context, props, events, schemas ║
║ ║
║ 4. types/component-props.ts OR types/api-types.ts ║
║ Contains: Generated types - SOURCE OF TRUTH ║
╚══════════════════════════════════════════════════════════════╝
```
4. **Identify incomplete tasks**:
```yaml
# Resume from first task not in 'completed' or 'approved'
resume_task: tasks.pending[0] || tasks.in_progress[0] || tasks.review[0]
```
5. **Skip completed work**:
- Don't recreate files that exist and are valid
- Don't re-run validations that passed
6. **Continue from failure point**:
- If task failed mid-implementation, restart that task
- If validation failed, show error and retry
7. **For each task, remind agent of type requirements**:
```
⚠️ IMPLEMENTATION RULES:
- READ .workflow/versions/$VERSION_ID/IMPLEMENTATION_CONTEXT.md FIRST
- Import types from @/types (NOT define your own)
- Import props from @/types/component-props
- Use object props: { song: Song } NOT { id, title, ... }
- Implement ALL events from design
```
8. **Run validation after completing tasks**:
```bash
python3 skills/guardrail-orchestrator/scripts/workflow_manager.py validate --checklist
```
- If errors found → Fix before proceeding
- If warnings only → Continue with caution
## STATE RECOVERY
If `.workflow/current.yml` is corrupted:
1. **Check for backup**: `.workflow/current.yml.bak`
2. **Attempt recovery from manifest**:
- Read `project_manifest.json` for entity status
- Scan version-specific tasks directory for task status
- Reconstruct workflow state
3. **If unrecoverable**:
- Report error
- Suggest starting fresh with `/workflow:spawn`
## ABORT WORKFLOW
If user chooses to abort:
1. **Confirm abort**:
"This will cancel the workflow. Files already created will remain. Continue?"
2. **If confirmed**:
- Archive state to `.workflow/history/<id>_aborted.yml`
- Clear `.workflow/current.yml`
- Report: "Workflow aborted. Created files remain in place."
3. **Cleanup options**:
- Offer to rollback created files (if git available)
- Offer to keep partial implementation