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

FIFO perpetual inventory journal: return layer selection · case 01

Purchase returns remove units from the oldest matching layer.

Double-entry ledger accounting● Open access↗
FA-58102

FIFO perpetual inventory journal: return layer selection · case 02

Purchase returns remove units from the oldest matching layer.

Double-entry ledger accounting◈ Members↗
FA-58103

FIFO perpetual inventory journal: return layer selection · case 03

Purchase returns remove units from the oldest matching layer.

Double-entry ledger accounting◈ Members↗
FA-58104

FIFO perpetual inventory journal: return layer selection · case 04

Purchase returns remove units from the oldest matching layer.

Double-entry ledger accounting◈ Members↗
FA-58105

FIFO perpetual inventory journal: return layer selection · case 05

Purchase returns remove units from the oldest matching layer.

Double-entry ledger accounting◈ Members↗
FA-58106

FIFO perpetual inventory journal: return quantity check · case 01

Returning an entire purchase layer is rejected.

Double-entry ledger accounting● Open access↗
FA-58107

FIFO perpetual inventory journal: return quantity check · case 02

Returning an entire purchase layer is rejected.

Double-entry ledger accounting◈ Members↗
FA-58108

FIFO perpetual inventory journal: return quantity check · case 03

Returning an entire purchase layer is rejected.

Double-entry ledger accounting◈ Members↗
FA-58109

FIFO perpetual inventory journal: return quantity check · case 04

Returning an entire purchase layer is rejected.

Double-entry ledger accounting◈ Members↗
FA-58110

FIFO perpetual inventory journal: return quantity check · case 05

Returning an entire purchase layer is rejected.

Double-entry ledger accounting◈ Members↗
FA-58111

FIFO perpetual inventory journal: inventory valuation · case 01

Ending inventory is valued at the latest purchase price.

Double-entry ledger accounting● Open access↗
FA-58112

FIFO perpetual inventory journal: inventory valuation · case 02

Ending inventory is valued at the latest purchase price.

Double-entry ledger accounting◈ Members↗
FA-58113

FIFO perpetual inventory journal: inventory valuation · case 03

Ending inventory is valued at the latest purchase price.

Double-entry ledger accounting◈ Members↗
FA-58114

FIFO perpetual inventory journal: inventory valuation · case 04

Ending inventory is valued at the latest purchase price.

Double-entry ledger accounting◈ Members↗
FA-58115

FIFO perpetual inventory journal: inventory valuation · case 05

Ending inventory is valued at the latest purchase price.

Double-entry ledger accounting◈ Members↗
FA-58116

Aging-based allowance adjustment: bucket upper bound · case 01

An invoice exactly 30 days past due is aged into the 31-60 bucket.

Double-entry ledger accounting● Open access↗
FA-58117

Aging-based allowance adjustment: bucket upper bound · case 02

An invoice exactly 30 days past due is aged into the 31-60 bucket.

Double-entry ledger accounting◈ Members↗
FA-58118

Aging-based allowance adjustment: bucket upper bound · case 03

An invoice exactly 30 days past due is aged into the 31-60 bucket.

Double-entry ledger accounting◈ Members↗
FA-58119

Aging-based allowance adjustment: bucket upper bound · case 04

An invoice exactly 30 days past due is aged into the 31-60 bucket.

Double-entry ledger accounting◈ Members↗
FA-58120

Aging-based allowance adjustment: bucket upper bound · case 05

An invoice exactly 30 days past due is aged into the 31-60 bucket.

Double-entry ledger accounting◈ Members↗
FA-58121

Aging-based allowance adjustment: not-yet-due aging · case 01

Invoices due next month are reserved as if already delinquent.

Double-entry ledger accounting● Open access↗
FA-58122

Aging-based allowance adjustment: not-yet-due aging · case 02

Invoices due next month are reserved as if already delinquent.

Double-entry ledger accounting◈ Members↗
FA-58123

Aging-based allowance adjustment: not-yet-due aging · case 03

Invoices due next month are reserved as if already delinquent.

Double-entry ledger accounting◈ Members↗
FA-58124

Aging-based allowance adjustment: not-yet-due aging · case 04

Invoices due next month are reserved as if already delinquent.

Double-entry ledger accounting◈ Members↗
FA-58125

Aging-based allowance adjustment: not-yet-due aging · case 05

Invoices due next month are reserved as if already delinquent.

Double-entry ledger accounting◈ Members↗
FA-58126

Aging-based allowance adjustment: write-off allowance sign · case 01

Writing off a bad debt increases the allowance and shrinks the period adjustment.

Double-entry ledger accounting● Open access↗
FA-58127

Aging-based allowance adjustment: write-off allowance sign · case 02

Writing off a bad debt increases the allowance and shrinks the period adjustment.

Double-entry ledger accounting◈ Members↗
FA-58128

Aging-based allowance adjustment: write-off allowance sign · case 03

Writing off a bad debt increases the allowance and shrinks the period adjustment.

Double-entry ledger accounting◈ Members↗
FA-58129

Aging-based allowance adjustment: write-off allowance sign · case 04

Writing off a bad debt increases the allowance and shrinks the period adjustment.

Double-entry ledger accounting◈ Members↗
FA-58130

Aging-based allowance adjustment: write-off allowance sign · case 05

Writing off a bad debt increases the allowance and shrinks the period adjustment.

Double-entry ledger accounting◈ Members↗
FA-58131

Aging-based allowance adjustment: write-off exclusion · case 01

Written-off invoices are still aged and reserved.

Double-entry ledger accounting● Open access↗
FA-58132

Aging-based allowance adjustment: write-off exclusion · case 02

Written-off invoices are still aged and reserved.

Double-entry ledger accounting◈ Members↗
FA-58133

Aging-based allowance adjustment: write-off exclusion · case 03

Written-off invoices are still aged and reserved.

Double-entry ledger accounting◈ Members↗
FA-58134

Aging-based allowance adjustment: write-off exclusion · case 04

Written-off invoices are still aged and reserved.

Double-entry ledger accounting◈ Members↗
FA-58135

Aging-based allowance adjustment: write-off exclusion · case 05

Written-off invoices are still aged and reserved.

Double-entry ledger accounting◈ Members↗
FA-58136

Aging-based allowance adjustment: per-bucket rounding · case 01

Required allowance is a few cents short.

Double-entry ledger accounting● Open access↗
FA-58137

Aging-based allowance adjustment: per-bucket rounding · case 02

Required allowance is a few cents short.

Double-entry ledger accounting◈ Members↗
FA-58138

Aging-based allowance adjustment: per-bucket rounding · case 03

Required allowance is a few cents short.

Double-entry ledger accounting◈ Members↗
FA-58139

Aging-based allowance adjustment: per-bucket rounding · case 04

Required allowance is a few cents short.

Double-entry ledger accounting◈ Members↗
FA-58140

Aging-based allowance adjustment: per-bucket rounding · case 05

Required allowance is a few cents short.

Double-entry ledger accounting◈ Members↗
FA-58141

Aging-based allowance adjustment: adjustment against debit balance · case 01

An allowance carrying a debit balance is under-adjusted.

Double-entry ledger accounting● Open access↗
FA-58142

Aging-based allowance adjustment: adjustment against debit balance · case 02

An allowance carrying a debit balance is under-adjusted.

Double-entry ledger accounting◈ Members↗
FA-58143

Aging-based allowance adjustment: adjustment against debit balance · case 03

An allowance carrying a debit balance is under-adjusted.

Double-entry ledger accounting◈ Members↗
FA-58144

Aging-based allowance adjustment: adjustment against debit balance · case 04

An allowance carrying a debit balance is under-adjusted.

Double-entry ledger accounting◈ Members↗
FA-58145

Aging-based allowance adjustment: adjustment against debit balance · case 05

An allowance carrying a debit balance is under-adjusted.

Double-entry ledger accounting◈ Members↗
FA-58146

Aging-based allowance adjustment: net receivable base · case 01

Net receivables use the pre-adjustment allowance.

Double-entry ledger accounting● Open access↗
FA-58147

Aging-based allowance adjustment: net receivable base · case 02

Net receivables use the pre-adjustment allowance.

Double-entry ledger accounting◈ Members↗
FA-58148

Aging-based allowance adjustment: net receivable base · case 03

Net receivables use the pre-adjustment allowance.

Double-entry ledger accounting◈ Members↗
FA-58149

Aging-based allowance adjustment: net receivable base · case 04

Net receivables use the pre-adjustment allowance.

Double-entry ledger accounting◈ Members↗
FA-58150

Aging-based allowance adjustment: net receivable base · case 05

Net receivables use the pre-adjustment allowance.

Double-entry ledger accounting◈ Members↗
FA-58151

Cost pool allocation entry: remainder tie-break · case 01

The spare cent goes to the last of several equally entitled centers.

Double-entry ledger accounting● Open access↗
FA-58152

Cost pool allocation entry: remainder tie-break · case 02

The spare cent goes to the last of several equally entitled centers.

Double-entry ledger accounting◈ Members↗
FA-58153

Cost pool allocation entry: remainder tie-break · case 03

The spare cent goes to the last of several equally entitled centers.

Double-entry ledger accounting◈ Members↗
FA-58154

Cost pool allocation entry: remainder tie-break · case 04

The spare cent goes to the last of several equally entitled centers.

Double-entry ledger accounting◈ Members↗
FA-58155

Cost pool allocation entry: remainder tie-break · case 05

The spare cent goes to the last of several equally entitled centers.

Double-entry ledger accounting◈ Members↗
FA-58156

Cost pool allocation entry: leftover distribution · case 01

All rounding cents pile onto the heaviest cost center.

Double-entry ledger accounting● Open access↗
FA-58157

Cost pool allocation entry: leftover distribution · case 02

All rounding cents pile onto the heaviest cost center.

Double-entry ledger accounting◈ Members↗
FA-58158

Cost pool allocation entry: leftover distribution · case 03

All rounding cents pile onto the heaviest cost center.

Double-entry ledger accounting◈ Members↗
FA-58159

Cost pool allocation entry: leftover distribution · case 04

All rounding cents pile onto the heaviest cost center.

Double-entry ledger accounting◈ Members↗
FA-58160

Cost pool allocation entry: leftover distribution · case 05

All rounding cents pile onto the heaviest cost center.

Double-entry ledger accounting◈ Members↗
FA-58161

Cost pool allocation entry: reversal sides · case 01

Reversing an allocation posts it a second time.

Double-entry ledger accounting● Open access↗
FA-58162

Cost pool allocation entry: reversal sides · case 02

Reversing an allocation posts it a second time.

Double-entry ledger accounting◈ Members↗
FA-58163

Cost pool allocation entry: reversal sides · case 03

Reversing an allocation posts it a second time.

Double-entry ledger accounting◈ Members↗
FA-58164

Cost pool allocation entry: reversal sides · case 04

Reversing an allocation posts it a second time.

Double-entry ledger accounting◈ Members↗
FA-58165

Cost pool allocation entry: reversal sides · case 05

Reversing an allocation posts it a second time.

Double-entry ledger accounting◈ Members↗
FA-58166

Cost pool allocation entry: magnitude for shares · case 01

Reversal allocations produce negative or lopsided center shares.

Double-entry ledger accounting● Open access↗
FA-58167

Cost pool allocation entry: magnitude for shares · case 02

Reversal allocations produce negative or lopsided center shares.

Double-entry ledger accounting◈ Members↗
FA-58168

Cost pool allocation entry: magnitude for shares · case 03

Reversal allocations produce negative or lopsided center shares.

Double-entry ledger accounting◈ Members↗
FA-58169

Cost pool allocation entry: magnitude for shares · case 04

Reversal allocations produce negative or lopsided center shares.

Double-entry ledger accounting◈ Members↗
FA-58170

Cost pool allocation entry: magnitude for shares · case 05

Reversal allocations produce negative or lopsided center shares.

Double-entry ledger accounting◈ Members↗
FA-58171

VAT invoice journal: inclusive line divisor · case 01

Tax extracted from tax-inclusive prices is too high.

Double-entry ledger accounting● Open access↗
FA-58172

VAT invoice journal: inclusive line divisor · case 02

Tax extracted from tax-inclusive prices is too high.

Double-entry ledger accounting◈ Members↗
FA-58173

VAT invoice journal: inclusive line divisor · case 03

Tax extracted from tax-inclusive prices is too high.

Double-entry ledger accounting◈ Members↗
FA-58174

VAT invoice journal: inclusive line divisor · case 04

Tax extracted from tax-inclusive prices is too high.

Double-entry ledger accounting◈ Members↗
FA-58175

VAT invoice journal: inclusive line divisor · case 05

Tax extracted from tax-inclusive prices is too high.

Double-entry ledger accounting◈ Members↗
FA-58176

VAT invoice journal: invoice-level divisor · case 01

Invoice-rounded inclusive tax differs from line-rounded tax by far more than a cent.

Double-entry ledger accounting● Open access↗
FA-58177

VAT invoice journal: invoice-level divisor · case 02

Invoice-rounded inclusive tax differs from line-rounded tax by far more than a cent.

Double-entry ledger accounting◈ Members↗
FA-58178

VAT invoice journal: invoice-level divisor · case 03

Invoice-rounded inclusive tax differs from line-rounded tax by far more than a cent.

Double-entry ledger accounting◈ Members↗
FA-58179

VAT invoice journal: invoice-level divisor · case 04

Invoice-rounded inclusive tax differs from line-rounded tax by far more than a cent.

Double-entry ledger accounting◈ Members↗
FA-58180

VAT invoice journal: invoice-level divisor · case 05

Invoice-rounded inclusive tax differs from line-rounded tax by far more than a cent.

Double-entry ledger accounting◈ Members↗
FA-58181

VAT invoice journal: half-cent tie · case 01

Tax on exact half-cent amounts is rounded down.

Double-entry ledger accounting● Open access↗
FA-58182

VAT invoice journal: half-cent tie · case 02

Tax on exact half-cent amounts is rounded down.

Double-entry ledger accounting◈ Members↗
FA-58183

VAT invoice journal: half-cent tie · case 03

Tax on exact half-cent amounts is rounded down.

Double-entry ledger accounting◈ Members↗
FA-58184

VAT invoice journal: half-cent tie · case 04

Tax on exact half-cent amounts is rounded down.

Double-entry ledger accounting◈ Members↗
FA-58185

VAT invoice journal: half-cent tie · case 05

Tax on exact half-cent amounts is rounded down.

Double-entry ledger accounting◈ Members↗
FA-58186

VAT invoice journal: exclusive receivable · case 01

Customers are billed without the tax that is posted to tax payable.

Double-entry ledger accounting● Open access↗
FA-58187

VAT invoice journal: exclusive receivable · case 02

Customers are billed without the tax that is posted to tax payable.

Double-entry ledger accounting◈ Members↗
FA-58188

VAT invoice journal: exclusive receivable · case 03

Customers are billed without the tax that is posted to tax payable.

Double-entry ledger accounting◈ Members↗
FA-58189

VAT invoice journal: exclusive receivable · case 04

Customers are billed without the tax that is posted to tax payable.

Double-entry ledger accounting◈ Members↗
FA-58190

VAT invoice journal: exclusive receivable · case 05

Customers are billed without the tax that is posted to tax payable.

Double-entry ledger accounting◈ Members↗
FA-58191

VAT invoice journal: inclusive net derivation · case 01

Inclusive sales book the full gross as revenue while also booking tax.

Double-entry ledger accounting● Open access↗
FA-58192

VAT invoice journal: inclusive net derivation · case 02

Inclusive sales book the full gross as revenue while also booking tax.

Double-entry ledger accounting◈ Members↗
FA-58193

VAT invoice journal: inclusive net derivation · case 03

Inclusive sales book the full gross as revenue while also booking tax.

Double-entry ledger accounting◈ Members↗
FA-58194

VAT invoice journal: inclusive net derivation · case 04

Inclusive sales book the full gross as revenue while also booking tax.

Double-entry ledger accounting◈ Members↗
FA-58195

VAT invoice journal: inclusive net derivation · case 05

Inclusive sales book the full gross as revenue while also booking tax.

Double-entry ledger accounting◈ Members↗
FA-58196

Journal void and reversal linkage: voidable status · case 01

A reversal entry can itself be voided, reinstating the original silently.

Double-entry ledger accounting● Open access↗
FA-58197

Journal void and reversal linkage: voidable status · case 02

A reversal entry can itself be voided, reinstating the original silently.

Double-entry ledger accounting◈ Members↗
FA-58198

Journal void and reversal linkage: voidable status · case 03

A reversal entry can itself be voided, reinstating the original silently.

Double-entry ledger accounting◈ Members↗
FA-58199

Journal void and reversal linkage: voidable status · case 04

A reversal entry can itself be voided, reinstating the original silently.

Double-entry ledger accounting◈ Members↗
FA-58200

Journal void and reversal linkage: voidable status · case 05

A reversal entry can itself be voided, reinstating the original silently.

Double-entry ledger accounting◈ 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 ↗