playrote.play.v1

llgoyal6/retry-safetyv1.2.0Public

Retry safety

Answers one question about a codebase: where does it retry in a way that will make a bad day worse.

Read the full description

Ranks by blast radius. A retried NON-IDEMPOTENT operation comes first and is a correctness bug, because a POST, a charge, a create, an append or an email send that timed out may already have succeeded, and the replay bills the customer twice. Then the availability bugs: retries with no maximum attempt count or a cap so high it may as well be none, backoff with no jitter which synchronises every client into one thundering herd, a flat delay with no growth at all, a retry wrapped around another retry so the attempt counts multiply, and no timeout on the underlying call so one attempt can hang forever. Last, the waste: retrying a 4xx, a validation failure or an auth rejection, which can only fail again. Covers hand-written loops in Python, JavaScript, TypeScript, Go, Java, Kotlin and C sharp, and the visible configuration of tenacity, backoff, urllib3 Retry, axios-retry, p-retry, got, avast retry-go, cenkalti back

  • Published 4 Sep 2026
  • Download 1
  • Needs rote 0.62.0+
  • Digest sha256:4015954b18b4…
  • Reference lgoyal6/retry-safety@1.2.0

Before you run it12 local tools

Everything here is checked on your machine when rote inspects the play. This page never learns what you have installed or which credentials you hold.

  • ○
    bashlocal tool

    Must be on your PATH when used. minimum version undeclared.

  • ○
    python3local tool

    Requires >=3.8.0. Run rote play inspect to check your host; unverified versions remain unknown.

  • ○
    findlocal tool

    Must be on your PATH when used. minimum version undeclared.

  • ○
    greplocal tool

    Must be on your PATH when used. minimum version undeclared.

  • ○
    xargslocal tool

    Must be on your PATH when used. minimum version undeclared.

  • ○
    sedlocal tool

    Must be on your PATH when used. minimum version undeclared.

  • ○
    sortlocal tool

    Must be on your PATH when used. minimum version undeclared.

  • ○
    wclocal tool

    Must be on your PATH when used. minimum version undeclared.

  • ○
    trlocal tool

    Must be on your PATH when used. minimum version undeclared.

  • ○
    catlocal tool

    Must be on your PATH when used. minimum version undeclared.

  • ○
    mktemplocal tool

    Must be on your PATH when used. minimum version undeclared.

  • ○
    rmlocal tool

    Must be on your PATH when used. minimum version undeclared.

Inputs2, 1 required

rote asks for these before running and shows the defaults it will use.

  • Rootroot

    Directory tree whose retry logic should be audited for amplification and replay risk

    requiredstringexample .custom value allowed
  • Depthdepth

    How many directory levels below root to search for retry logic

    optionalstringdefault 8example 3custom value allowed

What it changes

No write operations are declared in this version's manifest.

Credentials remain in the recipient's local rote vault; this page and the publisher never receive them.

Runtime details
  • rote CLIversion 0.62.0 or newer
  • Servicesnone declared
  • Digestsha256:4015954b18b4b5c8727e406dd1268d2d5687f4589b80a3c23debbc21fe9cb28b
  • Archive size38472 bytes
  • Published2026-09-04T04:32:46.299362+00:00
  • Published withrote 0.78.0

Credential values and current readiness remain local. Opening this page never prompts for a credential, opens an authorization browser, or calls a service this play uses.

A play is a published, versioned automation package that runs on your own machine through rote, a free command-line tool. Opening this page installs nothing and runs nothing.