v0.6.35
on_done was called unconditionally in the finally block, so when a step failed (e.g. canvasapi missing → exit code 1), the pipeline silently advanced to the next step. This caused "Generate notes" to run even though "Download videos" had failed — and since console.clear() runs at the start of each step, the user only saw the last running step. Fix: initialize rc = -1 before the try block, only call on_done when rc == 0. A failed step now halts the chain and leaves the error visible.