Bound async work with timeouts, cancellation, cleanup, and structured task failure rules.
Sifr treats cancellation as part of structured concurrency. A cancelled child does not keep running in the background, and cleanup runs before cancellation or timeout evidence is observed by the caller.
TaskGroup cancels unfinished siblings when one child fails. Use this for all-or-cancel groups where partial completion should not leak beyond the group.
Do not use task cancellation as a hidden control-flow side channel. Treat timeout and cancellation as typed evidence that the caller must handle.