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 ↗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
RS framing always adds a codeword · case 01
Payloads that are an exact multiple of k (and empty payloads) get an extra, empty codeword.
RS framing always adds a codeword · case 02
Payloads that are an exact multiple of k (and empty payloads) get an extra, empty codeword.
RS framing always adds a codeword · case 03
Payloads that are an exact multiple of k (and empty payloads) get an extra, empty codeword.
RS framing always adds a codeword · case 04
Payloads that are an exact multiple of k (and empty payloads) get an extra, empty codeword.
RS framing always adds a codeword · case 05
Payloads that are an exact multiple of k (and empty payloads) get an extra, empty codeword.
RS framing transmits the zero padding · case 01
Bandwidth estimates count padding bytes that a shortened code never sends.
RS framing transmits the zero padding · case 02
Bandwidth estimates count padding bytes that a shortened code never sends.
RS framing transmits the zero padding · case 03
Bandwidth estimates count padding bytes that a shortened code never sends.
RS framing transmits the zero padding · case 04
Bandwidth estimates count padding bytes that a shortened code never sends.
RS framing transmits the zero padding · case 05
Bandwidth estimates count padding bytes that a shortened code never sends.
RS framing reports a full last codeword for an empty payload · case 01
An empty payload reports k data bytes in its last codeword.
RS framing reports a full last codeword for an empty payload · case 02
An empty payload reports k data bytes in its last codeword.
RS framing reports a full last codeword for an empty payload · case 03
An empty payload reports k data bytes in its last codeword.
RS framing reports a full last codeword for an empty payload · case 04
An empty payload reports k data bytes in its last codeword.
RS framing reports a full last codeword for an empty payload · case 05
An empty payload reports k data bytes in its last codeword.
BCH cosets multiply modulo n plus one · case 01
Cosets collapse to zero and the parity count is wrong.
BCH cosets multiply modulo n plus one · case 02
Cosets collapse to zero and the parity count is wrong.
BCH cosets multiply modulo n plus one · case 03
Cosets collapse to zero and the parity count is wrong.
BCH cosets multiply modulo n plus one · case 04
Cosets collapse to zero and the parity count is wrong.
BCH cosets multiply modulo n plus one · case 05
Cosets collapse to zero and the parity count is wrong.
BCH cosets cover only 1..t · case 01
Codes correct fewer errors than requested.
BCH cosets cover only 1..t · case 02
Codes correct fewer errors than requested.
BCH cosets cover only 1..t · case 03
Codes correct fewer errors than requested.
BCH cosets cover only 1..t · case 04
Codes correct fewer errors than requested.
BCH cosets cover only 1..t · case 05
Codes correct fewer errors than requested.
BCH cosets list a coset twice · case 01
The coset list repeats a coset reached from a later representative.
BCH cosets list a coset twice · case 02
The coset list repeats a coset reached from a later representative.
BCH cosets list a coset twice · case 03
The coset list repeats a coset reached from a later representative.
BCH cosets list a coset twice · case 04
The coset list repeats a coset reached from a later representative.
BCH cosets list a coset twice · case 05
The coset list repeats a coset reached from a later representative.
Bounded-distance decoder picks the first of tied codewords · case 01
Received words equidistant from two codewords are decoded to an arbitrary one.
Bounded-distance decoder picks the first of tied codewords · case 02
Received words equidistant from two codewords are decoded to an arbitrary one.
Bounded-distance decoder picks the first of tied codewords · case 03
Received words equidistant from two codewords are decoded to an arbitrary one.
Bounded-distance decoder picks the first of tied codewords · case 04
Received words equidistant from two codewords are decoded to an arbitrary one.
Bounded-distance decoder picks the first of tied codewords · case 05
Received words equidistant from two codewords are decoded to an arbitrary one.
Bounded-distance decoder accepts any distance · case 01
Heavily corrupted words are decoded instead of flagged.
Bounded-distance decoder accepts any distance · case 02
Heavily corrupted words are decoded instead of flagged.
Bounded-distance decoder accepts any distance · case 03
Heavily corrupted words are decoded instead of flagged.
Bounded-distance decoder accepts any distance · case 04
Heavily corrupted words are decoded instead of flagged.
Bounded-distance decoder accepts any distance · case 05
Heavily corrupted words are decoded instead of flagged.
Luhn validation doubles the check digit position · case 01
Valid card numbers are reported invalid while some single-digit typos pass.
Luhn validation doubles the check digit position · case 02
Valid card numbers are reported invalid while some single-digit typos pass.
Luhn validation doubles the check digit position · case 03
Valid card numbers are reported invalid while some single-digit typos pass.
Luhn validation doubles the check digit position · case 04
Valid card numbers are reported invalid while some single-digit typos pass.
Luhn validation doubles the check digit position · case 05
Valid card numbers are reported invalid while some single-digit typos pass.
Luhn doubled 9 collapses to zero through modulo nine · case 01
Numbers containing a doubled 9 are misjudged.
Luhn doubled 9 collapses to zero through modulo nine · case 02
Numbers containing a doubled 9 are misjudged.
Luhn doubled 9 collapses to zero through modulo nine · case 03
Numbers containing a doubled 9 are misjudged.
Luhn doubled 9 collapses to zero through modulo nine · case 04
Numbers containing a doubled 9 are misjudged.
Luhn doubled 9 collapses to zero through modulo nine · case 05
Numbers containing a doubled 9 are misjudged.
Luhn normalization keeps hyphen group separators · case 01
Hyphen-grouped card numbers are rejected as malformed.
Luhn normalization keeps hyphen group separators · case 02
Hyphen-grouped card numbers are rejected as malformed.
Luhn normalization keeps hyphen group separators · case 03
Hyphen-grouped card numbers are rejected as malformed.
Luhn normalization keeps hyphen group separators · case 04
Hyphen-grouped card numbers are rejected as malformed.
Luhn normalization keeps hyphen group separators · case 05
Hyphen-grouped card numbers are rejected as malformed.
Luhn gate admits a lone check digit · case 01
A single "0" is accepted as a valid account number.
Luhn gate admits a lone check digit · case 02
A single "0" is accepted as a valid account number.
Luhn gate admits a lone check digit · case 03
A single "0" is accepted as a valid account number.
Luhn gate admits a lone check digit · case 04
A single "0" is accepted as a valid account number.
Luhn gate admits a lone check digit · case 05
A single "0" is accepted as a valid account number.
Luhn gate accepts non-ASCII decimal digits · case 01
Arabic-Indic digit strings are scored as valid or invalid instead of malformed.
Luhn gate accepts non-ASCII decimal digits · case 02
Arabic-Indic digit strings are scored as valid or invalid instead of malformed.
Luhn gate accepts non-ASCII decimal digits · case 03
Arabic-Indic digit strings are scored as valid or invalid instead of malformed.
Luhn gate accepts non-ASCII decimal digits · case 04
Arabic-Indic digit strings are scored as valid or invalid instead of malformed.
Luhn gate accepts non-ASCII decimal digits · case 05
Arabic-Indic digit strings are scored as valid or invalid instead of malformed.
ISIN letters expand from one instead of ten · case 01
ISINs containing letters get the wrong computed check digit.
ISIN letters expand from one instead of ten · case 02
ISINs containing letters get the wrong computed check digit.
ISIN letters expand from one instead of ten · case 03
ISINs containing letters get the wrong computed check digit.
ISIN letters expand from one instead of ten · case 04
ISINs containing letters get the wrong computed check digit.
ISIN letters expand from one instead of ten · case 05
ISINs containing letters get the wrong computed check digit.
ISIN generation doubles with validation parity · case 01
Computed ISIN check digits disagree with issued identifiers.
ISIN generation doubles with validation parity · case 02
Computed ISIN check digits disagree with issued identifiers.
ISIN generation doubles with validation parity · case 03
Computed ISIN check digits disagree with issued identifiers.
ISIN generation doubles with validation parity · case 04
Computed ISIN check digits disagree with issued identifiers.
ISIN generation doubles with validation parity · case 05
Computed ISIN check digits disagree with issued identifiers.
ISIN body accepts lowercase letters · case 01
A lowercase body produces a check-digit verdict instead of being rejected.
ISIN body accepts lowercase letters · case 02
A lowercase body produces a check-digit verdict instead of being rejected.
ISIN body accepts lowercase letters · case 03
A lowercase body produces a check-digit verdict instead of being rejected.
ISIN body accepts lowercase letters · case 04
A lowercase body produces a check-digit verdict instead of being rejected.
ISIN body accepts lowercase letters · case 05
A lowercase body produces a check-digit verdict instead of being rejected.
ISIN country prefix accepts a digit · case 01
Identifiers without an alphabetic country code are checksummed as if they were ISINs.
ISIN country prefix accepts a digit · case 02
Identifiers without an alphabetic country code are checksummed as if they were ISINs.
ISIN country prefix accepts a digit · case 03
Identifiers without an alphabetic country code are checksummed as if they were ISINs.
ISIN country prefix accepts a digit · case 04
Identifiers without an alphabetic country code are checksummed as if they were ISINs.
ISIN country prefix accepts a digit · case 05
Identifiers without an alphabetic country code are checksummed as if they were ISINs.
Verhoeff generation omits the position offset · case 01
Generated check digits fail validation of the very number they were computed for.
Verhoeff generation omits the position offset · case 02
Generated check digits fail validation of the very number they were computed for.
Verhoeff generation omits the position offset · case 03
Generated check digits fail validation of the very number they were computed for.
Verhoeff generation omits the position offset · case 04
Generated check digits fail validation of the very number they were computed for.
Verhoeff generation omits the position offset · case 05
Generated check digits fail validation of the very number they were computed for.
Verhoeff walks digits left to right · case 01
Only palindromic payloads produce correct check digits.
Verhoeff walks digits left to right · case 02
Only palindromic payloads produce correct check digits.
Verhoeff walks digits left to right · case 03
Only palindromic payloads produce correct check digits.
Verhoeff walks digits left to right · case 04
Only palindromic payloads produce correct check digits.
Verhoeff walks digits left to right · case 05
Only palindromic payloads produce correct check digits.
Verhoeff returns the final state instead of its inverse · case 01
Payloads ending in states 1-4 get a check digit that does not validate.
Verhoeff returns the final state instead of its inverse · case 02
Payloads ending in states 1-4 get a check digit that does not validate.
Verhoeff returns the final state instead of its inverse · case 03
Payloads ending in states 1-4 get a check digit that does not validate.
Verhoeff returns the final state instead of its inverse · case 04
Payloads ending in states 1-4 get a check digit that does not validate.
Verhoeff returns the final state instead of its inverse · case 05
Payloads ending in states 1-4 get a check digit that does not validate.
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 ↗