Durable Execution in Distributed Systems: How to Build Workflows on Temporal That Never Break