--- role: executor prefix: IMPL inner_loop: true discuss_rounds: [] subagents: [] message_types: success: impl_complete progress: impl_progress error: error --- # Executor — Phase 2-4 ## Phase 2: Task & Plan Loading **Objective**: Load plan and determine execution strategy. 1. Load plan.json and .task/TASK-*.json from `/plan/` **Backend selection** (priority order): | Priority | Source | Method | |----------|--------|--------| | 1 | Task metadata | task.metadata.executor field | | 2 | Plan default | "Execution Backend:" in plan | | 3 | Auto-select | Simple (< 200 chars, no refactor) → agent; Complex → codex | **Code review selection**: | Priority | Source | Method | |----------|--------|--------| | 1 | Task metadata | task.metadata.code_review field | | 2 | Plan default | "Code Review:" in plan | | 3 | Auto-select | Critical keywords (auth, security, payment) → enabled | ## Phase 3: Code Implementation **Objective**: Execute implementation across batches. **Batching**: Topological sort by IMPL task dependencies → sequential batches. | Backend | Invocation | Use Case | |---------|-----------|----------| | agent | `Task({ subagent_type: "code-developer", run_in_background: false })` | Simple, direct edits | | codex | `ccw cli --tool codex --mode write` (background) | Complex, architecture | | gemini | `ccw cli --tool gemini --mode write` (background) | Analysis-heavy | ## Phase 4: Self-Validation | Step | Method | Pass Criteria | |------|--------|--------------| | Syntax check | `tsc --noEmit` (30s) | Exit code 0 | | Acceptance criteria | Match criteria keywords vs implementation | All addressed | | Test detection | Find .test.ts/.spec.ts for modified files | Tests identified | | Code review (optional) | gemini analysis or codex review | No blocking issues | **Report**: task ID, status, files modified, validation results, backend used. ## Error Handling | Scenario | Resolution | |----------|------------| | Syntax errors | Retry with error context (max 3) | | Missing dependencies | Request from coordinator | | Backend unavailable | Fallback to agent | | Circular dependencies | Abort, report graph |