Skip to content

Commit 0d5b6f5

Browse files
committed
fix: delete SESSION_PLAN.md after successful merge
Stale plans from a failed or partial cycle were being picked up by the next implementer. Now cleared immediately after RunMergePhase succeeds.
1 parent a063316 commit 0d5b6f5

2 files changed

Lines changed: 10 additions & 0 deletions

File tree

internal/evolution/engine.go

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -172,6 +172,15 @@ func (e *Engine) clearPRState() {
172172
os.Remove(path)
173173
}
174174

175+
// clearSessionPlan removes SESSION_PLAN.md after a successful merge so stale
176+
// plans from a failed previous cycle cannot confuse the next implementer.
177+
func (e *Engine) clearSessionPlan() {
178+
path := filepath.Join(e.repoPath, "SESSION_PLAN.md")
179+
if err := os.Remove(path); err == nil {
180+
e.logger.Info("cleared SESSION_PLAN.md after successful merge")
181+
}
182+
}
183+
175184
// WithEventSink sets a channel that receives live agent events during evolution.
176185
func (e *Engine) WithEventSink(sink chan<- iteragent.Event) *Engine {
177186
e.eventSink = sink

internal/evolution/phases_pr.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -121,6 +121,7 @@ func (e *Engine) RunMergePhase(ctx context.Context) error {
121121
e.logger.Info("PR merged", "number", e.prNumber)
122122

123123
e.clearPRState()
124+
e.clearSessionPlan()
124125

125126
if err := e.switchToMain(ctx); err != nil {
126127
e.logger.Warn("failed to switch to main after merge", "err", err)

0 commit comments

Comments
 (0)