From 9b72ee9968b0a2ff42687e68421e56bb5903bd69 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?T=C3=82CHES?= Date: Sat, 14 Mar 2026 21:14:55 -0600 Subject: [PATCH] fix: prevent auto-advance without --auto flag (closes #1026, closes #932) (#1043) Co-authored-by: Claude Opus 4.6 (1M context) --- get-shit-done/workflows/execute-phase.md | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/get-shit-done/workflows/execute-phase.md b/get-shit-done/workflows/execute-phase.md index ced786a7a..c43835dd4 100644 --- a/get-shit-done/workflows/execute-phase.md +++ b/get-shit-done/workflows/execute-phase.md @@ -28,8 +28,9 @@ Parse JSON for: `executor_model`, `verifier_model`, `commit_docs`, `parallelizat When `parallelization` is false, plans within a wave execute sequentially. -**Sync chain flag with intent** — if user invoked manually (no `--auto`), clear the ephemeral chain flag from any previous interrupted `--auto` chain. This does NOT touch `workflow.auto_advance` (the user's persistent settings preference). Must happen before any config reads (checkpoint handling also reads auto-advance flags): +**REQUIRED — Sync chain flag with intent.** If user invoked manually (no `--auto`), clear the ephemeral chain flag from any previous interrupted `--auto` chain. This prevents stale `_auto_chain_active: true` from causing unwanted auto-advance. This does NOT touch `workflow.auto_advance` (the user's persistent settings preference). You MUST execute this bash block before any config reads: ```bash +# REQUIRED: prevents stale auto-chain from previous --auto runs if [[ ! "$ARGUMENTS" =~ --auto ]]; then node "$HOME/.claude/get-shit-done/bin/gsd-tools.cjs" config-set workflow._auto_chain_active false 2>/dev/null fi @@ -433,9 +434,17 @@ Execute the transition workflow inline (do NOT use Task — orchestrator context Read and follow `~/.claude/get-shit-done/workflows/transition.md`, passing through the `--auto` flag so it propagates to the next phase invocation. -**If neither `--auto` nor `AUTO_CFG` is true:** +**If none of `--auto`, `AUTO_CHAIN`, or `AUTO_CFG` is true:** -The workflow ends. The user runs `/gsd:progress` or invokes the transition workflow manually. +**STOP. Do not auto-advance. Do not execute transition. Do not plan next phase. Present options to the user and wait.** + +``` +## ✓ Phase {X}: {Name} Complete + +/gsd:progress — see updated roadmap +/gsd:transition — plan next phase transition +/gsd:execute-phase {next} — execute next phase +```