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

Heapify required before successive pops · case 01

The operation returns a result or retained state that violates this contract: Build a min heap from arbitrary input and pop all values in sorted order, retaining duplicates.

Heap invariants● Open access↗
FA-4802

Heapify required before successive pops · case 02

The operation returns a result or retained state that violates this contract: Build a min heap from arbitrary input and pop all values in sorted order, retaining duplicates.

Heap invariants◈ Members↗
FA-4803

Heapify required before successive pops · case 03

The operation returns a result or retained state that violates this contract: Build a min heap from arbitrary input and pop all values in sorted order, retaining duplicates.

Heap invariants◈ Members↗
FA-4804

Heapify required before successive pops · case 04

The operation returns a result or retained state that violates this contract: Build a min heap from arbitrary input and pop all values in sorted order, retaining duplicates.

Heap invariants◈ Members↗
FA-4805

Heapify required before successive pops · case 05

The operation returns a result or retained state that violates this contract: Build a min heap from arbitrary input and pop all values in sorted order, retaining duplicates.

Heap invariants◈ Members↗
FA-4806

Heappushpop can return new smallest · case 01

The operation returns a result or retained state that violates this contract: Push then pop returns the smaller of the new value and previous heap minimum, retaining the other; empty heap returns the new value and remains empty.

Heap invariants● Open access↗
FA-4807

Heappushpop can return new smallest · case 02

The operation returns a result or retained state that violates this contract: Push then pop returns the smaller of the new value and previous heap minimum, retaining the other; empty heap returns the new value and remains empty.

Heap invariants◈ Members↗
FA-4808

Heappushpop can return new smallest · case 03

The operation returns a result or retained state that violates this contract: Push then pop returns the smaller of the new value and previous heap minimum, retaining the other; empty heap returns the new value and remains empty.

Heap invariants◈ Members↗
FA-4809

Heappushpop can return new smallest · case 04

The operation returns a result or retained state that violates this contract: Push then pop returns the smaller of the new value and previous heap minimum, retaining the other; empty heap returns the new value and remains empty.

Heap invariants◈ Members↗
FA-4810

Heappushpop can return new smallest · case 05

The operation returns a result or retained state that violates this contract: Push then pop returns the smaller of the new value and previous heap minimum, retaining the other; empty heap returns the new value and remains empty.

Heap invariants◈ Members↗
FA-4811

Heapreplace always evicts old minimum · case 01

The operation returns a result or retained state that violates this contract: For a nonempty heap, replace and return the old minimum even if the new value is smaller.

Heap invariants● Open access↗
FA-4812

Heapreplace always evicts old minimum · case 02

The operation returns a result or retained state that violates this contract: For a nonempty heap, replace and return the old minimum even if the new value is smaller.

Heap invariants◈ Members↗
FA-4813

Heapreplace always evicts old minimum · case 03

The operation returns a result or retained state that violates this contract: For a nonempty heap, replace and return the old minimum even if the new value is smaller.

Heap invariants◈ Members↗
FA-4814

Heapreplace always evicts old minimum · case 04

The operation returns a result or retained state that violates this contract: For a nonempty heap, replace and return the old minimum even if the new value is smaller.

Heap invariants◈ Members↗
FA-4815

Heapreplace always evicts old minimum · case 05

The operation returns a result or retained state that violates this contract: For a nonempty heap, replace and return the old minimum even if the new value is smaller.

Heap invariants◈ Members↗
FA-4816

Heap arbitrary removal restores invariant · case 01

The operation returns a result or retained state that violates this contract: Remove one matching heap value if present, then restore heap ordering before draining remaining values.

Heap invariants● Open access↗
FA-4817

Heap arbitrary removal restores invariant · case 02

The operation returns a result or retained state that violates this contract: Remove one matching heap value if present, then restore heap ordering before draining remaining values.

Heap invariants◈ Members↗
FA-4818

Heap arbitrary removal restores invariant · case 03

The operation returns a result or retained state that violates this contract: Remove one matching heap value if present, then restore heap ordering before draining remaining values.

Heap invariants◈ Members↗
FA-4819

Heap arbitrary removal restores invariant · case 04

The operation returns a result or retained state that violates this contract: Remove one matching heap value if present, then restore heap ordering before draining remaining values.

Heap invariants◈ Members↗
FA-4820

Heap arbitrary removal restores invariant · case 05

The operation returns a result or retained state that violates this contract: Remove one matching heap value if present, then restore heap ordering before draining remaining values.

Heap invariants◈ Members↗
FA-4821

Heap key replacement reheapifies · case 01

The operation returns a result or retained state that violates this contract: Replace exactly one selected original list item, then heapify and drain; changing a key requires restoring heap order.

Heap invariants● Open access↗
FA-4822

Heap key replacement reheapifies · case 02

The operation returns a result or retained state that violates this contract: Replace exactly one selected original list item, then heapify and drain; changing a key requires restoring heap order.

Heap invariants◈ Members↗
FA-4823

Heap key replacement reheapifies · case 03

The operation returns a result or retained state that violates this contract: Replace exactly one selected original list item, then heapify and drain; changing a key requires restoring heap order.

Heap invariants◈ Members↗
FA-4824

Heap key replacement reheapifies · case 04

The operation returns a result or retained state that violates this contract: Replace exactly one selected original list item, then heapify and drain; changing a key requires restoring heap order.

Heap invariants◈ Members↗
FA-4825

Heap key replacement reheapifies · case 05

The operation returns a result or retained state that violates this contract: Replace exactly one selected original list item, then heapify and drain; changing a key requires restoring heap order.

Heap invariants◈ Members↗
FA-4826

Heap priority ties use arrival order · case 01

The operation returns a result or retained state that violates this contract: Order [priority,label] jobs by priority, using arrival sequence to break equal priorities independently of label lexical order.

Heap invariants● Open access↗
FA-4827

Heap priority ties use arrival order · case 02

The operation returns a result or retained state that violates this contract: Order [priority,label] jobs by priority, using arrival sequence to break equal priorities independently of label lexical order.

Heap invariants◈ Members↗
FA-4828

Heap priority ties use arrival order · case 03

The operation returns a result or retained state that violates this contract: Order [priority,label] jobs by priority, using arrival sequence to break equal priorities independently of label lexical order.

Heap invariants◈ Members↗
FA-4829

Heap priority ties use arrival order · case 04

The operation returns a result or retained state that violates this contract: Order [priority,label] jobs by priority, using arrival sequence to break equal priorities independently of label lexical order.

Heap invariants◈ Members↗
FA-4830

Heap priority ties use arrival order · case 05

The operation returns a result or retained state that violates this contract: Order [priority,label] jobs by priority, using arrival sequence to break equal priorities independently of label lexical order.

Heap invariants◈ Members↗
FA-4831

Positional only binding: Accepts the positional-only parameter by keyword · case 01

Accepts the positional-only parameter by keyword and changes the required Python-language result.

Call argument binding● Open access↗
FA-4832

Positional only binding: Accepts the positional-only parameter by keyword · case 02

Accepts the positional-only parameter by keyword and changes the required Python-language result.

Call argument binding◈ Members↗
FA-4833

Positional only binding: Accepts the positional-only parameter by keyword · case 03

Accepts the positional-only parameter by keyword and changes the required Python-language result.

Call argument binding◈ Members↗
FA-4834

Positional only binding: Accepts the positional-only parameter by keyword · case 04

Accepts the positional-only parameter by keyword and changes the required Python-language result.

Call argument binding◈ Members↗
FA-4835

Positional only binding: Accepts the positional-only parameter by keyword · case 05

Accepts the positional-only parameter by keyword and changes the required Python-language result.

Call argument binding◈ Members↗
FA-4836

Positional only binding: Makes the second parameter keyword-only · case 01

Makes the second parameter keyword-only and changes the required Python-language result.

Call argument binding● Open access↗
FA-4837

Positional only binding: Makes the second parameter keyword-only · case 02

Makes the second parameter keyword-only and changes the required Python-language result.

Call argument binding◈ Members↗
FA-4838

Positional only binding: Makes the second parameter keyword-only · case 03

Makes the second parameter keyword-only and changes the required Python-language result.

Call argument binding◈ Members↗
FA-4839

Positional only binding: Makes the second parameter keyword-only · case 04

Makes the second parameter keyword-only and changes the required Python-language result.

Call argument binding◈ Members↗
FA-4840

Positional only binding: Makes the second parameter keyword-only · case 05

Makes the second parameter keyword-only and changes the required Python-language result.

Call argument binding◈ Members↗
FA-4841

Positional only binding: Binds but discards the explicitly supplied second parameter · case 01

Binds but discards the explicitly supplied second parameter and changes the required Python-language result.

Call argument binding● Open access↗
FA-4842

Positional only binding: Binds but discards the explicitly supplied second parameter · case 02

Binds but discards the explicitly supplied second parameter and changes the required Python-language result.

Call argument binding◈ Members↗
FA-4843

Positional only binding: Binds but discards the explicitly supplied second parameter · case 03

Binds but discards the explicitly supplied second parameter and changes the required Python-language result.

Call argument binding◈ Members↗
FA-4844

Positional only binding: Binds but discards the explicitly supplied second parameter · case 04

Binds but discards the explicitly supplied second parameter and changes the required Python-language result.

Call argument binding◈ Members↗
FA-4845

Positional only binding: Binds but discards the explicitly supplied second parameter · case 05

Binds but discards the explicitly supplied second parameter and changes the required Python-language result.

Call argument binding◈ Members↗
FA-4846

Positional only binding: Changes the omitted second-argument default · case 01

Changes the omitted second-argument default and changes the required Python-language result.

Call argument binding● Open access↗
FA-4847

Positional only binding: Changes the omitted second-argument default · case 02

Changes the omitted second-argument default and changes the required Python-language result.

Call argument binding◈ Members↗
FA-4848

Positional only binding: Changes the omitted second-argument default · case 03

Changes the omitted second-argument default and changes the required Python-language result.

Call argument binding◈ Members↗
FA-4849

Positional only binding: Changes the omitted second-argument default · case 04

Changes the omitted second-argument default and changes the required Python-language result.

Call argument binding◈ Members↗
FA-4850

Positional only binding: Changes the omitted second-argument default · case 05

Changes the omitted second-argument default and changes the required Python-language result.

Call argument binding◈ Members↗
FA-4851

Positional only binding: Adds a default to the required first parameter · case 01

Adds a default to the required first parameter and changes the required Python-language result.

Call argument binding● Open access↗
FA-4852

Positional only binding: Adds a default to the required first parameter · case 02

Adds a default to the required first parameter and changes the required Python-language result.

Call argument binding◈ Members↗
FA-4853

Positional only binding: Adds a default to the required first parameter · case 03

Adds a default to the required first parameter and changes the required Python-language result.

Call argument binding◈ Members↗
FA-4854

Positional only binding: Adds a default to the required first parameter · case 04

Adds a default to the required first parameter and changes the required Python-language result.

Call argument binding◈ Members↗
FA-4855

Positional only binding: Adds a default to the required first parameter · case 05

Adds a default to the required first parameter and changes the required Python-language result.

Call argument binding◈ Members↗
FA-4856

Keyword only binding: Accepts the keyword-only parameter positionally · case 01

Accepts the keyword-only parameter positionally and changes the required Python-language result.

Call argument binding● Open access↗
FA-4857

Keyword only binding: Accepts the keyword-only parameter positionally · case 02

Accepts the keyword-only parameter positionally and changes the required Python-language result.

Call argument binding◈ Members↗
FA-4858

Keyword only binding: Accepts the keyword-only parameter positionally · case 03

Accepts the keyword-only parameter positionally and changes the required Python-language result.

Call argument binding◈ Members↗
FA-4859

Keyword only binding: Accepts the keyword-only parameter positionally · case 04

Accepts the keyword-only parameter positionally and changes the required Python-language result.

Call argument binding◈ Members↗
FA-4860

Keyword only binding: Accepts the keyword-only parameter positionally · case 05

Accepts the keyword-only parameter positionally and changes the required Python-language result.

Call argument binding◈ Members↗
FA-4861

Keyword only binding: Forbids legal keyword binding of the first parameter · case 01

Forbids legal keyword binding of the first parameter and changes the required Python-language result.

Call argument binding● Open access↗
FA-4862

Keyword only binding: Forbids legal keyword binding of the first parameter · case 02

Forbids legal keyword binding of the first parameter and changes the required Python-language result.

Call argument binding◈ Members↗
FA-4863

Keyword only binding: Forbids legal keyword binding of the first parameter · case 03

Forbids legal keyword binding of the first parameter and changes the required Python-language result.

Call argument binding◈ Members↗
FA-4864

Keyword only binding: Forbids legal keyword binding of the first parameter · case 04

Forbids legal keyword binding of the first parameter and changes the required Python-language result.

Call argument binding◈ Members↗
FA-4865

Keyword only binding: Forbids legal keyword binding of the first parameter · case 05

Forbids legal keyword binding of the first parameter and changes the required Python-language result.

Call argument binding◈ Members↗
FA-4866

Keyword only binding: Makes an optional keyword-only parameter required · case 01

Makes an optional keyword-only parameter required and changes the required Python-language result.

Call argument binding● Open access↗
FA-4867

Keyword only binding: Makes an optional keyword-only parameter required · case 02

Makes an optional keyword-only parameter required and changes the required Python-language result.

Call argument binding◈ Members↗
FA-4868

Keyword only binding: Makes an optional keyword-only parameter required · case 03

Makes an optional keyword-only parameter required and changes the required Python-language result.

Call argument binding◈ Members↗
FA-4869

Keyword only binding: Makes an optional keyword-only parameter required · case 04

Makes an optional keyword-only parameter required and changes the required Python-language result.

Call argument binding◈ Members↗
FA-4870

Keyword only binding: Makes an optional keyword-only parameter required · case 05

Makes an optional keyword-only parameter required and changes the required Python-language result.

Call argument binding◈ Members↗
FA-4871

Keyword only binding: Silently accepts unexpected keywords · case 01

Silently accepts unexpected keywords and changes the required Python-language result.

Call argument binding● Open access↗
FA-4872

Keyword only binding: Silently accepts unexpected keywords · case 02

Silently accepts unexpected keywords and changes the required Python-language result.

Call argument binding◈ Members↗
FA-4873

Keyword only binding: Silently accepts unexpected keywords · case 03

Silently accepts unexpected keywords and changes the required Python-language result.

Call argument binding◈ Members↗
FA-4874

Keyword only binding: Silently accepts unexpected keywords · case 04

Silently accepts unexpected keywords and changes the required Python-language result.

Call argument binding◈ Members↗
FA-4875

Keyword only binding: Silently accepts unexpected keywords · case 05

Silently accepts unexpected keywords and changes the required Python-language result.

Call argument binding◈ Members↗
FA-4876

Keyword only binding: Overwrites a positional binding with a keyword binding · case 01

Overwrites a positional binding with a keyword binding and changes the required Python-language result.

Call argument binding● Open access↗
FA-4877

Keyword only binding: Overwrites a positional binding with a keyword binding · case 02

Overwrites a positional binding with a keyword binding and changes the required Python-language result.

Call argument binding◈ Members↗
FA-4878

Keyword only binding: Overwrites a positional binding with a keyword binding · case 03

Overwrites a positional binding with a keyword binding and changes the required Python-language result.

Call argument binding◈ Members↗
FA-4879

Keyword only binding: Overwrites a positional binding with a keyword binding · case 04

Overwrites a positional binding with a keyword binding and changes the required Python-language result.

Call argument binding◈ Members↗
FA-4880

Keyword only binding: Overwrites a positional binding with a keyword binding · case 05

Overwrites a positional binding with a keyword binding and changes the required Python-language result.

Call argument binding◈ Members↗
FA-4881

Variadic positional binding: Consumes the first variadic positional argument as flag · case 01

Consumes the first variadic positional argument as flag and changes the required Python-language result.

Call argument binding● Open access↗
FA-4882

Variadic positional binding: Consumes the first variadic positional argument as flag · case 02

Consumes the first variadic positional argument as flag and changes the required Python-language result.

Call argument binding◈ Members↗
FA-4883

Variadic positional binding: Consumes the first variadic positional argument as flag · case 03

Consumes the first variadic positional argument as flag and changes the required Python-language result.

Call argument binding◈ Members↗
FA-4884

Variadic positional binding: Consumes the first variadic positional argument as flag · case 04

Consumes the first variadic positional argument as flag and changes the required Python-language result.

Call argument binding◈ Members↗
FA-4885

Variadic positional binding: Consumes the first variadic positional argument as flag · case 05

Consumes the first variadic positional argument as flag and changes the required Python-language result.

Call argument binding◈ Members↗
FA-4886

Variadic positional binding: Rejects extra positions instead of collecting the variadic tail · case 01

Rejects extra positions instead of collecting the variadic tail and changes the required Python-language result.

Call argument binding● Open access↗
FA-4887

Variadic positional binding: Rejects extra positions instead of collecting the variadic tail · case 02

Rejects extra positions instead of collecting the variadic tail and changes the required Python-language result.

Call argument binding◈ Members↗
FA-4888

Variadic positional binding: Rejects extra positions instead of collecting the variadic tail · case 03

Rejects extra positions instead of collecting the variadic tail and changes the required Python-language result.

Call argument binding◈ Members↗
FA-4889

Variadic positional binding: Rejects extra positions instead of collecting the variadic tail · case 04

Rejects extra positions instead of collecting the variadic tail and changes the required Python-language result.

Call argument binding◈ Members↗
FA-4890

Variadic positional binding: Rejects extra positions instead of collecting the variadic tail · case 05

Rejects extra positions instead of collecting the variadic tail and changes the required Python-language result.

Call argument binding◈ Members↗
FA-4891

Variadic positional binding: Flattens nested positional values while collecting tail · case 01

Flattens nested positional values while collecting tail and changes the required Python-language result.

Call argument binding● Open access↗
FA-4892

Variadic positional binding: Flattens nested positional values while collecting tail · case 02

Flattens nested positional values while collecting tail and changes the required Python-language result.

Call argument binding◈ Members↗
FA-4893

Variadic positional binding: Flattens nested positional values while collecting tail · case 03

Flattens nested positional values while collecting tail and changes the required Python-language result.

Call argument binding◈ Members↗
FA-4894

Variadic positional binding: Flattens nested positional values while collecting tail · case 04

Flattens nested positional values while collecting tail and changes the required Python-language result.

Call argument binding◈ Members↗
FA-4895

Variadic positional binding: Flattens nested positional values while collecting tail · case 05

Flattens nested positional values while collecting tail and changes the required Python-language result.

Call argument binding◈ Members↗
FA-4896

Variadic positional binding: Drops the first variadic argument after binding · case 01

Drops the first variadic argument after binding and changes the required Python-language result.

Call argument binding● Open access↗
FA-4897

Variadic positional binding: Drops the first variadic argument after binding · case 02

Drops the first variadic argument after binding and changes the required Python-language result.

Call argument binding◈ Members↗
FA-4898

Variadic positional binding: Drops the first variadic argument after binding · case 03

Drops the first variadic argument after binding and changes the required Python-language result.

Call argument binding◈ Members↗
FA-4899

Variadic positional binding: Drops the first variadic argument after binding · case 04

Drops the first variadic argument after binding and changes the required Python-language result.

Call argument binding◈ Members↗
FA-4900

Variadic positional binding: Drops the first variadic argument after binding · case 05

Drops the first variadic argument after binding and changes the required Python-language result.

Call argument binding◈ 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 ↗