Wait for the agent's turn instead of dropping a held merge

This commit is contained in:
Ian Gulliver
2026-10-21 11:03:25 -07:00
parent 39fe50eff2
commit 4ba742aee0
4 changed files with 129 additions and 120 deletions
+3 -3
View File
@@ -495,7 +495,7 @@ func (m *Manager) failResume(ctx context.Context, sess api.AgentSession, task ap
case end.Discard == store.DiscardHeld:
go m.startDiscard(task.Id)
case end.MergeBy != "":
go m.startClaimedMerge(task.Id, end.MergeBy)
go m.advanceMergeClaim(task.Id)
case end.MergeWaiting:
case sess.Role == api.Implementer && m.leadsTask(ctx, task.Id, sess.Id):
m.abandonMerge(task.Id, task.ProjectId)
@@ -1031,7 +1031,7 @@ func (m *Manager) pump(l *live) {
return
}
if end.MergeBy != "" {
go m.startClaimedMerge(l.taskID, end.MergeBy)
go m.advanceMergeClaim(l.taskID)
}
if l.owner == "" {
if end.MergeBy == "" && !end.MergeWaiting && m.leadsTask(ctx, l.taskID, l.id) {
@@ -1337,7 +1337,7 @@ func (m *Manager) turnEnded(ctx context.Context, l *live, res endResult) error {
m.snapshotSoon(liveTarget(l), api.SnapshotTriggerTurnEnd, 0, review, false)
}
if end.MergeBy != "" {
go m.startClaimedMerge(l.taskID, end.MergeBy)
go m.advanceMergeClaim(l.taskID)
return nil
}