nrml
ReliabilityFree problem

Repair Retry Safety in the HTTP Client

Ship resilient retries without duplicating writes or resetting request deadlines.

The scenario

A service uses a shared HTTP client to recover from temporary failures. You need to reason about which operations may be repeated and how waiting affects the caller’s time budget.

A failure to reason about

A delivery request succeeds remotely, but its response is lost. Repeating the write without a repetition contract can create two deliveries.

Illustrative context for the topic. The exercise’s full requirements arrive in the workspace.

Questions to bring to your review

  • Where is request identity established?
  • Which layer owns the deadline?
  • How can a test observe extra work even when the final response looks correct?

Skills you will practice

  • Retries
  • Deadlines
  • Idempotency

Read the existing code, reproduce the reported behavior, review proposed changes, and verify your final implementation. You can use AI assistance while staying responsible for the result.

Prepare with a worked example

See how nrml evaluates an attempt, including the limits of automated evidence.