fix(workflows): prevent auto_advance config from persisting across sessions
Introduce ephemeral `workflow._auto_chain_active` flag to separate chain propagation from the user's persistent `workflow.auto_advance` preference. Previously, `workflow.auto_advance` was set to true by --auto chains and only cleared at milestone completion. If a chain was interrupted (context limit, crash, user abort), the flag persisted in .planning/config.json and caused all subsequent manual invocations to auto-advance unexpectedly. The fix adds a "sync chain flag with intent" step to discuss-phase, plan-phase, and execute-phase workflows: when --auto is NOT in arguments, the ephemeral _auto_chain_active flag is cleared. The persistent auto_advance setting (from /gsd:settings) is never touched, preserving the user's deliberate preference. Closes #857 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
committed by
Lex Christopherson
parent
1c6f4fe11f
commit
609f7f3ede
@@ -205,13 +205,14 @@ Do NOT continue reading. Analysis without action is a stuck signal.
|
||||
</authentication_gates>
|
||||
|
||||
<auto_mode_detection>
|
||||
Check if auto mode is active at executor start:
|
||||
Check if auto mode is active at executor start (chain flag or user preference):
|
||||
|
||||
```bash
|
||||
AUTO_CHAIN=$(node "$HOME/.claude/get-shit-done/bin/gsd-tools.cjs" config-get workflow._auto_chain_active 2>/dev/null || echo "false")
|
||||
AUTO_CFG=$(node "$HOME/.claude/get-shit-done/bin/gsd-tools.cjs" config-get workflow.auto_advance 2>/dev/null || echo "false")
|
||||
```
|
||||
|
||||
Store the result for checkpoint handling below.
|
||||
Auto mode is active if either `AUTO_CHAIN` or `AUTO_CFG` is `"true"`. Store the result for checkpoint handling below.
|
||||
</auto_mode_detection>
|
||||
|
||||
<checkpoint_protocol>
|
||||
|
||||
Reference in New Issue
Block a user