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-73701

Distributed limiter with leased quota chunks: returned lease not credited · case 01

Quota returned by draining nodes is lost for the rest of the window.

Rate limiter algorithms● Open access↗
FA-73702

Distributed limiter with leased quota chunks: returned lease not credited · case 02

Quota returned by draining nodes is lost for the rest of the window.

Rate limiter algorithms◈ Members↗
FA-73703

Distributed limiter with leased quota chunks: returned lease not credited · case 03

Quota returned by draining nodes is lost for the rest of the window.

Rate limiter algorithms◈ Members↗
FA-73704

Distributed limiter with leased quota chunks: returned lease not credited · case 04

Quota returned by draining nodes is lost for the rest of the window.

Rate limiter algorithms◈ Members↗
FA-73705

Distributed limiter with leased quota chunks: returned lease not credited · case 05

Quota returned by draining nodes is lost for the rest of the window.

Rate limiter algorithms◈ Members↗
FA-73706

Distributed limiter with leased quota chunks: leases survive the window rollover · case 01

Nodes spend last window's leftover lease on top of the new window's full quota.

Rate limiter algorithms● Open access↗
FA-73707

Distributed limiter with leased quota chunks: leases survive the window rollover · case 02

Nodes spend last window's leftover lease on top of the new window's full quota.

Rate limiter algorithms◈ Members↗
FA-73708

Distributed limiter with leased quota chunks: leases survive the window rollover · case 03

Nodes spend last window's leftover lease on top of the new window's full quota.

Rate limiter algorithms◈ Members↗
FA-73709

Distributed limiter with leased quota chunks: leases survive the window rollover · case 04

Nodes spend last window's leftover lease on top of the new window's full quota.

Rate limiter algorithms◈ Members↗
FA-73710

Distributed limiter with leased quota chunks: leases survive the window rollover · case 05

Nodes spend last window's leftover lease on top of the new window's full quota.

Rate limiter algorithms◈ Members↗
FA-73711

Distributed limiter with leased quota chunks: exhausted lease never refetched · case 01

A node that used up its first chunk denies everything for the rest of the window although quota remains.

Rate limiter algorithms● Open access↗
FA-73712

Distributed limiter with leased quota chunks: exhausted lease never refetched · case 02

A node that used up its first chunk denies everything for the rest of the window although quota remains.

Rate limiter algorithms◈ Members↗
FA-73713

Distributed limiter with leased quota chunks: exhausted lease never refetched · case 03

A node that used up its first chunk denies everything for the rest of the window although quota remains.

Rate limiter algorithms◈ Members↗
FA-73714

Distributed limiter with leased quota chunks: exhausted lease never refetched · case 04

A node that used up its first chunk denies everything for the rest of the window although quota remains.

Rate limiter algorithms◈ Members↗
FA-73715

Distributed limiter with leased quota chunks: exhausted lease never refetched · case 05

A node that used up its first chunk denies everything for the rest of the window although quota remains.

Rate limiter algorithms◈ Members↗
FA-73716

Distributed limiter with leased quota chunks: grant not debited from the coordinator · case 01

Every node can lease the whole quota, multiplying the global limit.

Rate limiter algorithms● Open access↗
FA-73717

Distributed limiter with leased quota chunks: grant not debited from the coordinator · case 02

Every node can lease the whole quota, multiplying the global limit.

Rate limiter algorithms◈ Members↗
FA-73718

Distributed limiter with leased quota chunks: grant not debited from the coordinator · case 03

Every node can lease the whole quota, multiplying the global limit.

Rate limiter algorithms◈ Members↗
FA-73719

Distributed limiter with leased quota chunks: grant not debited from the coordinator · case 04

Every node can lease the whole quota, multiplying the global limit.

Rate limiter algorithms◈ Members↗
FA-73720

Distributed limiter with leased quota chunks: grant not debited from the coordinator · case 05

Every node can lease the whole quota, multiplying the global limit.

Rate limiter algorithms◈ Members↗
FA-73721

Token bucket with bounded overdraft: no overdraft allowed · case 01

Expensive requests are refused until the bucket fully covers them, starving large callers.

Rate limiter algorithms● Open access↗
FA-73722

Token bucket with bounded overdraft: no overdraft allowed · case 02

Expensive requests are refused until the bucket fully covers them, starving large callers.

Rate limiter algorithms◈ Members↗
FA-73723

Token bucket with bounded overdraft: no overdraft allowed · case 03

Expensive requests are refused until the bucket fully covers them, starving large callers.

Rate limiter algorithms◈ Members↗
FA-73724

Token bucket with bounded overdraft: no overdraft allowed · case 04

Expensive requests are refused until the bucket fully covers them, starving large callers.

Rate limiter algorithms◈ Members↗
FA-73725

Token bucket with bounded overdraft: no overdraft allowed · case 05

Expensive requests are refused until the bucket fully covers them, starving large callers.

Rate limiter algorithms◈ Members↗
FA-73726

Token bucket with bounded overdraft: debt bounded by capacity instead of the debt limit · case 01

The overdraft limit follows the bucket size rather than the configured debt bound.

Rate limiter algorithms● Open access↗
FA-73727

Token bucket with bounded overdraft: debt bounded by capacity instead of the debt limit · case 02

The overdraft limit follows the bucket size rather than the configured debt bound.

Rate limiter algorithms◈ Members↗
FA-73728

Token bucket with bounded overdraft: debt bounded by capacity instead of the debt limit · case 03

The overdraft limit follows the bucket size rather than the configured debt bound.

Rate limiter algorithms◈ Members↗
FA-73729

Token bucket with bounded overdraft: debt bounded by capacity instead of the debt limit · case 04

The overdraft limit follows the bucket size rather than the configured debt bound.

Rate limiter algorithms◈ Members↗
FA-73730

Token bucket with bounded overdraft: debt bounded by capacity instead of the debt limit · case 05

The overdraft limit follows the bucket size rather than the configured debt bound.

Rate limiter algorithms◈ Members↗
FA-73731

Token bucket with bounded overdraft: refill forgives outstanding debt · case 01

Overdrawn clients start refilling from zero, so debt is never repaid.

Rate limiter algorithms● Open access↗
FA-73732

Token bucket with bounded overdraft: refill forgives outstanding debt · case 02

Overdrawn clients start refilling from zero, so debt is never repaid.

Rate limiter algorithms◈ Members↗
FA-73733

Token bucket with bounded overdraft: refill forgives outstanding debt · case 03

Overdrawn clients start refilling from zero, so debt is never repaid.

Rate limiter algorithms◈ Members↗
FA-73734

Token bucket with bounded overdraft: refill forgives outstanding debt · case 04

Overdrawn clients start refilling from zero, so debt is never repaid.

Rate limiter algorithms◈ Members↗
FA-73735

Token bucket with bounded overdraft: refill forgives outstanding debt · case 05

Overdrawn clients start refilling from zero, so debt is never repaid.

Rate limiter algorithms◈ Members↗
FA-73736

Token bucket with bounded overdraft: refill clock advances only on admission · case 01

After a denial the same interval is refilled again at the next request.

Rate limiter algorithms● Open access↗
FA-73737

Token bucket with bounded overdraft: refill clock advances only on admission · case 02

After a denial the same interval is refilled again at the next request.

Rate limiter algorithms◈ Members↗
FA-73738

Token bucket with bounded overdraft: refill clock advances only on admission · case 03

After a denial the same interval is refilled again at the next request.

Rate limiter algorithms◈ Members↗
FA-73739

Token bucket with bounded overdraft: refill clock advances only on admission · case 04

After a denial the same interval is refilled again at the next request.

Rate limiter algorithms◈ Members↗
FA-73740

Token bucket with bounded overdraft: refill clock advances only on admission · case 05

After a denial the same interval is refilled again at the next request.

Rate limiter algorithms◈ Members↗
FA-73741

Rate limiter with a bounded per-key state table: throttled key evicted · case 01

An attacker cycles through new keys to evict its own throttled entry and receive a full bucket.

Rate limiter algorithms● Open access↗
FA-73742

Rate limiter with a bounded per-key state table: throttled key evicted · case 02

An attacker cycles through new keys to evict its own throttled entry and receive a full bucket.

Rate limiter algorithms◈ Members↗
FA-73743

Rate limiter with a bounded per-key state table: throttled key evicted · case 03

An attacker cycles through new keys to evict its own throttled entry and receive a full bucket.

Rate limiter algorithms◈ Members↗
FA-73744

Rate limiter with a bounded per-key state table: throttled key evicted · case 04

An attacker cycles through new keys to evict its own throttled entry and receive a full bucket.

Rate limiter algorithms◈ Members↗
FA-73745

Rate limiter with a bounded per-key state table: throttled key evicted · case 05

An attacker cycles through new keys to evict its own throttled entry and receive a full bucket.

Rate limiter algorithms◈ Members↗
FA-73746

Rate limiter with a bounded per-key state table: hits do not refresh recency · case 01

A frequently used key is evicted as if it were stale.

Rate limiter algorithms● Open access↗
FA-73747

Rate limiter with a bounded per-key state table: hits do not refresh recency · case 02

A frequently used key is evicted as if it were stale.

Rate limiter algorithms◈ Members↗
FA-73748

Rate limiter with a bounded per-key state table: hits do not refresh recency · case 03

A frequently used key is evicted as if it were stale.

Rate limiter algorithms◈ Members↗
FA-73749

Rate limiter with a bounded per-key state table: hits do not refresh recency · case 04

A frequently used key is evicted as if it were stale.

Rate limiter algorithms◈ Members↗
FA-73750

Rate limiter with a bounded per-key state table: hits do not refresh recency · case 05

A frequently used key is evicted as if it were stale.

Rate limiter algorithms◈ Members↗
FA-73751

Rate limiter with a bounded per-key state table: new key starts empty · case 01

A new client is denied its first request.

Rate limiter algorithms● Open access↗
FA-73752

Rate limiter with a bounded per-key state table: new key starts empty · case 02

A new client is denied its first request.

Rate limiter algorithms◈ Members↗
FA-73753

Rate limiter with a bounded per-key state table: new key starts empty · case 03

A new client is denied its first request.

Rate limiter algorithms◈ Members↗
FA-73754

Rate limiter with a bounded per-key state table: new key starts empty · case 04

A new client is denied its first request.

Rate limiter algorithms◈ Members↗
FA-73755

Rate limiter with a bounded per-key state table: new key starts empty · case 05

A new client is denied its first request.

Rate limiter algorithms◈ Members↗
FA-73756

Rate limiter with a bounded per-key state table: any key with tokens counts as idle · case 01

A partially throttled key is evicted and its restrictions are forgotten.

Rate limiter algorithms● Open access↗
FA-73757

Rate limiter with a bounded per-key state table: any key with tokens counts as idle · case 02

A partially throttled key is evicted and its restrictions are forgotten.

Rate limiter algorithms◈ Members↗
FA-73758

Rate limiter with a bounded per-key state table: any key with tokens counts as idle · case 03

A partially throttled key is evicted and its restrictions are forgotten.

Rate limiter algorithms◈ Members↗
FA-73759

Rate limiter with a bounded per-key state table: any key with tokens counts as idle · case 04

A partially throttled key is evicted and its restrictions are forgotten.

Rate limiter algorithms◈ Members↗
FA-73760

Rate limiter with a bounded per-key state table: any key with tokens counts as idle · case 05

A partially throttled key is evicted and its restrictions are forgotten.

Rate limiter algorithms◈ Members↗
FA-73761

EWMA arrival-rate throttle: decay constant treated as seconds · case 01

The estimate barely reacts to new arrivals and throttling kicks in minutes late.

Rate limiter algorithms● Open access↗
FA-73762

EWMA arrival-rate throttle: decay constant treated as seconds · case 02

The estimate barely reacts to new arrivals and throttling kicks in minutes late.

Rate limiter algorithms◈ Members↗
FA-73763

EWMA arrival-rate throttle: decay constant treated as seconds · case 03

The estimate barely reacts to new arrivals and throttling kicks in minutes late.

Rate limiter algorithms◈ Members↗
FA-73764

EWMA arrival-rate throttle: decay constant treated as seconds · case 04

The estimate barely reacts to new arrivals and throttling kicks in minutes late.

Rate limiter algorithms◈ Members↗
FA-73765

EWMA arrival-rate throttle: decay constant treated as seconds · case 05

The estimate barely reacts to new arrivals and throttling kicks in minutes late.

Rate limiter algorithms◈ Members↗
FA-73766

EWMA arrival-rate throttle: instantaneous rate per millisecond · case 01

Estimates are a thousand times too small and nothing is ever throttled.

Rate limiter algorithms● Open access↗
FA-73767

EWMA arrival-rate throttle: instantaneous rate per millisecond · case 02

Estimates are a thousand times too small and nothing is ever throttled.

Rate limiter algorithms◈ Members↗
FA-73768

EWMA arrival-rate throttle: instantaneous rate per millisecond · case 03

Estimates are a thousand times too small and nothing is ever throttled.

Rate limiter algorithms◈ Members↗
FA-73769

EWMA arrival-rate throttle: instantaneous rate per millisecond · case 04

Estimates are a thousand times too small and nothing is ever throttled.

Rate limiter algorithms◈ Members↗
FA-73770

EWMA arrival-rate throttle: instantaneous rate per millisecond · case 05

Estimates are a thousand times too small and nothing is ever throttled.

Rate limiter algorithms◈ Members↗
FA-73771

EWMA arrival-rate throttle: simultaneous arrivals treated as one millisecond apart · case 01

Two requests with the same timestamp spike the estimate to 1000 requests per second.

Rate limiter algorithms● Open access↗
FA-73772

EWMA arrival-rate throttle: simultaneous arrivals treated as one millisecond apart · case 02

Two requests with the same timestamp spike the estimate to 1000 requests per second.

Rate limiter algorithms◈ Members↗
FA-73773

EWMA arrival-rate throttle: simultaneous arrivals treated as one millisecond apart · case 03

Two requests with the same timestamp spike the estimate to 1000 requests per second.

Rate limiter algorithms◈ Members↗
FA-73774

EWMA arrival-rate throttle: simultaneous arrivals treated as one millisecond apart · case 04

Two requests with the same timestamp spike the estimate to 1000 requests per second.

Rate limiter algorithms◈ Members↗
FA-73775

EWMA arrival-rate throttle: simultaneous arrivals treated as one millisecond apart · case 05

Two requests with the same timestamp spike the estimate to 1000 requests per second.

Rate limiter algorithms◈ Members↗
FA-73776

EWMA arrival-rate throttle: blend weights swapped · case 01

Long gaps keep the old rate while short gaps discard it, inverting the smoothing.

Rate limiter algorithms● Open access↗
FA-73777

EWMA arrival-rate throttle: blend weights swapped · case 02

Long gaps keep the old rate while short gaps discard it, inverting the smoothing.

Rate limiter algorithms◈ Members↗
FA-73778

EWMA arrival-rate throttle: blend weights swapped · case 03

Long gaps keep the old rate while short gaps discard it, inverting the smoothing.

Rate limiter algorithms◈ Members↗
FA-73779

EWMA arrival-rate throttle: blend weights swapped · case 04

Long gaps keep the old rate while short gaps discard it, inverting the smoothing.

Rate limiter algorithms◈ Members↗
FA-73780

EWMA arrival-rate throttle: blend weights swapped · case 05

Long gaps keep the old rate while short gaps discard it, inverting the smoothing.

Rate limiter algorithms◈ Members↗
FA-73781

EWMA arrival-rate throttle: late arrival rewinds the clock · case 01

After a late arrival the next interval is measured from the past and appears artificially long or short.

Rate limiter algorithms● Open access↗
FA-73782

EWMA arrival-rate throttle: late arrival rewinds the clock · case 02

After a late arrival the next interval is measured from the past and appears artificially long or short.

Rate limiter algorithms◈ Members↗
FA-73783

EWMA arrival-rate throttle: late arrival rewinds the clock · case 03

After a late arrival the next interval is measured from the past and appears artificially long or short.

Rate limiter algorithms◈ Members↗
FA-73784

EWMA arrival-rate throttle: late arrival rewinds the clock · case 04

After a late arrival the next interval is measured from the past and appears artificially long or short.

Rate limiter algorithms◈ Members↗
FA-73785

EWMA arrival-rate throttle: late arrival rewinds the clock · case 05

After a late arrival the next interval is measured from the past and appears artificially long or short.

Rate limiter algorithms◈ Members↗
FA-73786

Rolling window over a ring of sub-window counters: reused slot keeps a lapped count · case 01

Traffic from one full window ago is counted again when its slot comes around.

Rate limiter algorithms● Open access↗
FA-73787

Rolling window over a ring of sub-window counters: reused slot keeps a lapped count · case 02

Traffic from one full window ago is counted again when its slot comes around.

Rate limiter algorithms◈ Members↗
FA-73788

Rolling window over a ring of sub-window counters: reused slot keeps a lapped count · case 03

Traffic from one full window ago is counted again when its slot comes around.

Rate limiter algorithms◈ Members↗
FA-73789

Rolling window over a ring of sub-window counters: reused slot keeps a lapped count · case 04

Traffic from one full window ago is counted again when its slot comes around.

Rate limiter algorithms◈ Members↗
FA-73790

Rolling window over a ring of sub-window counters: reused slot keeps a lapped count · case 05

Traffic from one full window ago is counted again when its slot comes around.

Rate limiter algorithms◈ Members↗
FA-73791

Rolling window over a ring of sub-window counters: rolling total includes expired slots · case 01

After an idle period, slots from long ago still count toward the limit.

Rate limiter algorithms● Open access↗
FA-73792

Rolling window over a ring of sub-window counters: rolling total includes expired slots · case 02

After an idle period, slots from long ago still count toward the limit.

Rate limiter algorithms◈ Members↗
FA-73793

Rolling window over a ring of sub-window counters: rolling total includes expired slots · case 03

After an idle period, slots from long ago still count toward the limit.

Rate limiter algorithms◈ Members↗
FA-73794

Rolling window over a ring of sub-window counters: rolling total includes expired slots · case 04

After an idle period, slots from long ago still count toward the limit.

Rate limiter algorithms◈ Members↗
FA-73795

Rolling window over a ring of sub-window counters: rolling total includes expired slots · case 05

After an idle period, slots from long ago still count toward the limit.

Rate limiter algorithms◈ Members↗
FA-73796

Rolling window over a ring of sub-window counters: slot chosen from raw milliseconds · case 01

Requests in the same sub-window scatter across slots and reset each other.

Rate limiter algorithms● Open access↗
FA-73797

Rolling window over a ring of sub-window counters: slot chosen from raw milliseconds · case 02

Requests in the same sub-window scatter across slots and reset each other.

Rate limiter algorithms◈ Members↗
FA-73798

Rolling window over a ring of sub-window counters: slot chosen from raw milliseconds · case 03

Requests in the same sub-window scatter across slots and reset each other.

Rate limiter algorithms◈ Members↗
FA-73799

Rolling window over a ring of sub-window counters: slot chosen from raw milliseconds · case 04

Requests in the same sub-window scatter across slots and reset each other.

Rate limiter algorithms◈ Members↗
FA-73800

Rolling window over a ring of sub-window counters: slot chosen from raw milliseconds · case 05

Requests in the same sub-window scatter across slots and reset each other.

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 ↗