mirror of
https://github.com/deepseek-ai/deepseek-harness
synced 2026-08-15 21:04:50 +00:00
spec.onError is a caller-supplied callback boundary, but the flattening catch invoked it unguarded: a throwing sink rejected the whole async result, breaking the seam's "result never rejects on a child-level failure" contract (and docs/defensive-patterns.md's contain-callback-exceptions rule). The sink's own throw is now swallowed — named as such — while the original child failure still settles as stopReason 'error'. Regression test drives a spawn failure through a throwing sink and asserts result resolves. Same defect as the codex backend's, fixed there on PR #240; this is the symmetric fix for the already-merged ACP backend.