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 ↗
97840Executable case variants
19568Distinct failure mechanisms
293520Executed implementations
19568Open-access cases

A RECORD OF WHAT WENT WRONG

Browse the archive / 97840

Python · Standard library
REFERENCEFAILURE MECHANISMDOMAINACCESS
FA-101

An aborted transaction publishes an external event · case 01

An event escapes before its associated business state commits, or committed events disappear before dispatch.

Distributed coordination● Open access↗
FA-102

An aborted transaction publishes an external event · case 02

An event escapes before its associated business state commits, or committed events disappear before dispatch.

Distributed coordination◈ Members↗
FA-103

An aborted transaction publishes an external event · case 03

An event escapes before its associated business state commits, or committed events disappear before dispatch.

Distributed coordination◈ Members↗
FA-104

An aborted transaction publishes an external event · case 04

An event escapes before its associated business state commits, or committed events disappear before dispatch.

Distributed coordination◈ Members↗
FA-105

An aborted transaction publishes an external event · case 05

An event escapes before its associated business state commits, or committed events disappear before dispatch.

Distributed coordination◈ Members↗
FA-106

Out-of-order delivery permanently loses a dependent update · case 01

A message whose prerequisites arrive later is dropped or never revisited after another pending message becomes ready.

Distributed coordination● Open access↗
FA-107

Out-of-order delivery permanently loses a dependent update · case 02

A message whose prerequisites arrive later is dropped or never revisited after another pending message becomes ready.

Distributed coordination◈ Members↗
FA-108

Out-of-order delivery permanently loses a dependent update · case 03

A message whose prerequisites arrive later is dropped or never revisited after another pending message becomes ready.

Distributed coordination◈ Members↗
FA-109

Out-of-order delivery permanently loses a dependent update · case 04

A message whose prerequisites arrive later is dropped or never revisited after another pending message becomes ready.

Distributed coordination◈ Members↗
FA-110

Out-of-order delivery permanently loses a dependent update · case 05

A message whose prerequisites arrive later is dropped or never revisited after another pending message becomes ready.

Distributed coordination◈ Members↗
FA-111

An exclusion query loses candidates when its subquery contains NULL · case 01

A single unknown exclusion value removes unrelated candidates from an anti-join result.

Storage and queries● Open access↗
FA-112

An exclusion query loses candidates when its subquery contains NULL · case 02

A single unknown exclusion value removes unrelated candidates from an anti-join result.

Storage and queries◈ Members↗
FA-113

An exclusion query loses candidates when its subquery contains NULL · case 03

A single unknown exclusion value removes unrelated candidates from an anti-join result.

Storage and queries◈ Members↗
FA-114

An exclusion query loses candidates when its subquery contains NULL · case 04

A single unknown exclusion value removes unrelated candidates from an anti-join result.

Storage and queries◈ Members↗
FA-115

An exclusion query loses candidates when its subquery contains NULL · case 05

A single unknown exclusion value removes unrelated candidates from an anti-join result.

Storage and queries◈ Members↗
FA-116

A scalar aggregate confuses no observations with a measured zero · case 01

An empty or all-NULL aggregate is rendered as zero, while an attempted repair also erases genuine zero totals.

Storage and queries● Open access↗
FA-117

A scalar aggregate confuses no observations with a measured zero · case 02

An empty or all-NULL aggregate is rendered as zero, while an attempted repair also erases genuine zero totals.

Storage and queries◈ Members↗
FA-118

A scalar aggregate confuses no observations with a measured zero · case 03

An empty or all-NULL aggregate is rendered as zero, while an attempted repair also erases genuine zero totals.

Storage and queries◈ Members↗
FA-119

A scalar aggregate confuses no observations with a measured zero · case 04

An empty or all-NULL aggregate is rendered as zero, while an attempted repair also erases genuine zero totals.

Storage and queries◈ Members↗
FA-120

A scalar aggregate confuses no observations with a measured zero · case 05

An empty or all-NULL aggregate is rendered as zero, while an attempted repair also erases genuine zero totals.

Storage and queries◈ Members↗
FA-121

A descriptive join multiplies an invoice subtotal · case 01

Adding multiple descriptive tags inflates the subtotal by repeating each invoice line in a join product.

Storage and queries● Open access↗
FA-122

A descriptive join multiplies an invoice subtotal · case 02

Adding multiple descriptive tags inflates the subtotal by repeating each invoice line in a join product.

Storage and queries◈ Members↗
FA-123

A descriptive join multiplies an invoice subtotal · case 03

Adding multiple descriptive tags inflates the subtotal by repeating each invoice line in a join product.

Storage and queries◈ Members↗
FA-124

A descriptive join multiplies an invoice subtotal · case 04

Adding multiple descriptive tags inflates the subtotal by repeating each invoice line in a join product.

Storage and queries◈ Members↗
FA-125

A descriptive join multiplies an invoice subtotal · case 05

Adding multiple descriptive tags inflates the subtotal by repeating each invoice line in a join product.

Storage and queries◈ Members↗
FA-126

A snapshot read selects a version committed after its cutoff · case 01

A read returns the newest physical version even though that version was not visible at the reader's snapshot.

Storage and queries● Open access↗
FA-127

A snapshot read selects a version committed after its cutoff · case 02

A read returns the newest physical version even though that version was not visible at the reader's snapshot.

Storage and queries◈ Members↗
FA-128

A snapshot read selects a version committed after its cutoff · case 03

A read returns the newest physical version even though that version was not visible at the reader's snapshot.

Storage and queries◈ Members↗
FA-129

A snapshot read selects a version committed after its cutoff · case 04

A read returns the newest physical version even though that version was not visible at the reader's snapshot.

Storage and queries◈ Members↗
FA-130

A snapshot read selects a version committed after its cutoff · case 05

A read returns the newest physical version even though that version was not visible at the reader's snapshot.

Storage and queries◈ Members↗
FA-131

A composite uniqueness check rejects SQL-valid nullable keys · case 01

Repeated tuples containing an unknown component are rejected as duplicate composite keys.

Storage and queries● Open access↗
FA-132

A composite uniqueness check rejects SQL-valid nullable keys · case 02

Repeated tuples containing an unknown component are rejected as duplicate composite keys.

Storage and queries◈ Members↗
FA-133

A composite uniqueness check rejects SQL-valid nullable keys · case 03

Repeated tuples containing an unknown component are rejected as duplicate composite keys.

Storage and queries◈ Members↗
FA-134

A composite uniqueness check rejects SQL-valid nullable keys · case 04

Repeated tuples containing an unknown component are rejected as duplicate composite keys.

Storage and queries◈ Members↗
FA-135

A composite uniqueness check rejects SQL-valid nullable keys · case 05

Repeated tuples containing an unknown component are rejected as duplicate composite keys.

Storage and queries◈ Members↗
FA-136

A prefix range scan misses negative secondary keys · case 01

A composite index lookup omits some rows for its leading key or leaks rows from the next leading key.

Storage and queries● Open access↗
FA-137

A prefix range scan misses negative secondary keys · case 02

A composite index lookup omits some rows for its leading key or leaks rows from the next leading key.

Storage and queries◈ Members↗
FA-138

A prefix range scan misses negative secondary keys · case 03

A composite index lookup omits some rows for its leading key or leaks rows from the next leading key.

Storage and queries◈ Members↗
FA-139

A prefix range scan misses negative secondary keys · case 04

A composite index lookup omits some rows for its leading key or leaks rows from the next leading key.

Storage and queries◈ Members↗
FA-140

A prefix range scan misses negative secondary keys · case 05

A composite index lookup omits some rows for its leading key or leaks rows from the next leading key.

Storage and queries◈ Members↗
FA-141

A joined row loses a field when two columns share a label · case 01

Converting a joined result into an object overwrites one table's identifier with another table's identifier.

Storage and queries● Open access↗
FA-142

A joined row loses a field when two columns share a label · case 02

Converting a joined result into an object overwrites one table's identifier with another table's identifier.

Storage and queries◈ Members↗
FA-143

A joined row loses a field when two columns share a label · case 03

Converting a joined result into an object overwrites one table's identifier with another table's identifier.

Storage and queries◈ Members↗
FA-144

A joined row loses a field when two columns share a label · case 04

Converting a joined result into an object overwrites one table's identifier with another table's identifier.

Storage and queries◈ Members↗
FA-145

A joined row loses a field when two columns share a label · case 05

Converting a joined result into an object overwrites one table's identifier with another table's identifier.

Storage and queries◈ Members↗
FA-146

A row filter removes contributions before a group threshold is evaluated · case 01

A group made of individually small contributions disappears even though its total meets the reporting threshold.

Storage and queries● Open access↗
FA-147

A row filter removes contributions before a group threshold is evaluated · case 02

A group made of individually small contributions disappears even though its total meets the reporting threshold.

Storage and queries◈ Members↗
FA-148

A row filter removes contributions before a group threshold is evaluated · case 03

A group made of individually small contributions disappears even though its total meets the reporting threshold.

Storage and queries◈ Members↗
FA-149

A row filter removes contributions before a group threshold is evaluated · case 04

A group made of individually small contributions disappears even though its total meets the reporting threshold.

Storage and queries◈ Members↗
FA-150

A row filter removes contributions before a group threshold is evaluated · case 05

A group made of individually small contributions disappears even though its total meets the reporting threshold.

Storage and queries◈ Members↗
FA-151

A top-k query uses distinct score levels instead of the kth row's score · case 01

Tie handling either truncates equivalent rows or admits an extra lower-scoring group beyond the kth-row boundary.

Storage and queries● Open access↗
FA-152

A top-k query uses distinct score levels instead of the kth row's score · case 02

Tie handling either truncates equivalent rows or admits an extra lower-scoring group beyond the kth-row boundary.

Storage and queries◈ Members↗
FA-153

A top-k query uses distinct score levels instead of the kth row's score · case 03

Tie handling either truncates equivalent rows or admits an extra lower-scoring group beyond the kth-row boundary.

Storage and queries◈ Members↗
FA-154

A top-k query uses distinct score levels instead of the kth row's score · case 04

Tie handling either truncates equivalent rows or admits an extra lower-scoring group beyond the kth-row boundary.

Storage and queries◈ Members↗
FA-155

A top-k query uses distinct score levels instead of the kth row's score · case 05

Tie handling either truncates equivalent rows or admits an extra lower-scoring group beyond the kth-row boundary.

Storage and queries◈ Members↗
FA-156

String-encoded composite keys merge unrelated groups · case 01

Distinct two-column groups collapse together because their concatenated or delimiter-separated key strings coincide.

Storage and queries● Open access↗
FA-157

String-encoded composite keys merge unrelated groups · case 02

Distinct two-column groups collapse together because their concatenated or delimiter-separated key strings coincide.

Storage and queries◈ Members↗
FA-158

String-encoded composite keys merge unrelated groups · case 03

Distinct two-column groups collapse together because their concatenated or delimiter-separated key strings coincide.

Storage and queries◈ Members↗
FA-159

String-encoded composite keys merge unrelated groups · case 04

Distinct two-column groups collapse together because their concatenated or delimiter-separated key strings coincide.

Storage and queries◈ Members↗
FA-160

String-encoded composite keys merge unrelated groups · case 05

Distinct two-column groups collapse together because their concatenated or delimiter-separated key strings coincide.

Storage and queries◈ Members↗
FA-161

An overlap join misses containment or admits adjacent nonoverlapping intervals · case 01

An interval join drops a left interval entirely enclosed by a right interval, then an endpoint-based repair creates false matches.

Storage and queries● Open access↗
FA-162

An overlap join misses containment or admits adjacent nonoverlapping intervals · case 02

An interval join drops a left interval entirely enclosed by a right interval, then an endpoint-based repair creates false matches.

Storage and queries◈ Members↗
FA-163

An overlap join misses containment or admits adjacent nonoverlapping intervals · case 03

An interval join drops a left interval entirely enclosed by a right interval, then an endpoint-based repair creates false matches.

Storage and queries◈ Members↗
FA-164

An overlap join misses containment or admits adjacent nonoverlapping intervals · case 04

An interval join drops a left interval entirely enclosed by a right interval, then an endpoint-based repair creates false matches.

Storage and queries◈ Members↗
FA-165

An overlap join misses containment or admits adjacent nonoverlapping intervals · case 05

An interval join drops a left interval entirely enclosed by a right interval, then an endpoint-based repair creates false matches.

Storage and queries◈ Members↗
FA-166

Updating a materialized summary adds the replacement without removing the old value · case 01

A materialized total accumulates superseded row values, while an attempted repair also counts updates as new rows.

Storage and queries● Open access↗
FA-167

Updating a materialized summary adds the replacement without removing the old value · case 02

A materialized total accumulates superseded row values, while an attempted repair also counts updates as new rows.

Storage and queries◈ Members↗
FA-168

Updating a materialized summary adds the replacement without removing the old value · case 03

A materialized total accumulates superseded row values, while an attempted repair also counts updates as new rows.

Storage and queries◈ Members↗
FA-169

Updating a materialized summary adds the replacement without removing the old value · case 04

A materialized total accumulates superseded row values, while an attempted repair also counts updates as new rows.

Storage and queries◈ Members↗
FA-170

Updating a materialized summary adds the replacement without removing the old value · case 05

A materialized total accumulates superseded row values, while an attempted repair also counts updates as new rows.

Storage and queries◈ Members↗
FA-171

An escaped separator becomes a field boundary · case 01

An escaped pipe splits a field, or an even run of escape characters hides a real separator.

Parsing● Open access↗
FA-172

An escaped separator becomes a field boundary · case 02

An escaped pipe splits a field, or an even run of escape characters hides a real separator.

Parsing◈ Members↗
FA-173

An escaped separator becomes a field boundary · case 03

An escaped pipe splits a field, or an even run of escape characters hides a real separator.

Parsing◈ Members↗
FA-174

An escaped separator becomes a field boundary · case 04

An escaped pipe splits a field, or an even run of escape characters hides a real separator.

Parsing◈ Members↗
FA-175

An escaped separator becomes a field boundary · case 05

An escaped pipe splits a field, or an even run of escape characters hides a real separator.

Parsing◈ Members↗
FA-176

A repeated JSON key silently overwrites a value · case 01

Conflicting object members collapse to one value, hiding an ambiguous source document.

Serialization● Open access↗
FA-177

A repeated JSON key silently overwrites a value · case 02

Conflicting object members collapse to one value, hiding an ambiguous source document.

Serialization◈ Members↗
FA-178

A repeated JSON key silently overwrites a value · case 03

Conflicting object members collapse to one value, hiding an ambiguous source document.

Serialization◈ Members↗
FA-179

A repeated JSON key silently overwrites a value · case 04

Conflicting object members collapse to one value, hiding an ambiguous source document.

Serialization◈ Members↗
FA-180

A repeated JSON key silently overwrites a value · case 05

Conflicting object members collapse to one value, hiding an ambiguous source document.

Serialization◈ Members↗
FA-181

A character count truncates a UTF-8 frame · case 01

The declared payload length is smaller than the actual UTF-8 payload for non-ASCII text.

Protocols● Open access↗
FA-182

A character count truncates a UTF-8 frame · case 02

The declared payload length is smaller than the actual UTF-8 payload for non-ASCII text.

Protocols◈ Members↗
FA-183

A character count truncates a UTF-8 frame · case 03

The declared payload length is smaller than the actual UTF-8 payload for non-ASCII text.

Protocols◈ Members↗
FA-184

A character count truncates a UTF-8 frame · case 04

The declared payload length is smaller than the actual UTF-8 payload for non-ASCII text.

Protocols◈ Members↗
FA-185

A character count truncates a UTF-8 frame · case 05

The declared payload length is smaller than the actual UTF-8 payload for non-ASCII text.

Protocols◈ Members↗
FA-186

A network chunk boundary corrupts a Unicode character · case 01

A valid character split across chunks becomes replacement characters or vanishes.

Encodings● Open access↗
FA-187

A network chunk boundary corrupts a Unicode character · case 02

A valid character split across chunks becomes replacement characters or vanishes.

Encodings◈ Members↗
FA-188

A network chunk boundary corrupts a Unicode character · case 03

A valid character split across chunks becomes replacement characters or vanishes.

Encodings◈ Members↗
FA-189

A network chunk boundary corrupts a Unicode character · case 04

A valid character split across chunks becomes replacement characters or vanishes.

Encodings◈ Members↗
FA-190

A network chunk boundary corrupts a Unicode character · case 05

A valid character split across chunks becomes replacement characters or vanishes.

Encodings◈ Members↗
FA-191

Grouping query parameters loses their original order · case 01

Repeated parameters disappear or move past parameters that originally separated them.

Protocols● Open access↗
FA-192

Grouping query parameters loses their original order · case 02

Repeated parameters disappear or move past parameters that originally separated them.

Protocols◈ Members↗
FA-193

Grouping query parameters loses their original order · case 03

Repeated parameters disappear or move past parameters that originally separated them.

Protocols◈ Members↗
FA-194

Grouping query parameters loses their original order · case 04

Repeated parameters disappear or move past parameters that originally separated them.

Protocols◈ Members↗
FA-195

Grouping query parameters loses their original order · case 05

Repeated parameters disappear or move past parameters that originally separated them.

Protocols◈ Members↗
FA-196

Line splitting removes a quoted CSV line break · case 01

A quoted multiline field is either split into records or silently concatenated without its newline.

Serialization● Open access↗
FA-197

Line splitting removes a quoted CSV line break · case 02

A quoted multiline field is either split into records or silently concatenated without its newline.

Serialization◈ Members↗
FA-198

Line splitting removes a quoted CSV line break · case 03

A quoted multiline field is either split into records or silently concatenated without its newline.

Serialization◈ Members↗
FA-199

Line splitting removes a quoted CSV line break · case 04

A quoted multiline field is either split into records or silently concatenated without its newline.

Serialization◈ Members↗
FA-200

Line splitting removes a quoted CSV line break · case 05

A quoted multiline field is either split into records or silently concatenated without its newline.

Serialization◈ 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 ↗