Why asyncio.gather Errors Don’t Halt All Branches and How to Design Robust Failure Strategies
The article explains that asyncio.gather only propagates the first exception without cancelling other awaitables, distinguishes fan‑out/fan‑in from a Supervisor role, and demonstrates a pure‑Python pattern for classifying required versus optional branches, handling failures, and merging results safely.
