Retries Are Policy Decisions
A retry is not a technical detail. A retry is a choice about authority, risk, and consequence.
Any system that retries silently executes policy without consent.
I. The Fiction of “Just Try Again”
Many systems retry because:
networks are unreliable
services fail transiently
engineers want resilience
This frames retries as engineering hygiene.
It is not.
Retrying changes outcomes.
II. Retrying Alters Legal Reality
A retry decides:
whether failure is final
whether denial becomes success
whether time constraints are ignored
whether limits are enforced
Each retry is a second attempt under altered conditions.
That is policy.
III. Silent Retries Destroy Accountability
When a system retries without record:
the original failure disappears
intent is obscured
responsibility is blurred
If success occurs after retries, the system reports success without context.
That is false history.
IV. Retries Must Be Explicit and Bounded
A lawful retry must be:
explicitly defined
limited in number
limited in time
recorded as separate attempts
Unlimited retries are implicit permission.
Implicit permission is uncontrolled authority.
V. Retrying Can Violate Law
Some laws care about:
timing
order
attempt count
deadlines
Retrying may:
bypass cutoffs
exceed quotas
violate fairness
distort competition
Without policy awareness, retries break compliance.
VI. Retries Must Be Replayable
Replay must reproduce:
the same failures
the same retries
in the same order
with the same outcomes
If retries depend on chance, replay fails.
Failed replay is failed audit.
VII. Retry Strategy Is Not Infrastructure
Retry strategy is often hidden in:
HTTP clients
message brokers
SDK defaults
This hides law in plumbing.
Policy must live in:
kernel
registry
versioned law
Not in libraries.
VIII. Final Conclusion
Retries are policy decisions.
A lawful system:
treats retries as explicit outcomes
records every attempt
bounds retries by declared policy
replays retries deterministically
Anything else allows systems to succeed by persistence rather than by permission.
SHA-256: 29d78c372f685b5e17ef928a56667361344959ca797d149119828cbcd870c3fa