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

Variadic positional binding: Copies a named flag into the positional tail · case 01

Copies a named flag into the positional tail and changes the required Python-language result.

Call argument binding● Open access↗
FA-4902

Variadic positional binding: Copies a named flag into the positional tail · case 02

Copies a named flag into the positional tail and changes the required Python-language result.

Call argument binding◈ Members↗
FA-4903

Variadic positional binding: Copies a named flag into the positional tail · case 03

Copies a named flag into the positional tail and changes the required Python-language result.

Call argument binding◈ Members↗
FA-4904

Variadic positional binding: Copies a named flag into the positional tail · case 04

Copies a named flag into the positional tail and changes the required Python-language result.

Call argument binding◈ Members↗
FA-4905

Variadic positional binding: Copies a named flag into the positional tail · case 05

Copies a named flag into the positional tail and changes the required Python-language result.

Call argument binding◈ Members↗
FA-4906

Positional name in varkw: Interprets the same-named keyword as a duplicate positional binding · case 01

Interprets the same-named keyword as a duplicate positional binding and changes the required Python-language result.

Call argument binding● Open access↗
FA-4907

Positional name in varkw: Interprets the same-named keyword as a duplicate positional binding · case 02

Interprets the same-named keyword as a duplicate positional binding and changes the required Python-language result.

Call argument binding◈ Members↗
FA-4908

Positional name in varkw: Interprets the same-named keyword as a duplicate positional binding · case 03

Interprets the same-named keyword as a duplicate positional binding and changes the required Python-language result.

Call argument binding◈ Members↗
FA-4909

Positional name in varkw: Interprets the same-named keyword as a duplicate positional binding · case 04

Interprets the same-named keyword as a duplicate positional binding and changes the required Python-language result.

Call argument binding◈ Members↗
FA-4910

Positional name in varkw: Interprets the same-named keyword as a duplicate positional binding · case 05

Interprets the same-named keyword as a duplicate positional binding and changes the required Python-language result.

Call argument binding◈ Members↗
FA-4911

Positional name in varkw: Drops the legal same-named entry from variadic keywords · case 01

Drops the legal same-named entry from variadic keywords and changes the required Python-language result.

Call argument binding● Open access↗
FA-4912

Positional name in varkw: Drops the legal same-named entry from variadic keywords · case 02

Drops the legal same-named entry from variadic keywords and changes the required Python-language result.

Call argument binding◈ Members↗
FA-4913

Positional name in varkw: Drops the legal same-named entry from variadic keywords · case 03

Drops the legal same-named entry from variadic keywords and changes the required Python-language result.

Call argument binding◈ Members↗
FA-4914

Positional name in varkw: Drops the legal same-named entry from variadic keywords · case 04

Drops the legal same-named entry from variadic keywords and changes the required Python-language result.

Call argument binding◈ Members↗
FA-4915

Positional name in varkw: Drops the legal same-named entry from variadic keywords · case 05

Drops the legal same-named entry from variadic keywords and changes the required Python-language result.

Call argument binding◈ Members↗
FA-4916

Positional name in varkw: Allows the required positional value to be supplied through keyword rest · case 01

Allows the required positional value to be supplied through keyword rest and changes the required Python-language result.

Call argument binding● Open access↗
FA-4917

Positional name in varkw: Allows the required positional value to be supplied through keyword rest · case 02

Allows the required positional value to be supplied through keyword rest and changes the required Python-language result.

Call argument binding◈ Members↗
FA-4918

Positional name in varkw: Allows the required positional value to be supplied through keyword rest · case 03

Allows the required positional value to be supplied through keyword rest and changes the required Python-language result.

Call argument binding◈ Members↗
FA-4919

Positional name in varkw: Allows the required positional value to be supplied through keyword rest · case 04

Allows the required positional value to be supplied through keyword rest and changes the required Python-language result.

Call argument binding◈ Members↗
FA-4920

Positional name in varkw: Allows the required positional value to be supplied through keyword rest · case 05

Allows the required positional value to be supplied through keyword rest and changes the required Python-language result.

Call argument binding◈ Members↗
FA-4921

Positional name in varkw: Accepts extra positional arguments despite having no variadic positional parameter · case 01

Accepts extra positional arguments despite having no variadic positional parameter and changes the required Python-language result.

Call argument binding● Open access↗
FA-4922

Positional name in varkw: Accepts extra positional arguments despite having no variadic positional parameter · case 02

Accepts extra positional arguments despite having no variadic positional parameter and changes the required Python-language result.

Call argument binding◈ Members↗
FA-4923

Positional name in varkw: Accepts extra positional arguments despite having no variadic positional parameter · case 03

Accepts extra positional arguments despite having no variadic positional parameter and changes the required Python-language result.

Call argument binding◈ Members↗
FA-4924

Positional name in varkw: Accepts extra positional arguments despite having no variadic positional parameter · case 04

Accepts extra positional arguments despite having no variadic positional parameter and changes the required Python-language result.

Call argument binding◈ Members↗
FA-4925

Positional name in varkw: Accepts extra positional arguments despite having no variadic positional parameter · case 05

Accepts extra positional arguments despite having no variadic positional parameter and changes the required Python-language result.

Call argument binding◈ Members↗
FA-4926

Positional name in varkw: Lets the keyword named a overwrite the positional-only value · case 01

Lets the keyword named a overwrite the positional-only value and changes the required Python-language result.

Call argument binding● Open access↗
FA-4927

Positional name in varkw: Lets the keyword named a overwrite the positional-only value · case 02

Lets the keyword named a overwrite the positional-only value and changes the required Python-language result.

Call argument binding◈ Members↗
FA-4928

Positional name in varkw: Lets the keyword named a overwrite the positional-only value · case 03

Lets the keyword named a overwrite the positional-only value and changes the required Python-language result.

Call argument binding◈ Members↗
FA-4929

Positional name in varkw: Lets the keyword named a overwrite the positional-only value · case 04

Lets the keyword named a overwrite the positional-only value and changes the required Python-language result.

Call argument binding◈ Members↗
FA-4930

Positional name in varkw: Lets the keyword named a overwrite the positional-only value · case 05

Lets the keyword named a overwrite the positional-only value and changes the required Python-language result.

Call argument binding◈ Members↗
FA-4931

Keyword unpacking collisions: Merges mappings before call binding and overwrites duplicate keywords · case 01

Merges mappings before call binding and overwrites duplicate keywords and changes the required Python-language result.

Call argument binding● Open access↗
FA-4932

Keyword unpacking collisions: Merges mappings before call binding and overwrites duplicate keywords · case 02

Merges mappings before call binding and overwrites duplicate keywords and changes the required Python-language result.

Call argument binding◈ Members↗
FA-4933

Keyword unpacking collisions: Merges mappings before call binding and overwrites duplicate keywords · case 03

Merges mappings before call binding and overwrites duplicate keywords and changes the required Python-language result.

Call argument binding◈ Members↗
FA-4934

Keyword unpacking collisions: Merges mappings before call binding and overwrites duplicate keywords · case 04

Merges mappings before call binding and overwrites duplicate keywords and changes the required Python-language result.

Call argument binding◈ Members↗
FA-4935

Keyword unpacking collisions: Merges mappings before call binding and overwrites duplicate keywords · case 05

Merges mappings before call binding and overwrites duplicate keywords and changes the required Python-language result.

Call argument binding◈ Members↗
FA-4936

Keyword unpacking collisions: Accepts repeated keywords when their values compare equal · case 01

Accepts repeated keywords when their values compare equal and changes the required Python-language result.

Call argument binding● Open access↗
FA-4937

Keyword unpacking collisions: Accepts repeated keywords when their values compare equal · case 02

Accepts repeated keywords when their values compare equal and changes the required Python-language result.

Call argument binding◈ Members↗
FA-4938

Keyword unpacking collisions: Accepts repeated keywords when their values compare equal · case 03

Accepts repeated keywords when their values compare equal and changes the required Python-language result.

Call argument binding◈ Members↗
FA-4939

Keyword unpacking collisions: Accepts repeated keywords when their values compare equal · case 04

Accepts repeated keywords when their values compare equal and changes the required Python-language result.

Call argument binding◈ Members↗
FA-4940

Keyword unpacking collisions: Accepts repeated keywords when their values compare equal · case 05

Accepts repeated keywords when their values compare equal and changes the required Python-language result.

Call argument binding◈ Members↗
FA-4941

Keyword unpacking collisions: Coerces non-string unpacked keyword names into strings · case 01

Coerces non-string unpacked keyword names into strings and changes the required Python-language result.

Call argument binding● Open access↗
FA-4942

Keyword unpacking collisions: Coerces non-string unpacked keyword names into strings · case 02

Coerces non-string unpacked keyword names into strings and changes the required Python-language result.

Call argument binding◈ Members↗
FA-4943

Keyword unpacking collisions: Coerces non-string unpacked keyword names into strings · case 03

Coerces non-string unpacked keyword names into strings and changes the required Python-language result.

Call argument binding◈ Members↗
FA-4944

Keyword unpacking collisions: Coerces non-string unpacked keyword names into strings · case 04

Coerces non-string unpacked keyword names into strings and changes the required Python-language result.

Call argument binding◈ Members↗
FA-4945

Keyword unpacking collisions: Coerces non-string unpacked keyword names into strings · case 05

Coerces non-string unpacked keyword names into strings and changes the required Python-language result.

Call argument binding◈ Members↗
FA-4946

Keyword unpacking collisions: Rejects an empty string although variadic keywords accept it · case 01

Rejects an empty string although variadic keywords accept it and changes the required Python-language result.

Call argument binding● Open access↗
FA-4947

Keyword unpacking collisions: Rejects an empty string although variadic keywords accept it · case 02

Rejects an empty string although variadic keywords accept it and changes the required Python-language result.

Call argument binding◈ Members↗
FA-4948

Keyword unpacking collisions: Rejects an empty string although variadic keywords accept it · case 03

Rejects an empty string although variadic keywords accept it and changes the required Python-language result.

Call argument binding◈ Members↗
FA-4949

Keyword unpacking collisions: Rejects an empty string although variadic keywords accept it · case 04

Rejects an empty string although variadic keywords accept it and changes the required Python-language result.

Call argument binding◈ Members↗
FA-4950

Keyword unpacking collisions: Rejects an empty string although variadic keywords accept it · case 05

Rejects an empty string although variadic keywords accept it and changes the required Python-language result.

Call argument binding◈ Members↗
FA-4951

Keyword unpacking collisions: Requires unpacked keyword names to be lexical identifiers · case 01

Requires unpacked keyword names to be lexical identifiers and changes the required Python-language result.

Call argument binding● Open access↗
FA-4952

Keyword unpacking collisions: Requires unpacked keyword names to be lexical identifiers · case 02

Requires unpacked keyword names to be lexical identifiers and changes the required Python-language result.

Call argument binding◈ Members↗
FA-4953

Keyword unpacking collisions: Requires unpacked keyword names to be lexical identifiers · case 03

Requires unpacked keyword names to be lexical identifiers and changes the required Python-language result.

Call argument binding◈ Members↗
FA-4954

Keyword unpacking collisions: Requires unpacked keyword names to be lexical identifiers · case 04

Requires unpacked keyword names to be lexical identifiers and changes the required Python-language result.

Call argument binding◈ Members↗
FA-4955

Keyword unpacking collisions: Requires unpacked keyword names to be lexical identifiers · case 05

Requires unpacked keyword names to be lexical identifiers and changes the required Python-language result.

Call argument binding◈ Members↗
FA-4956

Data descriptor storage: Lets an instance shadow override a data descriptor · case 01

Lets an instance shadow override a data descriptor and changes the required Python-language result.

Descriptor lookup● Open access↗
FA-4957

Data descriptor storage: Lets an instance shadow override a data descriptor · case 02

Lets an instance shadow override a data descriptor and changes the required Python-language result.

Descriptor lookup◈ Members↗
FA-4958

Data descriptor storage: Lets an instance shadow override a data descriptor · case 03

Lets an instance shadow override a data descriptor and changes the required Python-language result.

Descriptor lookup◈ Members↗
FA-4959

Data descriptor storage: Lets an instance shadow override a data descriptor · case 04

Lets an instance shadow override a data descriptor and changes the required Python-language result.

Descriptor lookup◈ Members↗
FA-4960

Data descriptor storage: Lets an instance shadow override a data descriptor · case 05

Lets an instance shadow override a data descriptor and changes the required Python-language result.

Descriptor lookup◈ Members↗
FA-4961

Data descriptor storage: Writes to the shadow field instead of the descriptor backing key · case 01

Writes to the shadow field instead of the descriptor backing key and changes the required Python-language result.

Descriptor lookup● Open access↗
FA-4962

Data descriptor storage: Writes to the shadow field instead of the descriptor backing key · case 02

Writes to the shadow field instead of the descriptor backing key and changes the required Python-language result.

Descriptor lookup◈ Members↗
FA-4963

Data descriptor storage: Writes to the shadow field instead of the descriptor backing key · case 03

Writes to the shadow field instead of the descriptor backing key and changes the required Python-language result.

Descriptor lookup◈ Members↗
FA-4964

Data descriptor storage: Writes to the shadow field instead of the descriptor backing key · case 04

Writes to the shadow field instead of the descriptor backing key and changes the required Python-language result.

Descriptor lookup◈ Members↗
FA-4965

Data descriptor storage: Writes to the shadow field instead of the descriptor backing key · case 05

Writes to the shadow field instead of the descriptor backing key and changes the required Python-language result.

Descriptor lookup◈ Members↗
FA-4966

Data descriptor storage: Deletes the shadow key instead of the descriptor backing key · case 01

Deletes the shadow key instead of the descriptor backing key and changes the required Python-language result.

Descriptor lookup● Open access↗
FA-4967

Data descriptor storage: Deletes the shadow key instead of the descriptor backing key · case 02

Deletes the shadow key instead of the descriptor backing key and changes the required Python-language result.

Descriptor lookup◈ Members↗
FA-4968

Data descriptor storage: Deletes the shadow key instead of the descriptor backing key · case 03

Deletes the shadow key instead of the descriptor backing key and changes the required Python-language result.

Descriptor lookup◈ Members↗
FA-4969

Data descriptor storage: Deletes the shadow key instead of the descriptor backing key · case 04

Deletes the shadow key instead of the descriptor backing key and changes the required Python-language result.

Descriptor lookup◈ Members↗
FA-4970

Data descriptor storage: Deletes the shadow key instead of the descriptor backing key · case 05

Deletes the shadow key instead of the descriptor backing key and changes the required Python-language result.

Descriptor lookup◈ Members↗
FA-4971

Data descriptor storage: Returns an instance default for descriptor access on the class · case 01

Returns an instance default for descriptor access on the class and changes the required Python-language result.

Descriptor lookup● Open access↗
FA-4972

Data descriptor storage: Returns an instance default for descriptor access on the class · case 02

Returns an instance default for descriptor access on the class and changes the required Python-language result.

Descriptor lookup◈ Members↗
FA-4973

Data descriptor storage: Returns an instance default for descriptor access on the class · case 03

Returns an instance default for descriptor access on the class and changes the required Python-language result.

Descriptor lookup◈ Members↗
FA-4974

Data descriptor storage: Returns an instance default for descriptor access on the class · case 04

Returns an instance default for descriptor access on the class and changes the required Python-language result.

Descriptor lookup◈ Members↗
FA-4975

Data descriptor storage: Returns an instance default for descriptor access on the class · case 05

Returns an instance default for descriptor access on the class and changes the required Python-language result.

Descriptor lookup◈ Members↗
FA-4976

Data descriptor storage: Replaces a known zero backing value with the missing-value default · case 01

Replaces a known zero backing value with the missing-value default and changes the required Python-language result.

Descriptor lookup● Open access↗
FA-4977

Data descriptor storage: Replaces a known zero backing value with the missing-value default · case 02

Replaces a known zero backing value with the missing-value default and changes the required Python-language result.

Descriptor lookup◈ Members↗
FA-4978

Data descriptor storage: Replaces a known zero backing value with the missing-value default · case 03

Replaces a known zero backing value with the missing-value default and changes the required Python-language result.

Descriptor lookup◈ Members↗
FA-4979

Data descriptor storage: Replaces a known zero backing value with the missing-value default · case 04

Replaces a known zero backing value with the missing-value default and changes the required Python-language result.

Descriptor lookup◈ Members↗
FA-4980

Data descriptor storage: Replaces a known zero backing value with the missing-value default · case 05

Replaces a known zero backing value with the missing-value default and changes the required Python-language result.

Descriptor lookup◈ Members↗
FA-4981

Nondata descriptor shadow: Adds a setter and unexpectedly converts the non-data descriptor into a data descriptor · case 01

Adds a setter and unexpectedly converts the non-data descriptor into a data descriptor and changes the required Python-language result.

Descriptor lookup● Open access↗
FA-4982

Nondata descriptor shadow: Adds a setter and unexpectedly converts the non-data descriptor into a data descriptor · case 02

Adds a setter and unexpectedly converts the non-data descriptor into a data descriptor and changes the required Python-language result.

Descriptor lookup◈ Members↗
FA-4983

Nondata descriptor shadow: Adds a setter and unexpectedly converts the non-data descriptor into a data descriptor · case 03

Adds a setter and unexpectedly converts the non-data descriptor into a data descriptor and changes the required Python-language result.

Descriptor lookup◈ Members↗
FA-4984

Nondata descriptor shadow: Adds a setter and unexpectedly converts the non-data descriptor into a data descriptor · case 04

Adds a setter and unexpectedly converts the non-data descriptor into a data descriptor and changes the required Python-language result.

Descriptor lookup◈ Members↗
FA-4985

Nondata descriptor shadow: Adds a setter and unexpectedly converts the non-data descriptor into a data descriptor · case 05

Adds a setter and unexpectedly converts the non-data descriptor into a data descriptor and changes the required Python-language result.

Descriptor lookup◈ Members↗
FA-4986

Nondata descriptor shadow: Manually calls the descriptor and ignores legal instance shadows · case 01

Manually calls the descriptor and ignores legal instance shadows and changes the required Python-language result.

Descriptor lookup● Open access↗
FA-4987

Nondata descriptor shadow: Manually calls the descriptor and ignores legal instance shadows · case 02

Manually calls the descriptor and ignores legal instance shadows and changes the required Python-language result.

Descriptor lookup◈ Members↗
FA-4988

Nondata descriptor shadow: Manually calls the descriptor and ignores legal instance shadows · case 03

Manually calls the descriptor and ignores legal instance shadows and changes the required Python-language result.

Descriptor lookup◈ Members↗
FA-4989

Nondata descriptor shadow: Manually calls the descriptor and ignores legal instance shadows · case 04

Manually calls the descriptor and ignores legal instance shadows and changes the required Python-language result.

Descriptor lookup◈ Members↗
FA-4990

Nondata descriptor shadow: Manually calls the descriptor and ignores legal instance shadows · case 05

Manually calls the descriptor and ignores legal instance shadows and changes the required Python-language result.

Descriptor lookup◈ Members↗
FA-4991

Nondata descriptor shadow: Assigns the instance value to the class and replaces its descriptor · case 01

Assigns the instance value to the class and replaces its descriptor and changes the required Python-language result.

Descriptor lookup● Open access↗
FA-4992

Nondata descriptor shadow: Assigns the instance value to the class and replaces its descriptor · case 02

Assigns the instance value to the class and replaces its descriptor and changes the required Python-language result.

Descriptor lookup◈ Members↗
FA-4993

Nondata descriptor shadow: Assigns the instance value to the class and replaces its descriptor · case 03

Assigns the instance value to the class and replaces its descriptor and changes the required Python-language result.

Descriptor lookup◈ Members↗
FA-4994

Nondata descriptor shadow: Assigns the instance value to the class and replaces its descriptor · case 04

Assigns the instance value to the class and replaces its descriptor and changes the required Python-language result.

Descriptor lookup◈ Members↗
FA-4995

Nondata descriptor shadow: Assigns the instance value to the class and replaces its descriptor · case 05

Assigns the instance value to the class and replaces its descriptor and changes the required Python-language result.

Descriptor lookup◈ Members↗
FA-4996

Nondata descriptor shadow: Writes None instead of removing the shadow · case 01

Writes None instead of removing the shadow and changes the required Python-language result.

Descriptor lookup● Open access↗
FA-4997

Nondata descriptor shadow: Writes None instead of removing the shadow · case 02

Writes None instead of removing the shadow and changes the required Python-language result.

Descriptor lookup◈ Members↗
FA-4998

Nondata descriptor shadow: Writes None instead of removing the shadow · case 03

Writes None instead of removing the shadow and changes the required Python-language result.

Descriptor lookup◈ Members↗
FA-4999

Nondata descriptor shadow: Writes None instead of removing the shadow · case 04

Writes None instead of removing the shadow and changes the required Python-language result.

Descriptor lookup◈ Members↗
FA-5000

Nondata descriptor shadow: Writes None instead of removing the shadow · case 05

Writes None instead of removing the shadow and changes the required Python-language result.

Descriptor lookup◈ 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 ↗