🤖 Fix stream error amnesia: commit partial progress to history #331
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Problem: Stream Error Amnesia
After stream errors, the Agent would "forget" minutes of accumulated work and continue from an old state. This caused frustrating loss of progress during retries.
Root Cause: Errored partials were deleted without committing accumulated parts to history. The original logic conflated two separate concerns:
Solution
Modified
PartialService.commitToHistoryto:Error state remains in
partial.jsonfor UI display, but doesn't prevent progress persistence.Changes
commitToHistoryto striperror/errorTypebefore commitImpact
✅ Amnesia fixed - Agent retains full context across error → retry cycles
✅ No empty messages - Immediate errors don't pollute history
✅ Net -4 LoC - Cleaner logic, single source of truth for commits
Verification
Before fix:
After fix:
Generated with
cmux