Summary
Two small-but-important auto-mode improvements worked well in local use and look upstreamable if split cleanly:
- Opt-in suppression of context-pressure wrap-up for repos that prefer smaller task decomposition over forced closeout pressure.
- Durable carry-forward of required unfinished work from completed task summaries into replanning, so required leftovers do not disappear into prose.
I believe these should be discussed as two separate PRs, but they are related enough to start from one issue/RFC because both touch GSD auto-mode behavior.
Problem
1) Context-pressure wrap-up can bias auto-mode toward premature closeout
Today the context-pressure continue-here monitor in src/resources/extensions/gsd/auto-timers.ts emits:
customType: "gsd-auto-wrapup"
"**CONTEXT BUDGET WARNING — wrap up this unit now.**"
That is sensible as a default, but some repos intentionally prefer a different strategy:
- split work into smaller follow-up tasks earlier
- keep timeout supervision intact
- avoid context pressure itself becoming a strong closeout steer
An opt-in repo preference would let those repos choose that mode explicitly without changing defaults for anyone else.
2) Required unfinished work can be documented but still not become continuation state
GSD already has durable blocker-based replanning via blocker_discovered: true, and it already has carry-forward context from prior task summaries.
What is still missing is a lightweight, durable way for a completed task to say:
- "this task is complete enough to close out honestly"
- and
- "there is still required follow-up work that must be chained into later tasks or a replan"
Right now that kind of leftover work can live in prose, but it does not become a first-class continuation signal.
Proposal
PR 1 — opt-in context-pressure wrap-up suppression
Add a typed repo preference such as:
auto_supervisor:
disable_context_pressure_wrapup: true
Behavior:
- disables only the context-pressure continue-here / wrap-up monitor
- keeps soft/idle/hard timeout supervision intact
- preserves default behavior unless explicitly enabled
Why this is a good first PR:
- opt-in only
- small blast radius
- easy to test
- no default behavior change
PR 2 — pending-actions carry-forward + replan chaining
Add a stable markdown convention inside task summaries, likely in ## Known Issues:
Pending actions:
- action 1
- action 2
Then:
- parse those pending actions from completed task summaries
- include them in carry-forward context for later task execution
- route the slice into
replanning-slice before continuing when required pending actions remain
- if no incomplete tasks remain, allow replanning to add a new task rather than falling straight to slice summarization
Why this shape:
- lighter than adding a new tool/API field immediately
- fits GSD’s artifact-driven design
- backward-compatible with existing summaries
Important related issue
There is already a closely related upstream bug:
That issue matters here because pending-actions chaining should not use slice-wide/coarse loop protection. If a later completed task introduces new required carry-forward work, a prior replan on the same slice should not suppress the new legitimate replan.
My current view is:
Benefits
- reduces premature closeout pressure in repos that explicitly opt in
- encourages smaller task decomposition without losing continuity
- makes required unfinished work durable and actionable
- prevents slices from silently completing while known required follow-up still exists
- builds on existing blocker/replan seams instead of inventing a new workflow layer
Scope / non-goals
- Do not change default timeout values globally
- Do not change default context-pressure behavior globally
- Do not add a broad new orchestration abstraction
- For PR 2, avoid adding a new
gsd_task_complete.pendingActions API field unless maintainers prefer that over the markdown convention
Suggested review path
- Confirm whether the opt-in wrap-up suppression is acceptable as a core preference
- Confirm whether
Pending actions: in summaries is an acceptable first durable contract
- If yes, land as two PRs:
- PR 1: context-pressure opt-out
- PR 2: pending-actions carry-forward + replan chaining
If this direction sounds right, I can open the two PRs separately after forking and rebuilding the changes against current main.
Summary
Two small-but-important auto-mode improvements worked well in local use and look upstreamable if split cleanly:
I believe these should be discussed as two separate PRs, but they are related enough to start from one issue/RFC because both touch GSD auto-mode behavior.
Problem
1) Context-pressure wrap-up can bias auto-mode toward premature closeout
Today the context-pressure continue-here monitor in
src/resources/extensions/gsd/auto-timers.tsemits:customType: "gsd-auto-wrapup""**CONTEXT BUDGET WARNING — wrap up this unit now.**"That is sensible as a default, but some repos intentionally prefer a different strategy:
An opt-in repo preference would let those repos choose that mode explicitly without changing defaults for anyone else.
2) Required unfinished work can be documented but still not become continuation state
GSD already has durable blocker-based replanning via
blocker_discovered: true, and it already has carry-forward context from prior task summaries.What is still missing is a lightweight, durable way for a completed task to say:
Right now that kind of leftover work can live in prose, but it does not become a first-class continuation signal.
Proposal
PR 1 — opt-in context-pressure wrap-up suppression
Add a typed repo preference such as:
Behavior:
Why this is a good first PR:
PR 2 — pending-actions carry-forward + replan chaining
Add a stable markdown convention inside task summaries, likely in
## Known Issues:Then:
replanning-slicebefore continuing when required pending actions remainWhy this shape:
Important related issue
There is already a closely related upstream bug:
That issue matters here because pending-actions chaining should not use slice-wide/coarse loop protection. If a later completed task introduces new required carry-forward work, a prior replan on the same slice should not suppress the new legitimate replan.
My current view is:
Benefits
Scope / non-goals
gsd_task_complete.pendingActionsAPI field unless maintainers prefer that over the markdown conventionSuggested review path
Pending actions:in summaries is an acceptable first durable contractIf this direction sounds right, I can open the two PRs separately after forking and rebuilding the changes against current
main.