`context: fork` strips the `Agent` tool from a subagent's environment. Spawning orchestrators (`/gsd-autonomous`, `/gsd-execute-phase`, `/gsd-plan-phase`) depend on `Agent` to dispatch sub-agents; running them forked silently disables the core capability they exist to provide (#921). Remove `context: fork` from all three command frontmatter files. `effort: xhigh` (introduced by #769) is preserved. The `<runtime_compatibility>` Agent-availability guard added by #913 was checking whether `Agent` was present *before* attempting the call. On runtimes where the tool list is dynamically resolved this produced false-negative aborts in sessions that have the tool (#922). Replace the introspection-based pattern with an attempt-based gate: always attempt the `Agent()` call; stop only if a real tool-unavailable error is returned. This preserves #853's backgrounded-session close-off and #913's intent of preventing inline role-collapse, while eliminating false negatives. Tests updated: enh-769-context-fork-effort.install.test.cjs asserts the three orchestrators lack `context: fork` and that the converter still passes the field through for non-orchestrator commands; plan-phase-drift- guard.test.cjs adds four assertions for the attempt-based gate language; workflow-size-budget unchanged (budgets not exceeded). Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
66 lines
2.9 KiB
Markdown
66 lines
2.9 KiB
Markdown
---
|
|
name: gsd:execute-phase
|
|
description: Execute all plans in a phase with wave-based parallelization
|
|
argument-hint: "<phase-number> [--wave N] [--gaps-only] [--interactive] [--tdd]"
|
|
effort: xhigh
|
|
allowed-tools:
|
|
- Read
|
|
- Write
|
|
- Edit
|
|
- Glob
|
|
- Grep
|
|
- Bash
|
|
- Agent
|
|
- TodoWrite
|
|
- AskUserQuestion
|
|
requires: [phase, verify-work]
|
|
---
|
|
<objective>
|
|
Execute all plans in a phase using wave-based parallel execution.
|
|
|
|
Orchestrator stays lean: discover plans, analyze dependencies, group into waves, spawn subagents, collect results. Each subagent loads the full execute-plan context and handles its own plan.
|
|
|
|
Optional wave filter:
|
|
- `--wave N` executes only Wave `N` for pacing, quota management, or staged rollout
|
|
- phase verification/completion still only happens when no incomplete plans remain after the selected wave finishes
|
|
|
|
Flag handling rule:
|
|
- The optional flags documented below are available behaviors, not implied active behaviors
|
|
- A flag is active only when its literal token appears in `$ARGUMENTS`
|
|
- If a documented flag is absent from `$ARGUMENTS`, treat it as inactive
|
|
|
|
Context budget: ~15% orchestrator, 100% fresh per subagent.
|
|
</objective>
|
|
|
|
<execution_context>
|
|
@~/.claude/gsd-core/workflows/execute-phase.md
|
|
@~/.claude/gsd-core/references/ui-brand.md
|
|
</execution_context>
|
|
|
|
<runtime_note>
|
|
**Copilot (VS Code):** Use `vscode_askquestions` wherever this workflow calls `AskUserQuestion`. They are equivalent — `vscode_askquestions` is the VS Code Copilot implementation of the same interactive question API.
|
|
</runtime_note>
|
|
|
|
<context>
|
|
Phase: $ARGUMENTS
|
|
|
|
**Available optional flags (documentation only — not automatically active):**
|
|
- `--wave N` — Execute only Wave `N` in the phase. Use when you want to pace execution or stay inside usage limits.
|
|
- `--gaps-only` — Execute only gap closure plans (plans with `gap_closure: true` in frontmatter). Use after verify-work creates fix plans.
|
|
- `--interactive` — Execute plans sequentially inline (no subagents) with user checkpoints between tasks. Lower token usage, pair-programming style. Best for small phases, bug fixes, and verification gaps.
|
|
|
|
**Active flags must be derived from `$ARGUMENTS`:**
|
|
- `--wave N` is active only if the literal `--wave` token is present in `$ARGUMENTS`
|
|
- `--gaps-only` is active only if the literal `--gaps-only` token is present in `$ARGUMENTS`
|
|
- `--interactive` is active only if the literal `--interactive` token is present in `$ARGUMENTS`
|
|
- If none of these tokens appear, run the standard full-phase execution flow with no flag-specific filtering
|
|
- Do not infer that a flag is active just because it is documented in this prompt
|
|
|
|
Context files are resolved inside the workflow via `gsd-tools query init.execute-phase` and per-subagent `<files_to_read>` blocks.
|
|
</context>
|
|
|
|
<process>
|
|
Execute end-to-end.
|
|
Preserve all workflow gates (wave execution, checkpoint handling, verification, state updates, routing).
|
|
</process>
|