A provider failure skipped every configured final processor.
Mastra 1.56.0 skipped the final output-processor pass after an unrecovered provider error. Three releases were affected before 1.59.0 restored the behavior.
The anatomy of a regression
- 01 Project
- 02 Regression & fix
- 03 Early replay
A TypeScript framework for AI applications and agents.
Mastra is an open-source TypeScript framework for building AI-powered applications and agents, including model streaming, processors, memory, workflows, and related runtime behavior.
Project repositoryConfigured terminal processing could be skipped after provider failure.
A fix for orphaned input persistence placed a failed-status guard around the shared runOutputProcessors call. That stopped every configured final processor, not only MessageHistory. The later fix restored the shared pass for failed streams and moved the input-only persistence rule into MessageHistory.
Provider error → failed stream → shared output-processor pass → configured terminal behavior
- Compared
- 1.55.0 → 1.56.0
- Affected
- 1.56.0–1.58.0 · 3 releases
- Public report
- User · 133 hours after release
- Fixed
- 1.59.0 · 247 hours later
Early found the regression.
“Output processors skipped when status failed/canceled”
Early identified the broad guard in the exact changed file and classified the target as Regression. Published packages produced processor counts of 1, 0, and 1 across versions 1.55.0, 1.56.0, and 1.59.0. The complete output also contained two false-positive Regression rows and one unresolved candidate excluded from confirmed counts.
Follow the record.
Independent targeted historical replay. Not affiliated with Mastra.
Explore more Case Files

