← Romulus overview

Engineering resources

Test the failure path.

Use these exercises to decide what a recoverable workflow should prove before you rely on it for production work.

Recovery exercises.

Explore the recovery patterns in the browser demo. Run the duplicate-event exercise against your own implementation to verify its behaviour.

Kill a worker between two steps

Setup. Start with a workflow that stores customer context and then calculates priority. Terminate the worker after the first checkpoint is committed.

Expected result. The replacement reads the saved context and runs the unfinished step. Confirm the trace contains one completed context fetch and a new attempt for the priority calculation.

Lose the response after a write

Setup. Simulate a provider accepting a CRM write and dropping the response. Save the operation ID before sending it.

Expected result. The run marks the outcome unknown until it can reconcile that ID. Verify the trace records one CRM update and that the recovery path records the existing result.

Deliver the same completion event twice

Setup. Put a workflow into a durable wait and send two events with the same event ID and job correlation ID.

Expected result. The waiting run advances once. In a second test, deliver the event before the wait is persisted and verify the stored event is picked up.