Skip to main content

Saga outcome and replay evidence

This required 22–32-hour package strengthens guided Labs 3–4: lessons/predictions 5–7 hours, implementation and recovery experiments 10–15, assessment/repair 7–10. Reuse the original outbox/consumer work rather than duplicate it. Estimates await semester reconciliation and learner pilots.

Prerequisite bridge​

Review immutable events, domain identity, state machines, outbox/inbox boundaries, uncertain outcomes and compensation. Bring Module 02's distinction between abort and post-transfer recovery. Completion is a business claim, not simply an empty queue.

Sequence​

  1. Unknown outcomes.
  2. Compensation intent.
  3. Poison-message replay.
  4. Implement saga-outcome-contracts.zip using Python 3 standard library. Run python3 -B check.py starter before reference calibration.
  5. Complete EV1–EV6.

The reference tests 24 participant-outcome/timeout permutations, duplicate reports, late success, partial compensation, contradictions and invalid transitions. It models a coordinator and two already-requested participant operations, not durable participants or actual message transport. Original event contracts, crash-boundary outbox/consumer work, three-service workflow and poison-message operations remain required.