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

Net positions are computed as paid minus received · case 01

Currencies we receive are reported as outgoing payments.

Currency rounding and FX conversion● Open access↗
FA-62102

Net positions are computed as paid minus received · case 02

Currencies we receive are reported as outgoing payments.

Currency rounding and FX conversion◈ Members↗
FA-62103

Net positions are computed as paid minus received · case 03

Currencies we receive are reported as outgoing payments.

Currency rounding and FX conversion◈ Members↗
FA-62104

Net positions are computed as paid minus received · case 04

Currencies we receive are reported as outgoing payments.

Currency rounding and FX conversion◈ Members↗
FA-62105

Net positions are computed as paid minus received · case 05

Currencies we receive are reported as outgoing payments.

Currency rounding and FX conversion◈ Members↗
FA-62106

Net amounts are emitted with the raw Decimal exponent · case 01

A net of five dollars is written as '5' rather than '5.00'.

Currency rounding and FX conversion● Open access↗
FA-62107

Net amounts are emitted with the raw Decimal exponent · case 02

A net of five dollars is written as '5' rather than '5.00'.

Currency rounding and FX conversion◈ Members↗
FA-62108

Net amounts are emitted with the raw Decimal exponent · case 03

A net of five dollars is written as '5' rather than '5.00'.

Currency rounding and FX conversion◈ Members↗
FA-62109

Net amounts are emitted with the raw Decimal exponent · case 04

A net of five dollars is written as '5' rather than '5.00'.

Currency rounding and FX conversion◈ Members↗
FA-62110

Net amounts are emitted with the raw Decimal exponent · case 05

A net of five dollars is written as '5' rather than '5.00'.

Currency rounding and FX conversion◈ Members↗
FA-62111

A short fraction is read as minor units without right-padding · case 01

'12.5' dollars parses as 1205 cents.

Currency rounding and FX conversion● Open access↗
FA-62112

A short fraction is read as minor units without right-padding · case 02

'12.5' dollars parses as 1205 cents.

Currency rounding and FX conversion◈ Members↗
FA-62113

A short fraction is read as minor units without right-padding · case 03

'12.5' dollars parses as 1205 cents.

Currency rounding and FX conversion◈ Members↗
FA-62114

A short fraction is read as minor units without right-padding · case 04

'12.5' dollars parses as 1205 cents.

Currency rounding and FX conversion◈ Members↗
FA-62115

A short fraction is read as minor units without right-padding · case 05

'12.5' dollars parses as 1205 cents.

Currency rounding and FX conversion◈ Members↗
FA-62116

The sign of a negative amount is applied only to the whole-unit part · case 01

'-12.50' parses as -1150 cents and '-0.50' as +50.

Currency rounding and FX conversion● Open access↗
FA-62117

The sign of a negative amount is applied only to the whole-unit part · case 02

'-12.50' parses as -1150 cents and '-0.50' as +50.

Currency rounding and FX conversion◈ Members↗
FA-62118

The sign of a negative amount is applied only to the whole-unit part · case 03

'-12.50' parses as -1150 cents and '-0.50' as +50.

Currency rounding and FX conversion◈ Members↗
FA-62119

The sign of a negative amount is applied only to the whole-unit part · case 04

'-12.50' parses as -1150 cents and '-0.50' as +50.

Currency rounding and FX conversion◈ Members↗
FA-62120

The sign of a negative amount is applied only to the whole-unit part · case 05

'-12.50' parses as -1150 cents and '-0.50' as +50.

Currency rounding and FX conversion◈ Members↗
FA-62121

Digit groups of any width are accepted · case 01

'1,23,4.00' is accepted as 1234.00 although it is not a valid grouped amount.

Currency rounding and FX conversion● Open access↗
FA-62122

Digit groups of any width are accepted · case 02

'1,23,4.00' is accepted as 1234.00 although it is not a valid grouped amount.

Currency rounding and FX conversion◈ Members↗
FA-62123

Digit groups of any width are accepted · case 03

'1,23,4.00' is accepted as 1234.00 although it is not a valid grouped amount.

Currency rounding and FX conversion◈ Members↗
FA-62124

Digit groups of any width are accepted · case 04

'1,23,4.00' is accepted as 1234.00 although it is not a valid grouped amount.

Currency rounding and FX conversion◈ Members↗
FA-62125

Digit groups of any width are accepted · case 05

'1,23,4.00' is accepted as 1234.00 although it is not a valid grouped amount.

Currency rounding and FX conversion◈ Members↗
FA-62126

Trailing zero fraction digits beyond the exponent are rejected · case 01

'1 234,500' euros is refused although the extra digit is a zero.

Currency rounding and FX conversion● Open access↗
FA-62127

Trailing zero fraction digits beyond the exponent are rejected · case 02

'1 234,500' euros is refused although the extra digit is a zero.

Currency rounding and FX conversion◈ Members↗
FA-62128

Trailing zero fraction digits beyond the exponent are rejected · case 03

'1 234,500' euros is refused although the extra digit is a zero.

Currency rounding and FX conversion◈ Members↗
FA-62129

Trailing zero fraction digits beyond the exponent are rejected · case 04

'1 234,500' euros is refused although the extra digit is a zero.

Currency rounding and FX conversion◈ Members↗
FA-62130

Trailing zero fraction digits beyond the exponent are rejected · case 05

'1 234,500' euros is refused although the extra digit is a zero.

Currency rounding and FX conversion◈ Members↗
FA-62131

French amounts grouped with a narrow no-break space are rejected · case 01

'1 234,50' from a locale-aware formatter fails to parse.

Currency rounding and FX conversion● Open access↗
FA-62132

French amounts grouped with a narrow no-break space are rejected · case 02

'1 234,50' from a locale-aware formatter fails to parse.

Currency rounding and FX conversion◈ Members↗
FA-62133

French amounts grouped with a narrow no-break space are rejected · case 03

'1 234,50' from a locale-aware formatter fails to parse.

Currency rounding and FX conversion◈ Members↗
FA-62134

French amounts grouped with a narrow no-break space are rejected · case 04

'1 234,50' from a locale-aware formatter fails to parse.

Currency rounding and FX conversion◈ Members↗
FA-62135

French amounts grouped with a narrow no-break space are rejected · case 05

'1 234,50' from a locale-aware formatter fails to parse.

Currency rounding and FX conversion◈ Members↗
FA-62136

Negative minor amounts are split with floor division · case 01

-150 cents renders as '$-2.50'.

Currency rounding and FX conversion● Open access↗
FA-62137

Negative minor amounts are split with floor division · case 02

-150 cents renders as '$-2.50'.

Currency rounding and FX conversion◈ Members↗
FA-62138

Negative minor amounts are split with floor division · case 03

-150 cents renders as '$-2.50'.

Currency rounding and FX conversion◈ Members↗
FA-62139

Negative minor amounts are split with floor division · case 04

-150 cents renders as '$-2.50'.

Currency rounding and FX conversion◈ Members↗
FA-62140

Negative minor amounts are split with floor division · case 05

-150 cents renders as '$-2.50'.

Currency rounding and FX conversion◈ Members↗
FA-62141

The minus sign is placed between the currency symbol and the digits · case 01

Refunds render as '$-1.50' instead of '-$1.50'.

Currency rounding and FX conversion● Open access↗
FA-62142

The minus sign is placed between the currency symbol and the digits · case 02

Refunds render as '$-1.50' instead of '-$1.50'.

Currency rounding and FX conversion◈ Members↗
FA-62143

The minus sign is placed between the currency symbol and the digits · case 03

Refunds render as '$-1.50' instead of '-$1.50'.

Currency rounding and FX conversion◈ Members↗
FA-62144

The minus sign is placed between the currency symbol and the digits · case 04

Refunds render as '$-1.50' instead of '-$1.50'.

Currency rounding and FX conversion◈ Members↗
FA-62145

The minus sign is placed between the currency symbol and the digits · case 05

Refunds render as '$-1.50' instead of '-$1.50'.

Currency rounding and FX conversion◈ Members↗
FA-62146

Digit groups are cut from the left · case 01

1234 dollars renders as '$123,4.00'.

Currency rounding and FX conversion● Open access↗
FA-62147

Digit groups are cut from the left · case 02

1234 dollars renders as '$123,4.00'.

Currency rounding and FX conversion◈ Members↗
FA-62148

Digit groups are cut from the left · case 03

1234 dollars renders as '$123,4.00'.

Currency rounding and FX conversion◈ Members↗
FA-62149

Digit groups are cut from the left · case 04

1234 dollars renders as '$123,4.00'.

Currency rounding and FX conversion◈ Members↗
FA-62150

Digit groups are cut from the left · case 05

1234 dollars renders as '$123,4.00'.

Currency rounding and FX conversion◈ Members↗
FA-62151

A zero-decimal currency is printed with a decimal separator · case 01

Yen amounts render as '¥1,234,567.0'.

Currency rounding and FX conversion● Open access↗
FA-62152

A zero-decimal currency is printed with a decimal separator · case 02

Yen amounts render as '¥1,234,567.0'.

Currency rounding and FX conversion◈ Members↗
FA-62153

A zero-decimal currency is printed with a decimal separator · case 03

Yen amounts render as '¥1,234,567.0'.

Currency rounding and FX conversion◈ Members↗
FA-62154

A zero-decimal currency is printed with a decimal separator · case 04

Yen amounts render as '¥1,234,567.0'.

Currency rounding and FX conversion◈ Members↗
FA-62155

A zero-decimal currency is printed with a decimal separator · case 05

Yen amounts render as '¥1,234,567.0'.

Currency rounding and FX conversion◈ Members↗
FA-62156

The minor-unit fraction is not zero-padded on the left · case 01

105 cents renders as '$1.5'.

Currency rounding and FX conversion● Open access↗
FA-62157

The minor-unit fraction is not zero-padded on the left · case 02

105 cents renders as '$1.5'.

Currency rounding and FX conversion◈ Members↗
FA-62158

The minor-unit fraction is not zero-padded on the left · case 03

105 cents renders as '$1.5'.

Currency rounding and FX conversion◈ Members↗
FA-62159

The minor-unit fraction is not zero-padded on the left · case 04

105 cents renders as '$1.5'.

Currency rounding and FX conversion◈ Members↗
FA-62160

The minor-unit fraction is not zero-padded on the left · case 05

105 cents renders as '$1.5'.

Currency rounding and FX conversion◈ Members↗
FA-62161

A USD holiday on the day before spot delays the value date · case 01

EURUSD traded before a USD-only holiday settles a day late.

Currency rounding and FX conversion● Open access↗
FA-62162

A USD holiday on the day before spot delays the value date · case 02

EURUSD traded before a USD-only holiday settles a day late.

Currency rounding and FX conversion◈ Members↗
FA-62163

A USD holiday on the day before spot delays the value date · case 03

EURUSD traded before a USD-only holiday settles a day late.

Currency rounding and FX conversion◈ Members↗
FA-62164

A USD holiday on the day before spot delays the value date · case 04

EURUSD traded before a USD-only holiday settles a day late.

Currency rounding and FX conversion◈ Members↗
FA-62165

A USD holiday on the day before spot delays the value date · case 05

EURUSD traded before a USD-only holiday settles a day late.

Currency rounding and FX conversion◈ Members↗
FA-62166

The value date may fall on a USD holiday · case 01

EURUSD spot is set on a US holiday when dollars cannot settle.

Currency rounding and FX conversion● Open access↗
FA-62167

The value date may fall on a USD holiday · case 02

EURUSD spot is set on a US holiday when dollars cannot settle.

Currency rounding and FX conversion◈ Members↗
FA-62168

The value date may fall on a USD holiday · case 03

EURUSD spot is set on a US holiday when dollars cannot settle.

Currency rounding and FX conversion◈ Members↗
FA-62169

The value date may fall on a USD holiday · case 04

EURUSD spot is set on a US holiday when dollars cannot settle.

Currency rounding and FX conversion◈ Members↗
FA-62170

The value date may fall on a USD holiday · case 05

EURUSD spot is set on a US holiday when dollars cannot settle.

Currency rounding and FX conversion◈ Members↗
FA-62171

USDCAD is settled T+2 like other pairs · case 01

USDCAD trades settle a business day late.

Currency rounding and FX conversion● Open access↗
FA-62172

USDCAD is settled T+2 like other pairs · case 02

USDCAD trades settle a business day late.

Currency rounding and FX conversion◈ Members↗
FA-62173

USDCAD is settled T+2 like other pairs · case 03

USDCAD trades settle a business day late.

Currency rounding and FX conversion◈ Members↗
FA-62174

USDCAD is settled T+2 like other pairs · case 04

USDCAD trades settle a business day late.

Currency rounding and FX conversion◈ Members↗
FA-62175

USDCAD is settled T+2 like other pairs · case 05

USDCAD trades settle a business day late.

Currency rounding and FX conversion◈ Members↗
FA-62176

Spot is computed as two calendar days and then rolled forward · case 01

A Thursday trade settles on Monday only by accident; a Friday trade settles Monday instead of Tuesday.

Currency rounding and FX conversion● Open access↗
FA-62177

Spot is computed as two calendar days and then rolled forward · case 02

A Thursday trade settles on Monday only by accident; a Friday trade settles Monday instead of Tuesday.

Currency rounding and FX conversion◈ Members↗
FA-62178

Spot is computed as two calendar days and then rolled forward · case 03

A Thursday trade settles on Monday only by accident; a Friday trade settles Monday instead of Tuesday.

Currency rounding and FX conversion◈ Members↗
FA-62179

Spot is computed as two calendar days and then rolled forward · case 04

A Thursday trade settles on Monday only by accident; a Friday trade settles Monday instead of Tuesday.

Currency rounding and FX conversion◈ Members↗
FA-62180

Spot is computed as two calendar days and then rolled forward · case 05

A Thursday trade settles on Monday only by accident; a Friday trade settles Monday instead of Tuesday.

Currency rounding and FX conversion◈ Members↗
FA-62181

The card amount is computed from the unrounded offered rate · case 01

The receipt shows a rate that does not reproduce the charged card amount.

Currency rounding and FX conversion● Open access↗
FA-62182

The card amount is computed from the unrounded offered rate · case 02

The receipt shows a rate that does not reproduce the charged card amount.

Currency rounding and FX conversion◈ Members↗
FA-62183

The card amount is computed from the unrounded offered rate · case 03

The receipt shows a rate that does not reproduce the charged card amount.

Currency rounding and FX conversion◈ Members↗
FA-62184

The card amount is computed from the unrounded offered rate · case 04

The receipt shows a rate that does not reproduce the charged card amount.

Currency rounding and FX conversion◈ Members↗
FA-62185

The card amount is computed from the unrounded offered rate · case 05

The receipt shows a rate that does not reproduce the charged card amount.

Currency rounding and FX conversion◈ Members↗
FA-62186

The disclosed markup is measured against the offered rate · case 01

A 3% markup is disclosed as 2.92%.

Currency rounding and FX conversion● Open access↗
FA-62187

The disclosed markup is measured against the offered rate · case 02

A 3% markup is disclosed as 2.92%.

Currency rounding and FX conversion◈ Members↗
FA-62188

The disclosed markup is measured against the offered rate · case 03

A 3% markup is disclosed as 2.92%.

Currency rounding and FX conversion◈ Members↗
FA-62189

The disclosed markup is measured against the offered rate · case 04

A 3% markup is disclosed as 2.92%.

Currency rounding and FX conversion◈ Members↗
FA-62190

The disclosed markup is measured against the offered rate · case 05

A 3% markup is disclosed as 2.92%.

Currency rounding and FX conversion◈ Members↗
FA-62191

The disclosed markup is rounded to nearest and can understate · case 01

A markup of 3.504% is disclosed as 3.50%.

Currency rounding and FX conversion● Open access↗
FA-62192

The disclosed markup is rounded to nearest and can understate · case 02

A markup of 3.504% is disclosed as 3.50%.

Currency rounding and FX conversion◈ Members↗
FA-62193

The disclosed markup is rounded to nearest and can understate · case 03

A markup of 3.504% is disclosed as 3.50%.

Currency rounding and FX conversion◈ Members↗
FA-62194

The disclosed markup is rounded to nearest and can understate · case 04

A markup of 3.504% is disclosed as 3.50%.

Currency rounding and FX conversion◈ Members↗
FA-62195

The disclosed markup is rounded to nearest and can understate · case 05

A markup of 3.504% is disclosed as 3.50%.

Currency rounding and FX conversion◈ Members↗
FA-62196

Each micro-payment is floored independently without carrying the remainder · case 01

Three postings of 0.4 units each convert to zero in total instead of one unit.

Currency rounding and FX conversion● Open access↗
FA-62197

Each micro-payment is floored independently without carrying the remainder · case 02

Three postings of 0.4 units each convert to zero in total instead of one unit.

Currency rounding and FX conversion◈ Members↗
FA-62198

Each micro-payment is floored independently without carrying the remainder · case 03

Three postings of 0.4 units each convert to zero in total instead of one unit.

Currency rounding and FX conversion◈ Members↗
FA-62199

Each micro-payment is floored independently without carrying the remainder · case 04

Three postings of 0.4 units each convert to zero in total instead of one unit.

Currency rounding and FX conversion◈ Members↗
FA-62200

Each micro-payment is floored independently without carrying the remainder · case 05

Three postings of 0.4 units each convert to zero in total instead of one unit.

Currency rounding and FX conversion◈ 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 ↗