The current pipeline architecture relies heavily on exceptions propagating through Haystack pipelines, which causes most failures to end up wrapped as PipelineRuntimeError. This makes debugging, error classification, and downstream handling unnecessarily difficult.
We should review the current exception propagation strategy across pipeline components and evaluate whether component outputs can be used for controlled error propagation instead of relying on runtime exceptions for expected failure scenarios.
The current pipeline architecture relies heavily on exceptions propagating through Haystack pipelines, which causes most failures to end up wrapped as PipelineRuntimeError. This makes debugging, error classification, and downstream handling unnecessarily difficult.
We should review the current exception propagation strategy across pipeline components and evaluate whether component outputs can be used for controlled error propagation instead of relying on runtime exceptions for expected failure scenarios.