mirror of
https://github.com/catlog22/Claude-Code-Workflow.git
synced 2026-02-10 02:24:35 +08:00
feat: update unified-execute-with-file command for sequential execution and improved dependency handling
This commit is contained in:
@@ -1,13 +1,13 @@
|
|||||||
---
|
---
|
||||||
name: unified-execute-with-file
|
name: unified-execute-with-file
|
||||||
description: Universal execution engine for consuming any planning/brainstorm/analysis output with minimal progress tracking, multi-agent coordination, and incremental execution
|
description: Universal execution engine for consuming any planning/brainstorm/analysis output with minimal progress tracking, multi-agent coordination, and incremental execution
|
||||||
argument-hint: "[-y|--yes] [-p|--plan <path>[,<path2>]] [--merge-agents] [--auto-commit] [--commit-prefix \"prefix\"] [-m|--mode sequential|parallel] [\"execution context or task name\"]"
|
argument-hint: "[-y|--yes] [<path>[,<path2>] | -p|--plan <path>[,<path2>]] [--auto-commit] [--commit-prefix \"prefix\"] [\"execution context or task name\"]"
|
||||||
allowed-tools: TodoWrite(*), Task(*), AskUserQuestion(*), Read(*), Grep(*), Glob(*), Bash(*), Edit(*), Write(*)
|
allowed-tools: TodoWrite(*), Task(*), AskUserQuestion(*), Read(*), Grep(*), Glob(*), Bash(*), Edit(*), Write(*)
|
||||||
---
|
---
|
||||||
|
|
||||||
## Auto Mode
|
## Auto Mode
|
||||||
|
|
||||||
When `--yes` or `-y`: Auto-confirm execution decisions, use default parallel strategy where possible.
|
When `--yes` or `-y`: Auto-confirm execution decisions, follow plan's DAG dependencies.
|
||||||
|
|
||||||
# Unified Execute-With-File Command
|
# Unified Execute-With-File Command
|
||||||
|
|
||||||
@@ -17,23 +17,20 @@ When `--yes` or `-y`: Auto-confirm execution decisions, use default parallel str
|
|||||||
# Basic usage (auto-detect plan, ask for execution method)
|
# Basic usage (auto-detect plan, ask for execution method)
|
||||||
/workflow:unified-execute-with-file
|
/workflow:unified-execute-with-file
|
||||||
|
|
||||||
# Execute with specific plan
|
# Execute with specific plan (no -p needed for default paths)
|
||||||
/workflow:unified-execute-with-file -p .workflow/plans/auth-plan.md
|
/workflow:unified-execute-with-file .workflow/plans/auth-plan.md
|
||||||
|
|
||||||
# Merge multiple plans
|
# Execute multiple plans sequentially (comma-separated)
|
||||||
/workflow:unified-execute-with-file -p plan.json,agents/auth/plan.json
|
/workflow:unified-execute-with-file plan1.json,plan2.json,plan3.json
|
||||||
|
|
||||||
# Collaborative plan execution (auto-discover sub-plans)
|
# With explicit -p flag (still supported)
|
||||||
/workflow:unified-execute-with-file -p .workflow/.planning/CPLAN-xxx --merge-agents
|
/workflow:unified-execute-with-file -p .workflow/.planning/CPLAN-xxx
|
||||||
|
|
||||||
# With auto-commit (conventional commits)
|
# With auto-commit (conventional commits)
|
||||||
/workflow:unified-execute-with-file --auto-commit -p plan.json
|
/workflow:unified-execute-with-file --auto-commit plan.json
|
||||||
|
|
||||||
# Sequential execution (no parallelization)
|
|
||||||
/workflow:unified-execute-with-file -m sequential -p plan.json
|
|
||||||
|
|
||||||
# Auto mode (skip prompts, use Agent for simple tasks, CLI for complex)
|
# Auto mode (skip prompts, use Agent for simple tasks, CLI for complex)
|
||||||
/workflow:unified-execute-with-file -y -p plan.json
|
/workflow:unified-execute-with-file -y plan.json
|
||||||
```
|
```
|
||||||
|
|
||||||
**Execution Methods**:
|
**Execution Methods**:
|
||||||
@@ -44,7 +41,9 @@ When `--yes` or `-y`: Auto-confirm execution decisions, use default parallel str
|
|||||||
|
|
||||||
**Context Source**: Plan files (IMPL_PLAN.md, plan.json, synthesis.json, etc.)
|
**Context Source**: Plan files (IMPL_PLAN.md, plan.json, synthesis.json, etc.)
|
||||||
**Output Directory**: `.workflow/.execution/{session-id}/`
|
**Output Directory**: `.workflow/.execution/{session-id}/`
|
||||||
**Default Mode**: Parallel execution with smart dependency resolution
|
**Execution Strategy**:
|
||||||
|
- Multiple plans: Sequential execution (plan1 → plan2 → plan3)
|
||||||
|
- Within each plan: DAG-based dependency resolution with parallel execution where possible
|
||||||
**Core Innovation**: Unified event log + structured notes + auto-commit
|
**Core Innovation**: Unified event log + structured notes + auto-commit
|
||||||
|
|
||||||
## Output Artifacts
|
## Output Artifacts
|
||||||
@@ -56,9 +55,6 @@ When `--yes` or `-y`: Auto-confirm execution decisions, use default parallel str
|
|||||||
| `execution.md` | Plan overview, task table, execution timeline |
|
| `execution.md` | Plan overview, task table, execution timeline |
|
||||||
| `execution-events.md` | ⭐ Unified log (all task executions) - SINGLE SOURCE OF TRUTH |
|
| `execution-events.md` | ⭐ Unified log (all task executions) - SINGLE SOURCE OF TRUTH |
|
||||||
|
|
||||||
### Generated Code
|
|
||||||
|
|
||||||
Files generated directly to project directories (`src/`, `tests/`, `docs/`, etc.), not into execution folder.
|
|
||||||
|
|
||||||
## Overview
|
## Overview
|
||||||
|
|
||||||
@@ -71,12 +67,12 @@ Universal execution engine consuming **any** planning output and executing it wi
|
|||||||
│ UNIFIED EXECUTION WORKFLOW │
|
│ UNIFIED EXECUTION WORKFLOW │
|
||||||
├─────────────────────────────────────────────────────────────────────────┤
|
├─────────────────────────────────────────────────────────────────────────┤
|
||||||
│ │
|
│ │
|
||||||
│ Phase 1: Plan Detection & Multi-Plan Merging │
|
│ Phase 1: Plan Detection & Sequential Execution │
|
||||||
│ ├─ Auto-detect or explicit --plan path │
|
│ ├─ Auto-detect or explicit --plan path │
|
||||||
│ ├─ Support multiple plans (comma-separated or --merge-agents) │
|
│ ├─ Support multiple plans (comma-separated) │
|
||||||
│ ├─ Deduplicate tasks (file overlap + 90% title similarity) │
|
│ ├─ Execute plans sequentially: plan1 → plan2 → plan3 │
|
||||||
│ ├─ Assign global IDs: GTASK-{plan-index}-{original-id} │
|
│ ├─ Each plan: independent session with own execution-events.md │
|
||||||
│ └─ Remap cross-plan dependencies │
|
│ └─ Global session ID for multi-plan execution tracking │
|
||||||
│ │
|
│ │
|
||||||
│ Phase 2: Session Initialization │
|
│ Phase 2: Session Initialization │
|
||||||
│ ├─ Create .workflow/.execution/{sessionId}/ │
|
│ ├─ Create .workflow/.execution/{sessionId}/ │
|
||||||
@@ -91,7 +87,7 @@ Universal execution engine consuming **any** planning output and executing it wi
|
|||||||
│ ├─ Generate validation report with recommendations │
|
│ ├─ Generate validation report with recommendations │
|
||||||
│ └─ Ask user: execution method (Agent/CLI-Codex/CLI-Gemini/Auto) │
|
│ └─ Ask user: execution method (Agent/CLI-Codex/CLI-Gemini/Auto) │
|
||||||
│ │
|
│ │
|
||||||
│ Phase 4: Wave Execution (Parallel/Sequential) │
|
│ Phase 4: Wave Execution (DAG-based Dependencies) │
|
||||||
│ ┌──────────────┬──────────────┬──────────────┐ │
|
│ ┌──────────────┬──────────────┬──────────────┐ │
|
||||||
│ │ Wave 1 │ Wave 2 │ Wave N │ │
|
│ │ Wave 1 │ Wave 2 │ Wave N │ │
|
||||||
│ ├──────────────┼──────────────┼──────────────┤ │
|
│ ├──────────────┼──────────────┼──────────────┤ │
|
||||||
@@ -122,13 +118,11 @@ Universal execution engine consuming **any** planning output and executing it wi
|
|||||||
```
|
```
|
||||||
.workflow/.execution/{EXEC-slug-YYYY-MM-DD}/
|
.workflow/.execution/{EXEC-slug-YYYY-MM-DD}/
|
||||||
├── execution.md # Plan overview + task table + timeline
|
├── execution.md # Plan overview + task table + timeline
|
||||||
└── execution-events.md # ⭐ Unified log (all task executions) - SINGLE SOURCE OF TRUTH
|
└── execution-events.md # ⭐ Unified log (all task executions + review checkpoints) - SINGLE SOURCE OF TRUTH
|
||||||
|
|
||||||
# Generated files (direct to project):
|
|
||||||
src/*, tests/*, docs/*
|
|
||||||
```
|
```
|
||||||
|
|
||||||
**Key Concept**: execution-events.md serves as both human-readable log AND machine-parseable state store. No redundancy, one unified source.
|
**Key Concept**: execution-events.md serves as both human-readable log AND machine-parseable state store. All execution data (tasks, reviews, checkpoints) in one unified source.
|
||||||
|
|
||||||
## Implementation
|
## Implementation
|
||||||
|
|
||||||
@@ -141,33 +135,28 @@ src/*, tests/*, docs/*
|
|||||||
**Workflow Steps**:
|
**Workflow Steps**:
|
||||||
|
|
||||||
1. **Parse Command Flags**
|
1. **Parse Command Flags**
|
||||||
- Extract plan paths from `--plan` or `-p` argument
|
- Extract plan paths from `--plan` or `-p` argument (or positional)
|
||||||
- Detect `--merge-agents` flag for collaborative plan auto-discovery
|
|
||||||
- Detect `--auto-commit` and `--commit-prefix` for git integration
|
- Detect `--auto-commit` and `--commit-prefix` for git integration
|
||||||
- Detect `--mode` for execution strategy (parallel/sequential)
|
|
||||||
- Detect `-y` or `--yes` for auto-confirmation mode
|
- Detect `-y` or `--yes` for auto-confirmation mode
|
||||||
|
|
||||||
2. **Resolve Plan Paths**
|
2. **Resolve Plan Paths**
|
||||||
|
|
||||||
| Input Format | Resolution Strategy |
|
| Input Format | Resolution Strategy |
|
||||||
|--------------|---------------------|
|
|--------------|---------------------|
|
||||||
| Comma-separated | Split by comma: `plan1.json,plan2.json` |
|
| Comma-separated | Execute sequentially: `plan1.json → plan2.json → plan3.json` |
|
||||||
| `--merge-agents` | Auto-discover: `plan-note.md` + `agents/**/plan.json` |
|
|
||||||
| Single path | Direct use |
|
| Single path | Direct use |
|
||||||
| No path | Auto-detect from `.workflow/` (IMPL_PLAN.md or task JSONs) |
|
| No path | Auto-detect from `.workflow/` (IMPL_PLAN.md or task JSONs) |
|
||||||
|
|
||||||
3. **Build Unified Graph**
|
3. **Parse Current Plan**
|
||||||
- Parse all plans via format-agnostic `parsePlan()`
|
- Parse plan via format-agnostic `parsePlan()`
|
||||||
- Assign global IDs: `GTASK-{plan-index}-{original-id}`
|
- Build task graph from plan's DAG dependencies
|
||||||
- Deduplicate tasks (file overlap + 90% title similarity)
|
|
||||||
- Remap dependencies (handle merged tasks + cross-plan refs)
|
|
||||||
- Validate (detect cycles), topological sort
|
- Validate (detect cycles), topological sort
|
||||||
- Return: `{ tasks, executionOrder, planSources, metadata }`
|
- Return: `{ tasks, executionOrder, planSource, metadata }`
|
||||||
|
|
||||||
4. **Create Session Directory**
|
4. **Create Session Directory**
|
||||||
- Generate session ID: `EXEC-{slug}-{date}-{random}`
|
- Generate session ID: `EXEC-{slug}-{date}-{random}`
|
||||||
- Create `.workflow/.execution/{sessionId}/`
|
- Create `.workflow/.execution/{sessionId}/`
|
||||||
- Initialize `execution.md` with plan sources and merge statistics
|
- Initialize `execution.md` with plan source
|
||||||
- Initialize `execution-events.md` (empty, will be appended)
|
- Initialize `execution-events.md` (empty, will be appended)
|
||||||
|
|
||||||
**Success Criteria**:
|
**Success Criteria**:
|
||||||
@@ -182,13 +171,15 @@ src/*, tests/*, docs/*
|
|||||||
|
|
||||||
### Pre-Execution Validation (Agent-Assisted)
|
### Pre-Execution Validation (Agent-Assisted)
|
||||||
|
|
||||||
**Objective**: Use validation agent to check execution feasibility, then ask user about execution method.
|
**Objective**: Use validation agent to check execution feasibility and launch review agent for quality oversight.
|
||||||
|
|
||||||
**Prerequisites**: Session initialized, unified graph built
|
**Prerequisites**: Session initialized, unified graph built
|
||||||
|
|
||||||
**Workflow Steps**:
|
**Workflow Steps**:
|
||||||
|
|
||||||
1. **Launch Validation Agent**
|
1. **Launch Parallel Agents**
|
||||||
|
|
||||||
|
**A. Validation Agent**
|
||||||
|
|
||||||
```javascript
|
```javascript
|
||||||
Task(
|
Task(
|
||||||
@@ -224,8 +215,46 @@ Generate validation-report.json in ${sessionFolder}:
|
|||||||
"file_conflicts": [{ "file": "", "tasks": [], "wave": 0 }],
|
"file_conflicts": [{ "file": "", "tasks": [], "wave": 0 }],
|
||||||
"complexity_assessment": { "low": 0, "medium": 0, "high": 0 },
|
"complexity_assessment": { "low": 0, "medium": 0, "high": 0 },
|
||||||
"risks": [{ "severity": "critical|high|medium|low", "description": "" }],
|
"risks": [{ "severity": "critical|high|medium|low", "description": "" }],
|
||||||
"recommendations": []
|
"recommendations": [],
|
||||||
|
"review_checkpoints": [{ "after_tasks": [], "focus_areas": [] }]
|
||||||
}
|
}
|
||||||
|
`
|
||||||
|
)
|
||||||
|
```
|
||||||
|
|
||||||
|
**B. Review Agent (Parallel)**
|
||||||
|
|
||||||
|
```javascript
|
||||||
|
Task(
|
||||||
|
subagent_type="universal-executor",
|
||||||
|
run_in_background=false,
|
||||||
|
description="Initialize review oversight system",
|
||||||
|
prompt=`
|
||||||
|
## Review Agent Initialization
|
||||||
|
|
||||||
|
Set up incremental review system for execution quality oversight.
|
||||||
|
|
||||||
|
### Review Strategy
|
||||||
|
- **Checkpoint Interval**: Every 2-4 tasks
|
||||||
|
- **Focus Areas**: Code quality, plan compliance, integration risks
|
||||||
|
- **Update Principle**: Minimal changes only
|
||||||
|
|
||||||
|
### Output to execution-events.md
|
||||||
|
Append review configuration section (once, at initialization):
|
||||||
|
|
||||||
|
---
|
||||||
|
## REVIEW CONFIG - INITIALIZED ⚙️
|
||||||
|
|
||||||
|
**Timestamp**: ${timestamp}
|
||||||
|
**Strategy**: Incremental review every 2-4 tasks
|
||||||
|
**Focus Areas**: code_quality, plan_compliance, integration_risks
|
||||||
|
|
||||||
|
### Checkpoint Configuration
|
||||||
|
- **Interval**: Min 2 tasks, Max 4 tasks (adaptive)
|
||||||
|
- **Review Agent**: universal-executor
|
||||||
|
- **Plan Note Fields**: implementation_notes, quality_concerns, integration_risks, next_task_dependencies
|
||||||
|
|
||||||
|
---
|
||||||
`
|
`
|
||||||
)
|
)
|
||||||
```
|
```
|
||||||
@@ -290,9 +319,9 @@ Generate validation-report.json in ${sessionFolder}:
|
|||||||
|
|
||||||
### Wave Execution
|
### Wave Execution
|
||||||
|
|
||||||
**Objective**: Execute tasks in waves, respecting dependencies and file conflicts.
|
**Objective**: Execute tasks in waves with review checkpoints, respecting dependencies and file conflicts.
|
||||||
|
|
||||||
**Prerequisites**: Validation completed, user confirmed
|
**Prerequisites**: Validation completed, user confirmed, review config initialized in execution-events.md
|
||||||
|
|
||||||
**Workflow Steps**:
|
**Workflow Steps**:
|
||||||
|
|
||||||
@@ -302,6 +331,7 @@ Generate validation-report.json in ${sessionFolder}:
|
|||||||
- Tasks with dependencies must wait for completion
|
- Tasks with dependencies must wait for completion
|
||||||
- Same file modifications → Sequential (no parallel)
|
- Same file modifications → Sequential (no parallel)
|
||||||
- Max 3 parallel tasks per wave (resource limit)
|
- Max 3 parallel tasks per wave (resource limit)
|
||||||
|
- Review checkpoints every 2-4 tasks (adaptive)
|
||||||
|
|
||||||
**Algorithm**:
|
**Algorithm**:
|
||||||
- Find available tasks (dependencies satisfied, not completed)
|
- Find available tasks (dependencies satisfied, not completed)
|
||||||
@@ -316,18 +346,112 @@ Generate validation-report.json in ${sessionFolder}:
|
|||||||
- Update execution.md timeline
|
- Update execution.md timeline
|
||||||
- Append events to execution-events.md
|
- Append events to execution-events.md
|
||||||
|
|
||||||
3. **Handle Failures**
|
3. **Review Checkpoint Trigger** (Every 2-4 Tasks) - **Non-Blocking Parallel Execution**
|
||||||
|
|
||||||
|
**Conditions**:
|
||||||
|
- Completed tasks count ≥ checkpoint.min_tasks (default: 2)
|
||||||
|
- No pending tasks in current wave
|
||||||
|
- Previous checkpoint passed or first checkpoint
|
||||||
|
|
||||||
|
**Workflow** (Parallel with Next Wave):
|
||||||
|
```javascript
|
||||||
|
if (completedTasksCount % checkpointInterval === 0) {
|
||||||
|
// Launch review agent in background (non-blocking)
|
||||||
|
Task(
|
||||||
|
subagent_type="universal-executor",
|
||||||
|
run_in_background=true, // ⭐ Parallel execution - does NOT block next wave
|
||||||
|
description="Review checkpoint CHK-{id}",
|
||||||
|
prompt=`
|
||||||
|
## Review Checkpoint: CHK-{id}
|
||||||
|
|
||||||
|
### Completed Tasks Since Last Checkpoint
|
||||||
|
${recentCompletedTasks.map(t => `- ${t.id}: ${t.title}`).join('\n')}
|
||||||
|
|
||||||
|
### Consume Plan Notes
|
||||||
|
${extractPlanNotes(recentCompletedTasks)}
|
||||||
|
|
||||||
|
### Review Focus Areas
|
||||||
|
1. **Code Quality**: Check implementations against standards
|
||||||
|
2. **Plan Compliance**: Verify tasks match expected outcomes
|
||||||
|
3. **Integration Risks**: Identify potential conflicts
|
||||||
|
4. **Next Dependencies**: Validate dependency chain for upcoming tasks
|
||||||
|
|
||||||
|
### Update Review Content (Minimal Changes Only)
|
||||||
|
- Read: execution-events.md (for plan notes and task history)
|
||||||
|
- Append to: execution-events.md (review checkpoint section)
|
||||||
|
- Principle: Only note critical issues, no full rewrite
|
||||||
|
|
||||||
|
### Output Format (Append to execution-events.md)
|
||||||
|
|
||||||
|
---
|
||||||
|
## REVIEW CHECKPOINT CHK-{id} - ${status} ${statusEmoji}
|
||||||
|
|
||||||
|
**Timestamp**: ${timestamp}
|
||||||
|
**Reviewed Tasks**: ${reviewedTaskIds.join(', ')}
|
||||||
|
**Duration**: ${durationMs}ms
|
||||||
|
|
||||||
|
### Findings
|
||||||
|
|
||||||
|
${findings.critical.length > 0 ? \`
|
||||||
|
#### 🔴 Critical
|
||||||
|
${findings.critical.map(f => \`- ${f}\`).join('\\n')}
|
||||||
|
\` : ''}
|
||||||
|
|
||||||
|
${findings.high.length > 0 ? \`
|
||||||
|
#### 🟠 High
|
||||||
|
${findings.high.map(f => \`- ${f}\`).join('\\n')}
|
||||||
|
\` : ''}
|
||||||
|
|
||||||
|
${findings.medium.length > 0 ? \`
|
||||||
|
#### 🟡 Medium
|
||||||
|
${findings.medium.map(f => \`- ${f}\`).join('\\n')}
|
||||||
|
\` : ''}
|
||||||
|
|
||||||
|
${findings.low.length > 0 ? \`
|
||||||
|
#### 🟢 Low
|
||||||
|
${findings.low.map(f => \`- ${f}\`).join('\\n')}
|
||||||
|
\` : ''}
|
||||||
|
|
||||||
|
### Plan Note Updates (Extended)
|
||||||
|
|
||||||
|
**Implementation Notes**: ${implementationNotes}
|
||||||
|
**Quality Concerns**: ${qualityConcerns.join('; ')}
|
||||||
|
**Integration Risks**: ${integrationRisks.join('; ')}
|
||||||
|
**Next Task Dependencies**: ${nextTaskDependencies.join('; ')}
|
||||||
|
|
||||||
|
### Recommendations
|
||||||
|
${recommendations.map(r => \`- ${r}\`).join('\\n')}
|
||||||
|
|
||||||
|
---
|
||||||
|
`
|
||||||
|
)
|
||||||
|
|
||||||
|
// Immediately proceed to next wave (parallel execution)
|
||||||
|
console.log(`[Review] CHK-{id} launched in background, continuing with next wave...`)
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
**Key Design**:
|
||||||
|
- Review agent runs in background (`run_in_background=true`)
|
||||||
|
- Next wave tasks start immediately (no waiting)
|
||||||
|
- Review findings appended to execution-events.md (single source of truth)
|
||||||
|
- Critical findings visible in unified log for next tasks to consume
|
||||||
|
|
||||||
|
4. **Handle Failures**
|
||||||
|
|
||||||
| Failure Type | Action |
|
| Failure Type | Action |
|
||||||
|--------------|--------|
|
|--------------|--------|
|
||||||
| Task timeout | Ask: retry/skip/abort |
|
| Task timeout | Ask: retry/skip/abort |
|
||||||
| Dependency failed | Auto-skip dependent tasks |
|
| Dependency failed | Auto-skip dependent tasks |
|
||||||
| Max retries reached | Ask: retry/skip/abort (unless auto-mode) |
|
| Max retries reached | Ask: retry/skip/abort (unless auto-mode) |
|
||||||
|
| Review checkpoint fail | Ask: fix issues/continue/abort |
|
||||||
|
|
||||||
**Success Criteria**:
|
**Success Criteria**:
|
||||||
- [ ] All waves executed
|
- [ ] All waves executed
|
||||||
|
- [ ] Review checkpoints completed (every 2-4 tasks)
|
||||||
- [ ] Results captured in execution-events.md
|
- [ ] Results captured in execution-events.md
|
||||||
- [ ] Failed tasks handled appropriately
|
- [ ] Failed tasks handled appropriately
|
||||||
|
- [ ] Review findings documented in checkpoint files
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -528,23 +652,23 @@ Generate validation-report.json in ${sessionFolder}:
|
|||||||
|
|
||||||
## Helper Functions
|
## Helper Functions
|
||||||
|
|
||||||
### Multi-Plan Support
|
### Sequential Multi-Plan Execution
|
||||||
|
|
||||||
**discoverCollaborativePlans(basePath)**:
|
**executeSequentialPlans(planPaths)**:
|
||||||
- Search for `plan-note.md` or `plan.json` in base path
|
- Execute plans in order: `plan1 → plan2 → plan3`
|
||||||
- Glob `agents/*/plan.json` for sub-plans
|
- Each plan gets independent session
|
||||||
- Return: Array of plan paths
|
- All sessions grouped under global session ID
|
||||||
|
|
||||||
**buildUnifiedGraph(planPaths)**:
|
**Per-Plan Execution**:
|
||||||
- Parse each plan, assign global IDs
|
- Parse plan → Build DAG → Validate → Execute tasks
|
||||||
- Deduplicate tasks (file overlap + 90% title similarity via Levenshtein)
|
- Follow plan's internal DAG dependencies
|
||||||
- Remap dependencies (merged tasks + cross-plan refs)
|
- Create execution-events.md for each plan
|
||||||
- Validate (detect cycles), topological sort
|
- Track progress in parent session
|
||||||
- Return: `{ tasks, executionOrder, planSources, metadata }`
|
|
||||||
|
|
||||||
**Deduplication Logic**:
|
**Global Session Tracking**:
|
||||||
- Same files + 90%+ title similarity → Merge
|
- Parent session ID: `EXEC-multi-{date}`
|
||||||
- Merge metadata: `source_plans`, `merged_from`
|
- Child sessions: `EXEC-{slug}-{plan-index}-{date}`
|
||||||
|
- Aggregate statistics across all plans
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -700,11 +824,9 @@ Algorithm: Find available → Check conflicts → Group → Repeat
|
|||||||
|
|
||||||
| Flag | Default | Description |
|
| Flag | Default | Description |
|
||||||
|------|---------|-------------|
|
|------|---------|-------------|
|
||||||
| `-p, --plan <path>` | Auto-detect | Plan file(s), comma-separated for multiple |
|
| `-p, --plan <path>` | Auto-detect | Plan file(s), comma-separated for sequential execution |
|
||||||
| `--merge-agents` | false | Auto-discover collaborative plan sub-plans |
|
|
||||||
| `--auto-commit` | false | Commit after each successful task |
|
| `--auto-commit` | false | Commit after each successful task |
|
||||||
| `--commit-prefix` | null | Custom commit message prefix |
|
| `--commit-prefix` | null | Custom commit message prefix |
|
||||||
| `-m, --mode` | parallel | Execution strategy: sequential or parallel |
|
|
||||||
| `-y, --yes` | false | Auto-confirm all decisions |
|
| `-y, --yes` | false | Auto-confirm all decisions |
|
||||||
|
|
||||||
---
|
---
|
||||||
@@ -722,48 +844,6 @@ Algorithm: Find available → Check conflicts → Group → Repeat
|
|||||||
5. **Resolve Conflicts Early**: Address file conflicts before execution
|
5. **Resolve Conflicts Early**: Address file conflicts before execution
|
||||||
6. **Monitor Events Log**: Check execution-events.md for detailed progress
|
6. **Monitor Events Log**: Check execution-events.md for detailed progress
|
||||||
7. **Resume on Failure**: Use `--continue` to resume interrupted executions (Agent) or fixed ID (CLI)
|
7. **Resume on Failure**: Use `--continue` to resume interrupted executions (Agent) or fixed ID (CLI)
|
||||||
8. **Multi-Plan Merging**: Leverage `--merge-agents` for collaborative plan execution
|
8. **Sequential Multi-Plan**: Use comma-separated paths for executing multiple plans in order
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## Advanced Features
|
|
||||||
|
|
||||||
### Multi-Plan Merging
|
|
||||||
|
|
||||||
**Use Cases**:
|
|
||||||
- Collaborative planning output (plan-note.md + agents/**/plan.json)
|
|
||||||
- Multiple feature plans to execute together
|
|
||||||
- Incremental plan additions
|
|
||||||
|
|
||||||
**Edge Cases**:
|
|
||||||
- Same title, different files → Keep both
|
|
||||||
- Same files, different title → Merge if 90%+ similarity
|
|
||||||
- Same task in multiple plans → Merge once
|
|
||||||
|
|
||||||
### Structured Execution Notes
|
|
||||||
|
|
||||||
**Categories & Severity**:
|
|
||||||
- `WARNING` (High): Security risks, potential issues
|
|
||||||
- `DECISION` (Medium): Architectural choices
|
|
||||||
- `API_CHANGE` (Critical): Breaking changes
|
|
||||||
- `FILE_CONFLICT` (High): Multi-task file modifications
|
|
||||||
- `DEPENDENCY` (Medium): Package/module changes
|
|
||||||
- `PATTERN` (Low): Coding patterns established
|
|
||||||
|
|
||||||
**Note Filtering**:
|
|
||||||
- File overlap: Show notes affecting task.files_to_modify
|
|
||||||
- Always show: Critical severity (regardless of files)
|
|
||||||
|
|
||||||
### Auto-Commit
|
|
||||||
|
|
||||||
**Conventional Commit Format**:
|
|
||||||
- Structure: `type(scope): subject`
|
|
||||||
- Types: feat, fix, refactor, test, docs
|
|
||||||
- Scope: Inferred from file paths (frontend, backend, ui, api, auth)
|
|
||||||
- Footer: Task-ID, Plan source
|
|
||||||
|
|
||||||
**Safety**:
|
|
||||||
- Never commit on task failure
|
|
||||||
- Never skip hooks (no --no-verify)
|
|
||||||
- Use heredoc for commit messages (avoid shell injection)
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user