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 ↗A RECORD OF WHAT WENT WRONG
Browse the archive / 97840
An aborted transaction publishes an external event · case 01
An event escapes before its associated business state commits, or committed events disappear before dispatch.
An aborted transaction publishes an external event · case 02
An event escapes before its associated business state commits, or committed events disappear before dispatch.
An aborted transaction publishes an external event · case 03
An event escapes before its associated business state commits, or committed events disappear before dispatch.
An aborted transaction publishes an external event · case 04
An event escapes before its associated business state commits, or committed events disappear before dispatch.
An aborted transaction publishes an external event · case 05
An event escapes before its associated business state commits, or committed events disappear before dispatch.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
A composite uniqueness check rejects SQL-valid nullable keys · case 01
Repeated tuples containing an unknown component are rejected as duplicate composite keys.
A composite uniqueness check rejects SQL-valid nullable keys · case 02
Repeated tuples containing an unknown component are rejected as duplicate composite keys.
A composite uniqueness check rejects SQL-valid nullable keys · case 03
Repeated tuples containing an unknown component are rejected as duplicate composite keys.
A composite uniqueness check rejects SQL-valid nullable keys · case 04
Repeated tuples containing an unknown component are rejected as duplicate composite keys.
A composite uniqueness check rejects SQL-valid nullable keys · case 05
Repeated tuples containing an unknown component are rejected as duplicate composite keys.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
String-encoded composite keys merge unrelated groups · case 01
Distinct two-column groups collapse together because their concatenated or delimiter-separated key strings coincide.
String-encoded composite keys merge unrelated groups · case 02
Distinct two-column groups collapse together because their concatenated or delimiter-separated key strings coincide.
String-encoded composite keys merge unrelated groups · case 03
Distinct two-column groups collapse together because their concatenated or delimiter-separated key strings coincide.
String-encoded composite keys merge unrelated groups · case 04
Distinct two-column groups collapse together because their concatenated or delimiter-separated key strings coincide.
String-encoded composite keys merge unrelated groups · case 05
Distinct two-column groups collapse together because their concatenated or delimiter-separated key strings coincide.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
A repeated JSON key silently overwrites a value · case 01
Conflicting object members collapse to one value, hiding an ambiguous source document.
A repeated JSON key silently overwrites a value · case 02
Conflicting object members collapse to one value, hiding an ambiguous source document.
A repeated JSON key silently overwrites a value · case 03
Conflicting object members collapse to one value, hiding an ambiguous source document.
A repeated JSON key silently overwrites a value · case 04
Conflicting object members collapse to one value, hiding an ambiguous source document.
A repeated JSON key silently overwrites a value · case 05
Conflicting object members collapse to one value, hiding an ambiguous source document.
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.
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.
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.
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.
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.
A network chunk boundary corrupts a Unicode character · case 01
A valid character split across chunks becomes replacement characters or vanishes.
A network chunk boundary corrupts a Unicode character · case 02
A valid character split across chunks becomes replacement characters or vanishes.
A network chunk boundary corrupts a Unicode character · case 03
A valid character split across chunks becomes replacement characters or vanishes.
A network chunk boundary corrupts a Unicode character · case 04
A valid character split across chunks becomes replacement characters or vanishes.
A network chunk boundary corrupts a Unicode character · case 05
A valid character split across chunks becomes replacement characters or vanishes.
Grouping query parameters loses their original order · case 01
Repeated parameters disappear or move past parameters that originally separated them.
Grouping query parameters loses their original order · case 02
Repeated parameters disappear or move past parameters that originally separated them.
Grouping query parameters loses their original order · case 03
Repeated parameters disappear or move past parameters that originally separated them.
Grouping query parameters loses their original order · case 04
Repeated parameters disappear or move past parameters that originally separated them.
Grouping query parameters loses their original order · case 05
Repeated parameters disappear or move past parameters that originally separated them.
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.
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.
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.
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.
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.
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 ↗