Design fire-and-forget side effect pipelines with Promise.allSettled, timeout protection, and per-effect error isolation