Understand the failure.
Verify the repair.
Small, reproducible software failures. The broken implementation, the fix that didn’t work, and the one that passed—preserved together.
Explore the cases ↓How results are verified ↗WHAT THE ARCHIVE CONTAINS
100840 executable cases. 20168 are open.
Every case records the implementation that fails, the fix that did not work, and the repair that passed its checks—with recorded outputs and source hashes. This release adds 100840 cases across 20168 failure mechanisms and 254 domains.
The open tier gives you the failure and the unsuccessful fix for one case in every mechanism. The remaining 80672 cases, 5 variants per mechanism, are member-only: the verified repair, its recorded checks, and the full fixture suite are held in the member archive. Read the methodology ↗
A RECORD OF WHAT WENT WRONG
Browse the archive / 100840
Generic cell rate algorithm limiter: remaining rounds up · case 01
Clients are told they have a request left when the next one will be denied.
Generic cell rate algorithm limiter: remaining rounds up · case 02
Clients are told they have a request left when the next one will be denied.
Generic cell rate algorithm limiter: remaining rounds up · case 03
Clients are told they have a request left when the next one will be denied.
Generic cell rate algorithm limiter: remaining rounds up · case 04
Clients are told they have a request left when the next one will be denied.
Generic cell rate algorithm limiter: remaining rounds up · case 05
Clients are told they have a request left when the next one will be denied.
Fixed-window request counter: windows anchored to the first request · case 01
Window boundaries differ from the advertised epoch-aligned reset times.
Fixed-window request counter: windows anchored to the first request · case 02
Window boundaries differ from the advertised epoch-aligned reset times.
Fixed-window request counter: windows anchored to the first request · case 03
Window boundaries differ from the advertised epoch-aligned reset times.
Fixed-window request counter: windows anchored to the first request · case 04
Window boundaries differ from the advertised epoch-aligned reset times.
Fixed-window request counter: windows anchored to the first request · case 05
Window boundaries differ from the advertised epoch-aligned reset times.
Fixed-window request counter: reset only for the immediately next window · case 01
A key idle for more than one window keeps its exhausted count forever.
Fixed-window request counter: reset only for the immediately next window · case 02
A key idle for more than one window keeps its exhausted count forever.
Fixed-window request counter: reset only for the immediately next window · case 03
A key idle for more than one window keeps its exhausted count forever.
Fixed-window request counter: reset only for the immediately next window · case 04
A key idle for more than one window keeps its exhausted count forever.
Fixed-window request counter: reset only for the immediately next window · case 05
A key idle for more than one window keeps its exhausted count forever.
Fixed-window request counter: one counter shared by every key · case 01
One tenant exhausts the quota for everyone.
Fixed-window request counter: one counter shared by every key · case 02
One tenant exhausts the quota for everyone.
Fixed-window request counter: one counter shared by every key · case 03
One tenant exhausts the quota for everyone.
Fixed-window request counter: one counter shared by every key · case 04
One tenant exhausts the quota for everyone.
Fixed-window request counter: one counter shared by every key · case 05
One tenant exhausts the quota for everyone.
Fixed-window request counter: reset reported as an absolute time · case 01
Clients interpret an epoch timestamp as a delay and back off for decades.
Fixed-window request counter: reset reported as an absolute time · case 02
Clients interpret an epoch timestamp as a delay and back off for decades.
Fixed-window request counter: reset reported as an absolute time · case 03
Clients interpret an epoch timestamp as a delay and back off for decades.
Fixed-window request counter: reset reported as an absolute time · case 04
Clients interpret an epoch timestamp as a delay and back off for decades.
Fixed-window request counter: reset reported as an absolute time · case 05
Clients interpret an epoch timestamp as a delay and back off for decades.
Fixed-window request counter: remaining reported before charging · case 01
The last permitted request is advertised as leaving one more.
Fixed-window request counter: remaining reported before charging · case 02
The last permitted request is advertised as leaving one more.
Fixed-window request counter: remaining reported before charging · case 03
The last permitted request is advertised as leaving one more.
Fixed-window request counter: remaining reported before charging · case 04
The last permitted request is advertised as leaving one more.
Fixed-window request counter: remaining reported before charging · case 05
The last permitted request is advertised as leaving one more.
Fixed-window request counter: one request beyond the limit admitted · case 01
Each window admits limit + 1 requests.
Fixed-window request counter: one request beyond the limit admitted · case 02
Each window admits limit + 1 requests.
Fixed-window request counter: one request beyond the limit admitted · case 03
Each window admits limit + 1 requests.
Fixed-window request counter: one request beyond the limit admitted · case 04
Each window admits limit + 1 requests.
Fixed-window request counter: one request beyond the limit admitted · case 05
Each window admits limit + 1 requests.
Sliding-window log limiter: entry exactly one window old still counted · case 01
A client retrying exactly at the advertised time is denied again.
Sliding-window log limiter: entry exactly one window old still counted · case 02
A client retrying exactly at the advertised time is denied again.
Sliding-window log limiter: entry exactly one window old still counted · case 03
A client retrying exactly at the advertised time is denied again.
Sliding-window log limiter: entry exactly one window old still counted · case 04
A client retrying exactly at the advertised time is denied again.
Sliding-window log limiter: entry exactly one window old still counted · case 05
A client retrying exactly at the advertised time is denied again.
Sliding-window log limiter: denied requests extend the lockout · case 01
A client that keeps retrying never recovers because every denial is logged.
Sliding-window log limiter: denied requests extend the lockout · case 02
A client that keeps retrying never recovers because every denial is logged.
Sliding-window log limiter: denied requests extend the lockout · case 03
A client that keeps retrying never recovers because every denial is logged.
Sliding-window log limiter: denied requests extend the lockout · case 04
A client that keeps retrying never recovers because every denial is logged.
Sliding-window log limiter: denied requests extend the lockout · case 05
A client that keeps retrying never recovers because every denial is logged.
Sliding-window log limiter: retry hint is always the full window · case 01
Clients back off longer than necessary.
Sliding-window log limiter: retry hint is always the full window · case 02
Clients back off longer than necessary.
Sliding-window log limiter: retry hint is always the full window · case 03
Clients back off longer than necessary.
Sliding-window log limiter: retry hint is always the full window · case 04
Clients back off longer than necessary.
Sliding-window log limiter: retry hint is always the full window · case 05
Clients back off longer than necessary.
Sliding-window log limiter: late timestamp rewinds the limiter clock · case 01
A delayed request is evaluated in the past and resurrects expired entries.
Sliding-window log limiter: late timestamp rewinds the limiter clock · case 02
A delayed request is evaluated in the past and resurrects expired entries.
Sliding-window log limiter: late timestamp rewinds the limiter clock · case 03
A delayed request is evaluated in the past and resurrects expired entries.
Sliding-window log limiter: late timestamp rewinds the limiter clock · case 04
A delayed request is evaluated in the past and resurrects expired entries.
Sliding-window log limiter: late timestamp rewinds the limiter clock · case 05
A delayed request is evaluated in the past and resurrects expired entries.
Sliding-window log limiter: newest entry stored at the front · case 01
The retry hint is computed from the newest request instead of the oldest.
Sliding-window log limiter: newest entry stored at the front · case 02
The retry hint is computed from the newest request instead of the oldest.
Sliding-window log limiter: newest entry stored at the front · case 03
The retry hint is computed from the newest request instead of the oldest.
Sliding-window log limiter: newest entry stored at the front · case 04
The retry hint is computed from the newest request instead of the oldest.
Sliding-window log limiter: newest entry stored at the front · case 05
The retry hint is computed from the newest request instead of the oldest.
Sliding-window counter approximation: previous window weighted by elapsed time · case 01
Right after a boundary the previous window counts for nothing, allowing a double burst.
Sliding-window counter approximation: previous window weighted by elapsed time · case 02
Right after a boundary the previous window counts for nothing, allowing a double burst.
Sliding-window counter approximation: previous window weighted by elapsed time · case 03
Right after a boundary the previous window counts for nothing, allowing a double burst.
Sliding-window counter approximation: previous window weighted by elapsed time · case 04
Right after a boundary the previous window counts for nothing, allowing a double burst.
Sliding-window counter approximation: previous window weighted by elapsed time · case 05
Right after a boundary the previous window counts for nothing, allowing a double burst.
Sliding-window counter approximation: stale window rotated in after a gap · case 01
After an idle gap an old window's traffic still throttles the client.
Sliding-window counter approximation: stale window rotated in after a gap · case 02
After an idle gap an old window's traffic still throttles the client.
Sliding-window counter approximation: stale window rotated in after a gap · case 03
After an idle gap an old window's traffic still throttles the client.
Sliding-window counter approximation: stale window rotated in after a gap · case 04
After an idle gap an old window's traffic still throttles the client.
Sliding-window counter approximation: stale window rotated in after a gap · case 05
After an idle gap an old window's traffic still throttles the client.
Sliding-window counter approximation: fractional estimate admits over the limit · case 01
An estimate of 3.5 against a limit of 4 is admitted, pushing the rolling rate over the limit.
Sliding-window counter approximation: fractional estimate admits over the limit · case 02
An estimate of 3.5 against a limit of 4 is admitted, pushing the rolling rate over the limit.
Sliding-window counter approximation: fractional estimate admits over the limit · case 03
An estimate of 3.5 against a limit of 4 is admitted, pushing the rolling rate over the limit.
Sliding-window counter approximation: fractional estimate admits over the limit · case 04
An estimate of 3.5 against a limit of 4 is admitted, pushing the rolling rate over the limit.
Sliding-window counter approximation: fractional estimate admits over the limit · case 05
An estimate of 3.5 against a limit of 4 is admitted, pushing the rolling rate over the limit.
Sliding-window counter approximation: elapsed measured from the previous window · case 01
The first request of a new window computes a negative overlap and under-counts.
Sliding-window counter approximation: elapsed measured from the previous window · case 02
The first request of a new window computes a negative overlap and under-counts.
Sliding-window counter approximation: elapsed measured from the previous window · case 03
The first request of a new window computes a negative overlap and under-counts.
Sliding-window counter approximation: elapsed measured from the previous window · case 04
The first request of a new window computes a negative overlap and under-counts.
Sliding-window counter approximation: elapsed measured from the previous window · case 05
The first request of a new window computes a negative overlap and under-counts.
Leaky bucket meter: level drains below empty · case 01
A long idle period lets the bucket go negative and admit a burst larger than its capacity.
Leaky bucket meter: level drains below empty · case 02
A long idle period lets the bucket go negative and admit a burst larger than its capacity.
Leaky bucket meter: level drains below empty · case 03
A long idle period lets the bucket go negative and admit a burst larger than its capacity.
Leaky bucket meter: level drains below empty · case 04
A long idle period lets the bucket go negative and admit a burst larger than its capacity.
Leaky bucket meter: level drains below empty · case 05
A long idle period lets the bucket go negative and admit a burst larger than its capacity.
Leaky bucket meter: leak applied per millisecond · case 01
The bucket empties a thousand times too fast, so the limiter admits nearly everything.
Leaky bucket meter: leak applied per millisecond · case 02
The bucket empties a thousand times too fast, so the limiter admits nearly everything.
Leaky bucket meter: leak applied per millisecond · case 03
The bucket empties a thousand times too fast, so the limiter admits nearly everything.
Leaky bucket meter: leak applied per millisecond · case 04
The bucket empties a thousand times too fast, so the limiter admits nearly everything.
Leaky bucket meter: leak applied per millisecond · case 05
The bucket empties a thousand times too fast, so the limiter admits nearly everything.
Leaky bucket meter: drain clock advances only on admission · case 01
After a denial the next request drains the same interval twice.
Leaky bucket meter: drain clock advances only on admission · case 02
After a denial the next request drains the same interval twice.
Leaky bucket meter: drain clock advances only on admission · case 03
After a denial the next request drains the same interval twice.
Leaky bucket meter: drain clock advances only on admission · case 04
After a denial the next request drains the same interval twice.
Leaky bucket meter: drain clock advances only on admission · case 05
After a denial the next request drains the same interval twice.
Leaky bucket meter: admission ignores the request cost · case 01
A large request is admitted into an almost full bucket and overflows it.
Leaky bucket meter: admission ignores the request cost · case 02
A large request is admitted into an almost full bucket and overflows it.
Leaky bucket meter: admission ignores the request cost · case 03
A large request is admitted into an almost full bucket and overflows it.
Leaky bucket meter: admission ignores the request cost · case 04
A large request is admitted into an almost full bucket and overflows it.
Leaky bucket meter: admission ignores the request cost · case 05
A large request is admitted into an almost full bucket and overflows it.
INSPECTABLE BY DESIGN
Every result has a runnable source.
Runnable implementations with recorded outputs, source hashes, and explicit contracts. Related variants share a failure mechanism and belong together in evaluation splits.
Read the methodology ↗