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
A capturing subexpression changes the token result · case 01
A capturing subexpression changes the token result.
A capturing subexpression changes the token result · case 02
A capturing subexpression changes the token result.
A capturing subexpression changes the token result · case 03
A capturing subexpression changes the token result.
A capturing subexpression changes the token result · case 04
A capturing subexpression changes the token result.
A capturing subexpression changes the token result · case 05
A capturing subexpression changes the token result.
Replacement backslashes become regex instructions · case 01
Replacement backslashes become regex instructions.
Replacement backslashes become regex instructions · case 02
Replacement backslashes become regex instructions.
Replacement backslashes become regex instructions · case 03
Replacement backslashes become regex instructions.
Replacement backslashes become regex instructions · case 04
Replacement backslashes become regex instructions.
Replacement backslashes become regex instructions · case 05
Replacement backslashes become regex instructions.
Unicode word characters alter ASCII identifier boundaries · case 01
Unicode word characters alter ASCII identifier boundaries.
Unicode word characters alter ASCII identifier boundaries · case 02
Unicode word characters alter ASCII identifier boundaries.
Unicode word characters alter ASCII identifier boundaries · case 03
Unicode word characters alter ASCII identifier boundaries.
Unicode word characters alter ASCII identifier boundaries · case 04
Unicode word characters alter ASCII identifier boundaries.
Unicode word characters alter ASCII identifier boundaries · case 05
Unicode word characters alter ASCII identifier boundaries.
Only the first record header is found · case 01
Only the first record header is found.
Only the first record header is found · case 02
Only the first record header is found.
Only the first record header is found · case 03
Only the first record header is found.
Only the first record header is found · case 04
Only the first record header is found.
Only the first record header is found · case 05
Only the first record header is found.
Case-insensitive ASCII ranges accept special Unicode letters · case 01
Case-insensitive ASCII ranges accept special Unicode letters.
Case-insensitive ASCII ranges accept special Unicode letters · case 02
Case-insensitive ASCII ranges accept special Unicode letters.
Case-insensitive ASCII ranges accept special Unicode letters · case 03
Case-insensitive ASCII ranges accept special Unicode letters.
Case-insensitive ASCII ranges accept special Unicode letters · case 04
Case-insensitive ASCII ranges accept special Unicode letters.
Case-insensitive ASCII ranges accept special Unicode letters · case 05
Case-insensitive ASCII ranges accept special Unicode letters.
Overlapping motif matches are skipped · case 01
Overlapping motif matches are skipped.
Overlapping motif matches are skipped · case 02
Overlapping motif matches are skipped.
Overlapping motif matches are skipped · case 03
Overlapping motif matches are skipped.
Overlapping motif matches are skipped · case 04
Overlapping motif matches are skipped.
Overlapping motif matches are skipped · case 05
Overlapping motif matches are skipped.
An absent optional group is conflated with an empty group · case 01
An absent optional group is conflated with an empty group.
An absent optional group is conflated with an empty group · case 02
An absent optional group is conflated with an empty group.
An absent optional group is conflated with an empty group · case 03
An absent optional group is conflated with an empty group.
An absent optional group is conflated with an empty group · case 04
An absent optional group is conflated with an empty group.
An absent optional group is conflated with an empty group · case 05
An absent optional group is conflated with an empty group.
A quoted JSON string contains raw control characters · case 01
A quoted JSON string contains raw control characters.
A quoted JSON string contains raw control characters · case 02
A quoted JSON string contains raw control characters.
A quoted JSON string contains raw control characters · case 03
A quoted JSON string contains raw control characters.
A quoted JSON string contains raw control characters · case 04
A quoted JSON string contains raw control characters.
A quoted JSON string contains raw control characters · case 05
A quoted JSON string contains raw control characters.
An astral scalar is escaped as a single invalid JSON escape · case 01
An astral scalar is escaped as a single invalid JSON escape.
An astral scalar is escaped as a single invalid JSON escape · case 02
An astral scalar is escaped as a single invalid JSON escape.
An astral scalar is escaped as a single invalid JSON escape · case 03
An astral scalar is escaped as a single invalid JSON escape.
An astral scalar is escaped as a single invalid JSON escape · case 04
An astral scalar is escaped as a single invalid JSON escape.
An astral scalar is escaped as a single invalid JSON escape · case 05
An astral scalar is escaped as a single invalid JSON escape.
Boolean values are serialized as numeric values · case 01
Boolean values are serialized as numeric values.
Boolean values are serialized as numeric values · case 02
Boolean values are serialized as numeric values.
Boolean values are serialized as numeric values · case 03
Boolean values are serialized as numeric values.
Boolean values are serialized as numeric values · case 04
Boolean values are serialized as numeric values.
Boolean values are serialized as numeric values · case 05
Boolean values are serialized as numeric values.
Nested JSON arrays lose structure · case 01
Nested JSON arrays lose structure.
Nested JSON arrays lose structure · case 02
Nested JSON arrays lose structure.
Nested JSON arrays lose structure · case 03
Nested JSON arrays lose structure.
Nested JSON arrays lose structure · case 04
Nested JSON arrays lose structure.
Nested JSON arrays lose structure · case 05
Nested JSON arrays lose structure.
Nonstandard numeric constants enter a JSON document · case 01
Nonstandard numeric constants enter a JSON document.
Nonstandard numeric constants enter a JSON document · case 02
Nonstandard numeric constants enter a JSON document.
Nonstandard numeric constants enter a JSON document · case 03
Nonstandard numeric constants enter a JSON document.
Nonstandard numeric constants enter a JSON document · case 04
Nonstandard numeric constants enter a JSON document.
Nonstandard numeric constants enter a JSON document · case 05
Nonstandard numeric constants enter a JSON document.
A valid null is confused with parse failure · case 01
A valid null is confused with parse failure.
A valid null is confused with parse failure · case 02
A valid null is confused with parse failure.
A valid null is confused with parse failure · case 03
A valid null is confused with parse failure.
A valid null is confused with parse failure · case 04
A valid null is confused with parse failure.
A valid null is confused with parse failure · case 05
A valid null is confused with parse failure.
A decoder accepts a second trailing JSON value · case 01
A decoder accepts a second trailing JSON value.
A decoder accepts a second trailing JSON value · case 02
A decoder accepts a second trailing JSON value.
A decoder accepts a second trailing JSON value · case 03
A decoder accepts a second trailing JSON value.
A decoder accepts a second trailing JSON value · case 04
A decoder accepts a second trailing JSON value.
A decoder accepts a second trailing JSON value · case 05
A decoder accepts a second trailing JSON value.
Repeated object members disappear from an ordered representation · case 01
Repeated object members disappear from an ordered representation.
Repeated object members disappear from an ordered representation · case 02
Repeated object members disappear from an ordered representation.
Repeated object members disappear from an ordered representation · case 03
Repeated object members disappear from an ordered representation.
Repeated object members disappear from an ordered representation · case 04
Repeated object members disappear from an ordered representation.
Repeated object members disappear from an ordered representation · case 05
Repeated object members disappear from an ordered representation.
JSON Pointer escape replacement runs in reverse order · case 01
JSON Pointer escape replacement runs in reverse order.
JSON Pointer escape replacement runs in reverse order · case 02
JSON Pointer escape replacement runs in reverse order.
JSON Pointer escape replacement runs in reverse order · case 03
JSON Pointer escape replacement runs in reverse order.
JSON Pointer escape replacement runs in reverse order · case 04
JSON Pointer escape replacement runs in reverse order.
JSON Pointer escape replacement runs in reverse order · case 05
JSON Pointer escape replacement runs in reverse order.
Pointer token escaping recursively escapes inserted text · case 01
Pointer token escaping recursively escapes inserted text.
Pointer token escaping recursively escapes inserted text · case 02
Pointer token escaping recursively escapes inserted text.
Pointer token escaping recursively escapes inserted text · case 03
Pointer token escaping recursively escapes inserted text.
Pointer token escaping recursively escapes inserted text · case 04
Pointer token escaping recursively escapes inserted text.
Pointer token escaping recursively escapes inserted text · case 05
Pointer token escaping recursively escapes inserted text.
A comma inside a quoted CSV cell becomes a separator · case 01
A comma inside a quoted CSV cell becomes a separator.
A comma inside a quoted CSV cell becomes a separator · case 02
A comma inside a quoted CSV cell becomes a separator.
A comma inside a quoted CSV cell becomes a separator · case 03
A comma inside a quoted CSV cell becomes a separator.
A comma inside a quoted CSV cell becomes a separator · case 04
A comma inside a quoted CSV cell becomes a separator.
A comma inside a quoted CSV cell becomes a separator · case 05
A comma inside a quoted CSV cell becomes a separator.
CSV trimming changes a quoted cell value · case 01
CSV trimming changes a quoted cell value.
CSV trimming changes a quoted cell value · case 02
CSV trimming changes a quoted cell value.
CSV trimming changes a quoted cell value · case 03
CSV trimming changes a quoted cell value.
CSV trimming changes a quoted cell value · case 04
CSV trimming changes a quoted cell value.
CSV trimming changes a quoted cell value · case 05
CSV trimming changes a quoted cell value.
CSV writing forgets fields containing record separators · case 01
CSV writing forgets fields containing record separators.
CSV writing forgets fields containing record separators · case 02
CSV writing forgets fields containing record separators.
CSV writing forgets fields containing record separators · case 03
CSV writing forgets fields containing record separators.
CSV writing forgets fields containing record separators · case 04
CSV writing forgets fields containing record separators.
CSV writing forgets fields containing record separators · case 05
CSV writing forgets fields containing record separators.
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 ↗