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
tel URI builder: letters are silently skipped · case 01
"+42 555 FAKE" becomes "tel:+42-555".
tel URI builder: letters are silently skipped · case 02
"+42 555 FAKE" becomes "tel:+42-555".
tel URI builder: letters are silently skipped · case 03
"+42 555 FAKE" becomes "tel:+42-555".
tel URI builder: letters are silently skipped · case 04
"+42 555 FAKE" becomes "tel:+42-555".
tel URI builder: letters are silently skipped · case 05
"+42 555 FAKE" becomes "tel:+42-555".
tel URI builder: non-numeric extensions are emitted · case 01
Extension "1a" appears in the URI.
tel URI builder: non-numeric extensions are emitted · case 02
Extension "1a" appears in the URI.
tel URI builder: non-numeric extensions are emitted · case 03
Extension "1a" appears in the URI.
tel URI builder: non-numeric extensions are emitted · case 04
Extension "1a" appears in the URI.
tel URI builder: non-numeric extensions are emitted · case 05
Extension "1a" appears in the URI.
tel URI builder: global numbers lose their plus sign · case 01
"+42 555..." becomes "tel:42-555...", which reads as a local number.
tel URI builder: global numbers lose their plus sign · case 02
"+42 555..." becomes "tel:42-555...", which reads as a local number.
tel URI builder: global numbers lose their plus sign · case 03
"+42 555..." becomes "tel:42-555...", which reads as a local number.
tel URI builder: global numbers lose their plus sign · case 04
"+42 555..." becomes "tel:42-555...", which reads as a local number.
tel URI builder: global numbers lose their plus sign · case 05
"+42 555..." becomes "tel:42-555...", which reads as a local number.
SMS sender identifier classifier: two-digit short codes are accepted · case 01
"11" is classified as a short code.
SMS sender identifier classifier: two-digit short codes are accepted · case 02
"11" is classified as a short code.
SMS sender identifier classifier: two-digit short codes are accepted · case 03
"11" is classified as a short code.
SMS sender identifier classifier: two-digit short codes are accepted · case 04
"11" is classified as a short code.
SMS sender identifier classifier: two-digit short codes are accepted · case 05
"11" is classified as a short code.
SMS sender identifier classifier: bare long numbers stay without a plus · case 01
"425550111" is returned without its leading plus.
SMS sender identifier classifier: bare long numbers stay without a plus · case 02
"425550111" is returned without its leading plus.
SMS sender identifier classifier: bare long numbers stay without a plus · case 03
"425550111" is returned without its leading plus.
SMS sender identifier classifier: bare long numbers stay without a plus · case 04
"425550111" is returned without its leading plus.
SMS sender identifier classifier: bare long numbers stay without a plus · case 05
"425550111" is returned without its leading plus.
SMS sender identifier classifier: overlong alphanumeric senders are accepted · case 01
A twelve-character sender is accepted.
SMS sender identifier classifier: overlong alphanumeric senders are accepted · case 02
A twelve-character sender is accepted.
SMS sender identifier classifier: overlong alphanumeric senders are accepted · case 03
A twelve-character sender is accepted.
SMS sender identifier classifier: overlong alphanumeric senders are accepted · case 04
A twelve-character sender is accepted.
SMS sender identifier classifier: overlong alphanumeric senders are accepted · case 05
A twelve-character sender is accepted.
SMS sender identifier classifier: punctuated digit strings pass as alphanumeric senders · case 01
"12-31" is accepted as an alphanumeric sender.
SMS sender identifier classifier: punctuated digit strings pass as alphanumeric senders · case 02
"12-31" is accepted as an alphanumeric sender.
SMS sender identifier classifier: punctuated digit strings pass as alphanumeric senders · case 03
"12-31" is accepted as an alphanumeric sender.
SMS sender identifier classifier: punctuated digit strings pass as alphanumeric senders · case 04
"12-31" is accepted as an alphanumeric sender.
SMS sender identifier classifier: punctuated digit strings pass as alphanumeric senders · case 05
"12-31" is accepted as an alphanumeric sender.
SMS sender identifier classifier: arbitrary punctuation is accepted · case 01
"FAKE*CO" is accepted.
SMS sender identifier classifier: arbitrary punctuation is accepted · case 02
"FAKE*CO" is accepted.
SMS sender identifier classifier: arbitrary punctuation is accepted · case 03
"FAKE*CO" is accepted.
SMS sender identifier classifier: arbitrary punctuation is accepted · case 04
"FAKE*CO" is accepted.
SMS sender identifier classifier: arbitrary punctuation is accepted · case 05
"FAKE*CO" is accepted.
SMS sender identifier classifier: short plus numbers are long codes · case 01
"+12145" is accepted as a long code.
SMS sender identifier classifier: short plus numbers are long codes · case 02
"+12145" is accepted as a long code.
SMS sender identifier classifier: short plus numbers are long codes · case 03
"+12145" is accepted as a long code.
SMS sender identifier classifier: short plus numbers are long codes · case 04
"+12145" is accepted as a long code.
SMS sender identifier classifier: short plus numbers are long codes · case 05
"+12145" is accepted as a long code.
PBX dial plan normalizer: international calls omit the international prefix · case 01
"+42 ..." dials the outside code followed directly by the country code.
PBX dial plan normalizer: international calls omit the international prefix · case 02
"+42 ..." dials the outside code followed directly by the country code.
PBX dial plan normalizer: international calls omit the international prefix · case 03
"+42 ..." dials the outside code followed directly by the country code.
PBX dial plan normalizer: international calls omit the international prefix · case 04
"+42 ..." dials the outside code followed directly by the country code.
PBX dial plan normalizer: international calls omit the international prefix · case 05
"+42 ..." dials the outside code followed directly by the country code.
PBX dial plan normalizer: a two-digit outside code breaks prefixed numbers · case 01
At a site whose outside code is 81, "81555..." is rejected.
PBX dial plan normalizer: a two-digit outside code breaks prefixed numbers · case 02
At a site whose outside code is 81, "81555..." is rejected.
PBX dial plan normalizer: a two-digit outside code breaks prefixed numbers · case 03
At a site whose outside code is 81, "81555..." is rejected.
PBX dial plan normalizer: a two-digit outside code breaks prefixed numbers · case 04
At a site whose outside code is 81, "81555..." is rejected.
PBX dial plan normalizer: a two-digit outside code breaks prefixed numbers · case 05
At a site whose outside code is 81, "81555..." is rejected.
PBX dial plan normalizer: ten-digit numbers are dialed without the 1 · case 01
National numbers are dialed as outside + ten digits.
PBX dial plan normalizer: ten-digit numbers are dialed without the 1 · case 02
National numbers are dialed as outside + ten digits.
PBX dial plan normalizer: ten-digit numbers are dialed without the 1 · case 03
National numbers are dialed as outside + ten digits.
PBX dial plan normalizer: ten-digit numbers are dialed without the 1 · case 04
National numbers are dialed as outside + ten digits.
PBX dial plan normalizer: ten-digit numbers are dialed without the 1 · case 05
National numbers are dialed as outside + ten digits.
PBX dial plan normalizer: extension length is hard-coded · case 01
Five-digit extensions at site B are treated as invalid numbers.
PBX dial plan normalizer: extension length is hard-coded · case 02
Five-digit extensions at site B are treated as invalid numbers.
PBX dial plan normalizer: extension length is hard-coded · case 03
Five-digit extensions at site B are treated as invalid numbers.
PBX dial plan normalizer: extension length is hard-coded · case 04
Five-digit extensions at site B are treated as invalid numbers.
PBX dial plan normalizer: extension length is hard-coded · case 05
Five-digit extensions at site B are treated as invalid numbers.
PBX dial plan normalizer: a leading space hides the plus · case 01
" +42 ..." is treated as a local number and rejected.
PBX dial plan normalizer: a leading space hides the plus · case 02
" +42 ..." is treated as a local number and rejected.
PBX dial plan normalizer: a leading space hides the plus · case 03
" +42 ..." is treated as a local number and rejected.
PBX dial plan normalizer: a leading space hides the plus · case 04
" +42 ..." is treated as a local number and rejected.
PBX dial plan normalizer: a leading space hides the plus · case 05
" +42 ..." is treated as a local number and rejected.
DID range shorthand expansion: the tail is treated as a whole number · case 01
"5550195-211" expands to "0000211" and is rejected.
DID range shorthand expansion: the tail is treated as a whole number · case 02
"5550195-211" expands to "0000211" and is rejected.
DID range shorthand expansion: the tail is treated as a whole number · case 03
"5550195-211" expands to "0000211" and is rejected.
DID range shorthand expansion: the tail is treated as a whole number · case 04
"5550195-211" expands to "0000211" and is rejected.
DID range shorthand expansion: the tail is treated as a whole number · case 05
"5550195-211" expands to "0000211" and is rejected.
DID range shorthand expansion: block size excludes the end number · case 01
A hundred-number block reports 99 numbers and a single number is rejected.
DID range shorthand expansion: block size excludes the end number · case 02
A hundred-number block reports 99 numbers and a single number is rejected.
DID range shorthand expansion: block size excludes the end number · case 03
A hundred-number block reports 99 numbers and a single number is rejected.
DID range shorthand expansion: block size excludes the end number · case 04
A hundred-number block reports 99 numbers and a single number is rejected.
DID range shorthand expansion: block size excludes the end number · case 05
A hundred-number block reports 99 numbers and a single number is rejected.
DID range shorthand expansion: a full hundred block is rejected · case 01
"5550100-5550199" returns None.
DID range shorthand expansion: a full hundred block is rejected · case 02
"5550100-5550199" returns None.
DID range shorthand expansion: a full hundred block is rejected · case 03
"5550100-5550199" returns None.
DID range shorthand expansion: a full hundred block is rejected · case 04
"5550100-5550199" returns None.
DID range shorthand expansion: a full hundred block is rejected · case 05
"5550100-5550199" returns None.
DID range shorthand expansion: reversed ranges are accepted · case 01
"5550105-04" returns a block with count 0.
DID range shorthand expansion: reversed ranges are accepted · case 02
"5550105-04" returns a block with count 0.
DID range shorthand expansion: reversed ranges are accepted · case 03
"5550105-04" returns a block with count 0.
DID range shorthand expansion: reversed ranges are accepted · case 04
"5550105-04" returns a block with count 0.
DID range shorthand expansion: reversed ranges are accepted · case 05
"5550105-04" returns a block with count 0.
DID range shorthand expansion: spaces around the hyphen break parsing · case 01
"5550100 - 01" is rejected.
DID range shorthand expansion: spaces around the hyphen break parsing · case 02
"5550100 - 01" is rejected.
DID range shorthand expansion: spaces around the hyphen break parsing · case 03
"5550100 - 01" is rejected.
DID range shorthand expansion: spaces around the hyphen break parsing · case 04
"5550100 - 01" is rejected.
DID range shorthand expansion: spaces around the hyphen break parsing · case 05
"5550100 - 01" is rejected.
Emergency and service code classifier: an emergency code inside the service range is a service call · case 01
"755" in BB is classified as a service code.
Emergency and service code classifier: an emergency code inside the service range is a service call · case 02
"755" in BB is classified as a service code.
Emergency and service code classifier: an emergency code inside the service range is a service call · case 03
"755" in BB is classified as a service code.
Emergency and service code classifier: an emergency code inside the service range is a service call · case 04
"755" in BB is classified as a service code.
Emergency and service code classifier: an emergency code inside the service range is a service call · case 05
"755" in BB is classified as a service code.
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 ↗