feat(FN-1040): add StepSessionExecutor for parallel step execution and integrate into executor

- Define StepSessionExecutor interfaces and utility types (FN-1039)
- Implement StepSessionExecutor class with parallel wave execution, conflict detection, and retry logic (FN-1039)
- Add comprehensive test suite for StepSessionExecutor (1225 lines) (FN-1039)
- Wire step-session execution branch into TaskExecutor with pause, stuck-kill, and global pause handlers
- Track active step executors per task for lifecycle management and cleanup
- Export StepSessionExecutor and types from engine package index
- Add executor integration tests for step session lifecycle (388 lines)
This commit is contained in:
gsxdsm
2026-04-06 22:43:31 -07:00
parent ff8a8682c3
commit 6d98946aeb
4 changed files with 604 additions and 2 deletions

View File

@@ -19,7 +19,7 @@
"build": "tsc",
"typecheck": "tsc --noEmit",
"test": "vitest run --exclude src/executor.test.ts && pnpm run test:executor",
"test:executor": "vitest run src/executor.test.ts -t \"TaskExecutor with semaphore|TaskExecutor worktreeInitCommand|TaskExecutor worktree naming\" && vitest run src/executor.test.ts -t \"TaskExecutor worktree recovery\" && vitest run src/executor.test.ts -t \"TaskExecutor dependency-based worktree creation\" && vitest run src/executor.test.ts -t \"TaskExecutor worktree pool integration|WorktreePool capacity|Merger worktree pool integration\" && vitest run src/executor.test.ts -t \"buildExecutionPrompt|summarizeToolArgs|TaskExecutor pause behavior|TaskExecutor global pause behavior|TaskExecutor enginePaused soft pause\" && vitest run src/executor.test.ts -t \"Code review verdict|RETHINK verdict handling|Plan RETHINK verdict handling|E2E review pipeline|task_add_dep tool|TaskExecutor usage limit detection|Per-task model overrides|Invalid transition error handling|TaskExecutor task_done with summary|Workflow Steps Execution|Real-time steering injection|TaskExecutor loop recovery|TaskExecutor agent execution flow\""
"test:executor": "vitest run src/executor.test.ts -t \"TaskExecutor with semaphore|TaskExecutor worktreeInitCommand|TaskExecutor worktree naming\" && vitest run src/executor.test.ts -t \"TaskExecutor worktree recovery\" && vitest run src/executor.test.ts -t \"TaskExecutor dependency-based worktree creation\" && vitest run src/executor.test.ts -t \"TaskExecutor worktree pool integration|WorktreePool capacity|Merger worktree pool integration\" && vitest run src/executor.test.ts -t \"buildExecutionPrompt|summarizeToolArgs|TaskExecutor pause behavior|TaskExecutor global pause behavior|TaskExecutor enginePaused soft pause\" && vitest run src/executor.test.ts -t \"Code review verdict|RETHINK verdict handling|Plan RETHINK verdict handling|E2E review pipeline|task_add_dep tool|TaskExecutor usage limit detection|Per-task model overrides|Invalid transition error handling|TaskExecutor task_done with summary|Workflow Steps Execution|Real-time steering injection|TaskExecutor loop recovery|TaskExecutor agent execution flow|StepSessionExecutor integration\""
},
"dependencies": {
"@fusion/core": "workspace:*",