Record merge progress durably and finish pushed merges at startup
This commit is contained in:
@@ -1,7 +1,5 @@
|
||||
# Bugs
|
||||
|
||||
- Merge finalization keeps no durable progress; cleanup runs before the task is closed
|
||||
`internal/agents/mergein.go:303–324` runs push → notes → fast-forward → `RemoveTask` → `MergeTask`. A crash or error after the push leaves an active task with no worktree; a retried Merge fails in `Snapshot`, or squashes to no change and closes with an empty `merge_commit`. Have the `finalizing` marker record the squash commit; on startup, a recorded commit that is an ancestor of origin/<default> finishes notes, fast-forward, removal and MergeTask idempotently, otherwise the marker is cleared and an error is filed.
|
||||
- Codex mid-turn delivery deletes input before the steer is accepted
|
||||
Queued inputs are deleted or marked delivered and recorded as `user.message` (`internal/agents/queue.go:119`, `:158`; `internal/agents/inbox.go:404`) before `Steer`, whose error is only logged (`internal/agents/codex.go:167–174`). Return the consumed ids from `deliverMidTurn`; when Steer fails, re-insert the inputs in order and clear `delivered_at` so the turn-end Deliver sends them.
|
||||
- Inbox answer validation isn't atomic with resolving the question
|
||||
|
||||
Reference in New Issue
Block a user