Finding
Cancel/error paths can still progress into concat/mux/finalization, which can publish partial outputs as the normal output file.
Evidence
- render/src/main.rs polls cancel state while worker/ffmpeg phases continue.
- render/src/ffmpeg.rs manages long-running child processes.
Acceptance criteria
- Propagate cancellation to child processes.
- Write to a temporary output and atomically promote only on success.
- Leave a clear failed/canceled status for the UI.
Finding
Cancel/error paths can still progress into concat/mux/finalization, which can publish partial outputs as the normal output file.
Evidence
Acceptance criteria