FAILURE MAP

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 ↗
100840Executable case variants
20168Distinct failure mechanisms
302520Executed implementations
20168Open-access cases

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

Python · Standard library
REFERENCEFAILURE MECHANISMDOMAINACCESS
FA-73401

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.

Rate limiter algorithms● Open access↗
FA-73402

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.

Rate limiter algorithms◈ Members↗
FA-73403

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.

Rate limiter algorithms◈ Members↗
FA-73404

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.

Rate limiter algorithms◈ Members↗
FA-73405

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.

Rate limiter algorithms◈ Members↗
FA-73406

Fixed-window request counter: windows anchored to the first request · case 01

Window boundaries differ from the advertised epoch-aligned reset times.

Rate limiter algorithms● Open access↗
FA-73407

Fixed-window request counter: windows anchored to the first request · case 02

Window boundaries differ from the advertised epoch-aligned reset times.

Rate limiter algorithms◈ Members↗
FA-73408

Fixed-window request counter: windows anchored to the first request · case 03

Window boundaries differ from the advertised epoch-aligned reset times.

Rate limiter algorithms◈ Members↗
FA-73409

Fixed-window request counter: windows anchored to the first request · case 04

Window boundaries differ from the advertised epoch-aligned reset times.

Rate limiter algorithms◈ Members↗
FA-73410

Fixed-window request counter: windows anchored to the first request · case 05

Window boundaries differ from the advertised epoch-aligned reset times.

Rate limiter algorithms◈ Members↗
FA-73411

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.

Rate limiter algorithms● Open access↗
FA-73412

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.

Rate limiter algorithms◈ Members↗
FA-73413

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.

Rate limiter algorithms◈ Members↗
FA-73414

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.

Rate limiter algorithms◈ Members↗
FA-73415

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.

Rate limiter algorithms◈ Members↗
FA-73416

Fixed-window request counter: one counter shared by every key · case 01

One tenant exhausts the quota for everyone.

Rate limiter algorithms● Open access↗
FA-73417

Fixed-window request counter: one counter shared by every key · case 02

One tenant exhausts the quota for everyone.

Rate limiter algorithms◈ Members↗
FA-73418

Fixed-window request counter: one counter shared by every key · case 03

One tenant exhausts the quota for everyone.

Rate limiter algorithms◈ Members↗
FA-73419

Fixed-window request counter: one counter shared by every key · case 04

One tenant exhausts the quota for everyone.

Rate limiter algorithms◈ Members↗
FA-73420

Fixed-window request counter: one counter shared by every key · case 05

One tenant exhausts the quota for everyone.

Rate limiter algorithms◈ Members↗
FA-73421

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.

Rate limiter algorithms● Open access↗
FA-73422

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.

Rate limiter algorithms◈ Members↗
FA-73423

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.

Rate limiter algorithms◈ Members↗
FA-73424

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.

Rate limiter algorithms◈ Members↗
FA-73425

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.

Rate limiter algorithms◈ Members↗
FA-73426

Fixed-window request counter: remaining reported before charging · case 01

The last permitted request is advertised as leaving one more.

Rate limiter algorithms● Open access↗
FA-73427

Fixed-window request counter: remaining reported before charging · case 02

The last permitted request is advertised as leaving one more.

Rate limiter algorithms◈ Members↗
FA-73428

Fixed-window request counter: remaining reported before charging · case 03

The last permitted request is advertised as leaving one more.

Rate limiter algorithms◈ Members↗
FA-73429

Fixed-window request counter: remaining reported before charging · case 04

The last permitted request is advertised as leaving one more.

Rate limiter algorithms◈ Members↗
FA-73430

Fixed-window request counter: remaining reported before charging · case 05

The last permitted request is advertised as leaving one more.

Rate limiter algorithms◈ Members↗
FA-73431

Fixed-window request counter: one request beyond the limit admitted · case 01

Each window admits limit + 1 requests.

Rate limiter algorithms● Open access↗
FA-73432

Fixed-window request counter: one request beyond the limit admitted · case 02

Each window admits limit + 1 requests.

Rate limiter algorithms◈ Members↗
FA-73433

Fixed-window request counter: one request beyond the limit admitted · case 03

Each window admits limit + 1 requests.

Rate limiter algorithms◈ Members↗
FA-73434

Fixed-window request counter: one request beyond the limit admitted · case 04

Each window admits limit + 1 requests.

Rate limiter algorithms◈ Members↗
FA-73435

Fixed-window request counter: one request beyond the limit admitted · case 05

Each window admits limit + 1 requests.

Rate limiter algorithms◈ Members↗
FA-73436

Sliding-window log limiter: entry exactly one window old still counted · case 01

A client retrying exactly at the advertised time is denied again.

Rate limiter algorithms● Open access↗
FA-73437

Sliding-window log limiter: entry exactly one window old still counted · case 02

A client retrying exactly at the advertised time is denied again.

Rate limiter algorithms◈ Members↗
FA-73438

Sliding-window log limiter: entry exactly one window old still counted · case 03

A client retrying exactly at the advertised time is denied again.

Rate limiter algorithms◈ Members↗
FA-73439

Sliding-window log limiter: entry exactly one window old still counted · case 04

A client retrying exactly at the advertised time is denied again.

Rate limiter algorithms◈ Members↗
FA-73440

Sliding-window log limiter: entry exactly one window old still counted · case 05

A client retrying exactly at the advertised time is denied again.

Rate limiter algorithms◈ Members↗
FA-73441

Sliding-window log limiter: denied requests extend the lockout · case 01

A client that keeps retrying never recovers because every denial is logged.

Rate limiter algorithms● Open access↗
FA-73442

Sliding-window log limiter: denied requests extend the lockout · case 02

A client that keeps retrying never recovers because every denial is logged.

Rate limiter algorithms◈ Members↗
FA-73443

Sliding-window log limiter: denied requests extend the lockout · case 03

A client that keeps retrying never recovers because every denial is logged.

Rate limiter algorithms◈ Members↗
FA-73444

Sliding-window log limiter: denied requests extend the lockout · case 04

A client that keeps retrying never recovers because every denial is logged.

Rate limiter algorithms◈ Members↗
FA-73445

Sliding-window log limiter: denied requests extend the lockout · case 05

A client that keeps retrying never recovers because every denial is logged.

Rate limiter algorithms◈ Members↗
FA-73446

Sliding-window log limiter: retry hint is always the full window · case 01

Clients back off longer than necessary.

Rate limiter algorithms● Open access↗
FA-73447

Sliding-window log limiter: retry hint is always the full window · case 02

Clients back off longer than necessary.

Rate limiter algorithms◈ Members↗
FA-73448

Sliding-window log limiter: retry hint is always the full window · case 03

Clients back off longer than necessary.

Rate limiter algorithms◈ Members↗
FA-73449

Sliding-window log limiter: retry hint is always the full window · case 04

Clients back off longer than necessary.

Rate limiter algorithms◈ Members↗
FA-73450

Sliding-window log limiter: retry hint is always the full window · case 05

Clients back off longer than necessary.

Rate limiter algorithms◈ Members↗
FA-73451

Sliding-window log limiter: late timestamp rewinds the limiter clock · case 01

A delayed request is evaluated in the past and resurrects expired entries.

Rate limiter algorithms● Open access↗
FA-73452

Sliding-window log limiter: late timestamp rewinds the limiter clock · case 02

A delayed request is evaluated in the past and resurrects expired entries.

Rate limiter algorithms◈ Members↗
FA-73453

Sliding-window log limiter: late timestamp rewinds the limiter clock · case 03

A delayed request is evaluated in the past and resurrects expired entries.

Rate limiter algorithms◈ Members↗
FA-73454

Sliding-window log limiter: late timestamp rewinds the limiter clock · case 04

A delayed request is evaluated in the past and resurrects expired entries.

Rate limiter algorithms◈ Members↗
FA-73455

Sliding-window log limiter: late timestamp rewinds the limiter clock · case 05

A delayed request is evaluated in the past and resurrects expired entries.

Rate limiter algorithms◈ Members↗
FA-73456

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.

Rate limiter algorithms● Open access↗
FA-73457

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.

Rate limiter algorithms◈ Members↗
FA-73458

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.

Rate limiter algorithms◈ Members↗
FA-73459

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.

Rate limiter algorithms◈ Members↗
FA-73460

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.

Rate limiter algorithms◈ Members↗
FA-73461

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.

Rate limiter algorithms● Open access↗
FA-73462

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.

Rate limiter algorithms◈ Members↗
FA-73463

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.

Rate limiter algorithms◈ Members↗
FA-73464

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.

Rate limiter algorithms◈ Members↗
FA-73465

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.

Rate limiter algorithms◈ Members↗
FA-73466

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.

Rate limiter algorithms● Open access↗
FA-73467

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.

Rate limiter algorithms◈ Members↗
FA-73468

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.

Rate limiter algorithms◈ Members↗
FA-73469

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.

Rate limiter algorithms◈ Members↗
FA-73470

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.

Rate limiter algorithms◈ Members↗
FA-73471

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.

Rate limiter algorithms● Open access↗
FA-73472

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.

Rate limiter algorithms◈ Members↗
FA-73473

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.

Rate limiter algorithms◈ Members↗
FA-73474

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.

Rate limiter algorithms◈ Members↗
FA-73475

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.

Rate limiter algorithms◈ Members↗
FA-73476

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.

Rate limiter algorithms● Open access↗
FA-73477

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.

Rate limiter algorithms◈ Members↗
FA-73478

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.

Rate limiter algorithms◈ Members↗
FA-73479

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.

Rate limiter algorithms◈ Members↗
FA-73480

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.

Rate limiter algorithms◈ Members↗
FA-73481

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.

Rate limiter algorithms● Open access↗
FA-73482

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.

Rate limiter algorithms◈ Members↗
FA-73483

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.

Rate limiter algorithms◈ Members↗
FA-73484

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.

Rate limiter algorithms◈ Members↗
FA-73485

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.

Rate limiter algorithms◈ Members↗
FA-73486

Leaky bucket meter: leak applied per millisecond · case 01

The bucket empties a thousand times too fast, so the limiter admits nearly everything.

Rate limiter algorithms● Open access↗
FA-73487

Leaky bucket meter: leak applied per millisecond · case 02

The bucket empties a thousand times too fast, so the limiter admits nearly everything.

Rate limiter algorithms◈ Members↗
FA-73488

Leaky bucket meter: leak applied per millisecond · case 03

The bucket empties a thousand times too fast, so the limiter admits nearly everything.

Rate limiter algorithms◈ Members↗
FA-73489

Leaky bucket meter: leak applied per millisecond · case 04

The bucket empties a thousand times too fast, so the limiter admits nearly everything.

Rate limiter algorithms◈ Members↗
FA-73490

Leaky bucket meter: leak applied per millisecond · case 05

The bucket empties a thousand times too fast, so the limiter admits nearly everything.

Rate limiter algorithms◈ Members↗
FA-73491

Leaky bucket meter: drain clock advances only on admission · case 01

After a denial the next request drains the same interval twice.

Rate limiter algorithms● Open access↗
FA-73492

Leaky bucket meter: drain clock advances only on admission · case 02

After a denial the next request drains the same interval twice.

Rate limiter algorithms◈ Members↗
FA-73493

Leaky bucket meter: drain clock advances only on admission · case 03

After a denial the next request drains the same interval twice.

Rate limiter algorithms◈ Members↗
FA-73494

Leaky bucket meter: drain clock advances only on admission · case 04

After a denial the next request drains the same interval twice.

Rate limiter algorithms◈ Members↗
FA-73495

Leaky bucket meter: drain clock advances only on admission · case 05

After a denial the next request drains the same interval twice.

Rate limiter algorithms◈ Members↗
FA-73496

Leaky bucket meter: admission ignores the request cost · case 01

A large request is admitted into an almost full bucket and overflows it.

Rate limiter algorithms● Open access↗
FA-73497

Leaky bucket meter: admission ignores the request cost · case 02

A large request is admitted into an almost full bucket and overflows it.

Rate limiter algorithms◈ Members↗
FA-73498

Leaky bucket meter: admission ignores the request cost · case 03

A large request is admitted into an almost full bucket and overflows it.

Rate limiter algorithms◈ Members↗
FA-73499

Leaky bucket meter: admission ignores the request cost · case 04

A large request is admitted into an almost full bucket and overflows it.

Rate limiter algorithms◈ Members↗
FA-73500

Leaky bucket meter: admission ignores the request cost · case 05

A large request is admitted into an almost full bucket and overflows it.

Rate limiter algorithms◈ Members↗

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 ↗