
Wyrd
Deterministic event-driven processes for .NET.
A framework I’m building to keep business decisions visible while the runtime handles retries, compensation and idempotency.
- Pure domain decisions and declarative sagas
- Compile-time checks with Roslyn analyzers
- Skuld: reproducible failure simulation
Preview · in-memory runtime available; durable runtime in development.
public static Process OrderFulfillment => Process
.StartOn<OrderPlaced>(e => e.OrderId)
.Then(Stock.Reserve).Retry(5.Times).Undo(Stock.Release)
.Then(Payments.Charge)
.Retry(5.Times, Backoff.Exponential)
.Undo(Payments.Refund)
.Await<PaymentConfirmed>(e => e.OrderId).Within(15.Minutes)
.Then(Shipping.Ship).Retry(5.Times)
.OnCompensated(Orders.Cancel).Retry(5.Times);
