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
Overflow CSV columns overwrite the final header · case 01
Overflow CSV columns overwrite the final header.
Overflow CSV columns overwrite the final header · case 02
Overflow CSV columns overwrite the final header.
Overflow CSV columns overwrite the final header · case 03
Overflow CSV columns overwrite the final header.
Overflow CSV columns overwrite the final header · case 04
Overflow CSV columns overwrite the final header.
Overflow CSV columns overwrite the final header · case 05
Overflow CSV columns overwrite the final header.
An unclosed quoted CSV field is accepted · case 01
An unclosed quoted CSV field is accepted.
An unclosed quoted CSV field is accepted · case 02
An unclosed quoted CSV field is accepted.
An unclosed quoted CSV field is accepted · case 03
An unclosed quoted CSV field is accepted.
An unclosed quoted CSV field is accepted · case 04
An unclosed quoted CSV field is accepted.
An unclosed quoted CSV field is accepted · case 05
An unclosed quoted CSV field is accepted.
Attribute escaping leaves quote delimiters active · case 01
Attribute escaping leaves quote delimiters active.
Attribute escaping leaves quote delimiters active · case 02
Attribute escaping leaves quote delimiters active.
Attribute escaping leaves quote delimiters active · case 03
Attribute escaping leaves quote delimiters active.
Attribute escaping leaves quote delimiters active · case 04
Attribute escaping leaves quote delimiters active.
Attribute escaping leaves quote delimiters active · case 05
Attribute escaping leaves quote delimiters active.
Text-node escaping rewrites ordinary quotes · case 01
Text-node escaping rewrites ordinary quotes.
Text-node escaping rewrites ordinary quotes · case 02
Text-node escaping rewrites ordinary quotes.
Text-node escaping rewrites ordinary quotes · case 03
Text-node escaping rewrites ordinary quotes.
Text-node escaping rewrites ordinary quotes · case 04
Text-node escaping rewrites ordinary quotes.
Text-node escaping rewrites ordinary quotes · case 05
Text-node escaping rewrites ordinary quotes.
Entity decoding recursively changes literal entity text · case 01
Entity decoding recursively changes literal entity text.
Entity decoding recursively changes literal entity text · case 02
Entity decoding recursively changes literal entity text.
Entity decoding recursively changes literal entity text · case 03
Entity decoding recursively changes literal entity text.
Entity decoding recursively changes literal entity text · case 04
Entity decoding recursively changes literal entity text.
Entity decoding recursively changes literal entity text · case 05
Entity decoding recursively changes literal entity text.
Legacy HTML numeric references decode as raw controls · case 01
Legacy HTML numeric references decode as raw controls.
Legacy HTML numeric references decode as raw controls · case 02
Legacy HTML numeric references decode as raw controls.
Legacy HTML numeric references decode as raw controls · case 03
Legacy HTML numeric references decode as raw controls.
Legacy HTML numeric references decode as raw controls · case 04
Legacy HTML numeric references decode as raw controls.
Legacy HTML numeric references decode as raw controls · case 05
Legacy HTML numeric references decode as raw controls.
Text extraction drops child tails · case 01
Text extraction drops child tails.
Text extraction drops child tails · case 02
Text extraction drops child tails.
Text extraction drops child tails · case 03
Text extraction drops child tails.
Text extraction drops child tails · case 04
Text extraction drops child tails.
Text extraction drops child tails · case 05
Text extraction drops child tails.
Namespace prefixes are treated as part of element identity · case 01
Namespace prefixes are treated as part of element identity.
Namespace prefixes are treated as part of element identity · case 02
Namespace prefixes are treated as part of element identity.
Namespace prefixes are treated as part of element identity · case 03
Namespace prefixes are treated as part of element identity.
Namespace prefixes are treated as part of element identity · case 04
Namespace prefixes are treated as part of element identity.
Namespace prefixes are treated as part of element identity · case 05
Namespace prefixes are treated as part of element identity.
An empty XML element is treated as absent · case 01
An empty XML element is treated as absent.
An empty XML element is treated as absent · case 02
An empty XML element is treated as absent.
An empty XML element is treated as absent · case 03
An empty XML element is treated as absent.
An empty XML element is treated as absent · case 04
An empty XML element is treated as absent.
An empty XML element is treated as absent · case 05
An empty XML element is treated as absent.
A direct-child query misses nested elements · case 01
A direct-child query misses nested elements.
A direct-child query misses nested elements · case 02
A direct-child query misses nested elements.
A direct-child query misses nested elements · case 03
A direct-child query misses nested elements.
A direct-child query misses nested elements · case 04
A direct-child query misses nested elements.
A direct-child query misses nested elements · case 05
A direct-child query misses nested elements.
An empty XML attribute collapses into a missing attribute · case 01
An empty XML attribute collapses into a missing attribute.
An empty XML attribute collapses into a missing attribute · case 02
An empty XML attribute collapses into a missing attribute.
An empty XML attribute collapses into a missing attribute · case 03
An empty XML attribute collapses into a missing attribute.
An empty XML attribute collapses into a missing attribute · case 04
An empty XML attribute collapses into a missing attribute.
An empty XML attribute collapses into a missing attribute · case 05
An empty XML attribute collapses into a missing attribute.
Comment content leaks into extracted XML text · case 01
Comment content leaks into extracted XML text.
Comment content leaks into extracted XML text · case 02
Comment content leaks into extracted XML text.
Comment content leaks into extracted XML text · case 03
Comment content leaks into extracted XML text.
Comment content leaks into extracted XML text · case 04
Comment content leaks into extracted XML text.
Comment content leaks into extracted XML text · case 05
Comment content leaks into extracted XML text.
Whitespace splitting ignores shell quote boundaries · case 01
Whitespace splitting ignores shell quote boundaries.
Whitespace splitting ignores shell quote boundaries · case 02
Whitespace splitting ignores shell quote boundaries.
Whitespace splitting ignores shell quote boundaries · case 03
Whitespace splitting ignores shell quote boundaries.
Whitespace splitting ignores shell quote boundaries · case 04
Whitespace splitting ignores shell quote boundaries.
Whitespace splitting ignores shell quote boundaries · case 05
Whitespace splitting ignores shell quote boundaries.
A hash inside quotes begins a shell comment · case 01
A hash inside quotes begins a shell comment.
A hash inside quotes begins a shell comment · case 02
A hash inside quotes begins a shell comment.
A hash inside quotes begins a shell comment · case 03
A hash inside quotes begins a shell comment.
A hash inside quotes begins a shell comment · case 04
A hash inside quotes begins a shell comment.
A hash inside quotes begins a shell comment · case 05
A hash inside quotes begins a shell comment.
An empty shell argument disappears · case 01
An empty shell argument disappears.
An empty shell argument disappears · case 02
An empty shell argument disappears.
An empty shell argument disappears · case 03
An empty shell argument disappears.
An empty shell argument disappears · case 04
An empty shell argument disappears.
An empty shell argument disappears · case 05
An empty shell argument disappears.
A form plus sign remains literal · case 01
A form plus sign remains literal.
A form plus sign remains literal · case 02
A form plus sign remains literal.
A form plus sign remains literal · case 03
A form plus sign remains literal.
A form plus sign remains literal · case 04
A form plus sign remains literal.
A form plus sign remains literal · case 05
A form plus sign remains literal.
Percent decoding destroys non-UTF8 bytes · case 01
Percent decoding destroys non-UTF8 bytes.
Percent decoding destroys non-UTF8 bytes · case 02
Percent decoding destroys non-UTF8 bytes.
Percent decoding destroys non-UTF8 bytes · case 03
Percent decoding destroys non-UTF8 bytes.
Percent decoding destroys non-UTF8 bytes · case 04
Percent decoding destroys non-UTF8 bytes.
Percent decoding destroys non-UTF8 bytes · case 05
Percent decoding destroys non-UTF8 bytes.
A data value retains a structural slash · case 01
A data value retains a structural slash.
A data value retains a structural slash · case 02
A data value retains a structural slash.
A data value retains a structural slash · case 03
A data value retains a structural slash.
A data value retains a structural slash · case 04
A data value retains a structural slash.
A data value retains a structural slash · case 05
A data value retains a structural slash.
A list-valued query field becomes a Python representation · case 01
A list-valued query field becomes a Python representation.
A list-valued query field becomes a Python representation · case 02
A list-valued query field becomes a Python representation.
A list-valued query field becomes a Python representation · case 03
A list-valued query field becomes a Python representation.
A list-valued query field becomes a Python representation · case 04
A list-valued query field becomes a Python representation.
A list-valued query field becomes a Python representation · case 05
A list-valued query field becomes a Python representation.
A semicolon inside a query value becomes a separator · case 01
A semicolon inside a query value becomes a separator.
A semicolon inside a query value becomes a separator · case 02
A semicolon inside a query value becomes a separator.
A semicolon inside a query value becomes a separator · case 03
A semicolon inside a query value becomes a separator.
A semicolon inside a query value becomes a separator · case 04
A semicolon inside a query value becomes a separator.
A semicolon inside a query value becomes a separator · case 05
A semicolon inside a query value becomes a separator.
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 ↗