mirror of
https://github.com/bytedance/deer-flow.git
synced 2026-10-27 13:40:37 +00:00
* fix(subagents): drain final cleanup across caller cancellation * fix(subagents): preserve stop outcomes during cancellation Follow up on PR #7546 discussion_r4374235193 and Issue #7535. Capture the unwinding cancellation before the drained cleanup tail and use it only while the result remains non-terminal. Preserve completed, failed and timed-out decisions. Keep cancellation propagation and cleanup ownership. Share the synchronous result holder and publish its existing FAILED outcome before requesting cancellation. This necessary timeout boundary overlaps #7483; no active-cancel terminal write is added to the cleanup tail. Validation: 12 targeted regressions pass on Windows and Linux; make test 37876 passed / 808 skipped, make test-blocking-io 292 passed / 1 skipped. Format, lint, diff checks and four-file incremental OCR delegated review pass. --------- Co-authored-by: Willem Jiang <willem.jiang@gmail.com>