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
Assemble the structure of a forwarded message: related without images · case 01
An HTML forward without inline images gets an empty multipart/related wrapper.
Assemble the structure of a forwarded message: related without images · case 02
An HTML forward without inline images gets an empty multipart/related wrapper.
Assemble the structure of a forwarded message: related without images · case 03
An HTML forward without inline images gets an empty multipart/related wrapper.
Assemble the structure of a forwarded message: related without images · case 04
An HTML forward without inline images gets an empty multipart/related wrapper.
Assemble the structure of a forwarded message: related without images · case 05
An HTML forward without inline images gets an empty multipart/related wrapper.
Validate the structure of a multipart/signed entity: parameter name case · case 01
A header written with "Protocol=" or "MICALG=" is reported as missing both parameters.
Validate the structure of a multipart/signed entity: parameter name case · case 02
A header written with "Protocol=" or "MICALG=" is reported as missing both parameters.
Validate the structure of a multipart/signed entity: parameter name case · case 03
A header written with "Protocol=" or "MICALG=" is reported as missing both parameters.
Validate the structure of a multipart/signed entity: parameter name case · case 04
A header written with "Protocol=" or "MICALG=" is reported as missing both parameters.
Validate the structure of a multipart/signed entity: parameter name case · case 05
A header written with "Protocol=" or "MICALG=" is reported as missing both parameters.
Validate the structure of a multipart/signed entity: exact part count · case 01
A signed entity with a third, unsigned part is accepted, letting content ride along outside the signature.
Validate the structure of a multipart/signed entity: exact part count · case 02
A signed entity with a third, unsigned part is accepted, letting content ride along outside the signature.
Validate the structure of a multipart/signed entity: exact part count · case 03
A signed entity with a third, unsigned part is accepted, letting content ride along outside the signature.
Validate the structure of a multipart/signed entity: exact part count · case 04
A signed entity with a third, unsigned part is accepted, letting content ride along outside the signature.
Validate the structure of a multipart/signed entity: exact part count · case 05
A signed entity with a third, unsigned part is accepted, letting content ride along outside the signature.
Validate the structure of a multipart/signed entity: protocol type case · case 01
A signature part whose type differs from the protocol only in case is reported as mismatched.
Validate the structure of a multipart/signed entity: protocol type case · case 02
A signature part whose type differs from the protocol only in case is reported as mismatched.
Validate the structure of a multipart/signed entity: protocol type case · case 03
A signature part whose type differs from the protocol only in case is reported as mismatched.
Validate the structure of a multipart/signed entity: protocol type case · case 04
A signature part whose type differs from the protocol only in case is reported as mismatched.
Validate the structure of a multipart/signed entity: protocol type case · case 05
A signature part whose type differs from the protocol only in case is reported as mismatched.
Validate the structure of a multipart/signed entity: micalg family · case 01
S/MIME signatures with a non-pgp micalg are rejected, or pgp signatures announce S/MIME algorithms unnoticed.
Validate the structure of a multipart/signed entity: micalg family · case 02
S/MIME signatures with a non-pgp micalg are rejected, or pgp signatures announce S/MIME algorithms unnoticed.
Validate the structure of a multipart/signed entity: micalg family · case 03
S/MIME signatures with a non-pgp micalg are rejected, or pgp signatures announce S/MIME algorithms unnoticed.
Validate the structure of a multipart/signed entity: micalg family · case 04
S/MIME signatures with a non-pgp micalg are rejected, or pgp signatures announce S/MIME algorithms unnoticed.
Validate the structure of a multipart/signed entity: micalg family · case 05
S/MIME signatures with a non-pgp micalg are rejected, or pgp signatures announce S/MIME algorithms unnoticed.
Validate the structure of a multipart/signed entity: content 8bit · case 01
Signed content sent as 8bit is accepted although relays may re-encode it and break the signature.
Validate the structure of a multipart/signed entity: content 8bit · case 02
Signed content sent as 8bit is accepted although relays may re-encode it and break the signature.
Validate the structure of a multipart/signed entity: content 8bit · case 03
Signed content sent as 8bit is accepted although relays may re-encode it and break the signature.
Validate the structure of a multipart/signed entity: content 8bit · case 04
Signed content sent as 8bit is accepted although relays may re-encode it and break the signature.
Validate the structure of a multipart/signed entity: content 8bit · case 05
Signed content sent as 8bit is accepted although relays may re-encode it and break the signature.
Validate the structure of a multipart/signed entity: mismatch needs protocol · case 01
A missing protocol parameter is additionally reported as a protocol mismatch.
Validate the structure of a multipart/signed entity: mismatch needs protocol · case 02
A missing protocol parameter is additionally reported as a protocol mismatch.
Validate the structure of a multipart/signed entity: mismatch needs protocol · case 03
A missing protocol parameter is additionally reported as a protocol mismatch.
Validate the structure of a multipart/signed entity: mismatch needs protocol · case 04
A missing protocol parameter is additionally reported as a protocol mismatch.
Validate the structure of a multipart/signed entity: mismatch needs protocol · case 05
A missing protocol parameter is additionally reported as a protocol mismatch.
Collect the plain-text body to display: alternative last first · case 01
The simplest alternative is displayed although a later alternative carries the full text.
Collect the plain-text body to display: alternative last first · case 02
The simplest alternative is displayed although a later alternative carries the full text.
Collect the plain-text body to display: alternative last first · case 03
The simplest alternative is displayed although a later alternative carries the full text.
Collect the plain-text body to display: alternative last first · case 04
The simplest alternative is displayed although a later alternative carries the full text.
Collect the plain-text body to display: alternative last first · case 05
The simplest alternative is displayed although a later alternative carries the full text.
Collect the plain-text body to display: alternative empty skip · case 01
An HTML-only last alternative produces an empty display although a text alternative exists.
Collect the plain-text body to display: alternative empty skip · case 02
An HTML-only last alternative produces an empty display although a text alternative exists.
Collect the plain-text body to display: alternative empty skip · case 03
An HTML-only last alternative produces an empty display although a text alternative exists.
Collect the plain-text body to display: alternative empty skip · case 04
An HTML-only last alternative produces an empty display although a text alternative exists.
Collect the plain-text body to display: alternative empty skip · case 05
An HTML-only last alternative produces an empty display although a text alternative exists.
Collect the plain-text body to display: attachment before message · case 01
The text of an attached message is shown as part of the body.
Collect the plain-text body to display: attachment before message · case 02
The text of an attached message is shown as part of the body.
Collect the plain-text body to display: attachment before message · case 03
The text of an attached message is shown as part of the body.
Collect the plain-text body to display: attachment before message · case 04
The text of an attached message is shown as part of the body.
Collect the plain-text body to display: attachment before message · case 05
The text of an attached message is shown as part of the body.
Reassemble RFC 2231 style filename parameter continuations: numeric order · case 01
Names with ten or more continuation segments are cut after segment 1 because "10" sorts before "2".
Reassemble RFC 2231 style filename parameter continuations: numeric order · case 02
Names with ten or more continuation segments are cut after segment 1 because "10" sorts before "2".
Reassemble RFC 2231 style filename parameter continuations: numeric order · case 03
Names with ten or more continuation segments are cut after segment 1 because "10" sorts before "2".
Reassemble RFC 2231 style filename parameter continuations: numeric order · case 04
Names with ten or more continuation segments are cut after segment 1 because "10" sorts before "2".
Reassemble RFC 2231 style filename parameter continuations: numeric order · case 05
Names with ten or more continuation segments are cut after segment 1 because "10" sorts before "2".
Reassemble RFC 2231 style filename parameter continuations: gap stop · case 01
Segments after a missing index are glued on, producing a name that was never sent.
Reassemble RFC 2231 style filename parameter continuations: gap stop · case 02
Segments after a missing index are glued on, producing a name that was never sent.
Reassemble RFC 2231 style filename parameter continuations: gap stop · case 03
Segments after a missing index are glued on, producing a name that was never sent.
Reassemble RFC 2231 style filename parameter continuations: gap stop · case 04
Segments after a missing index are glued on, producing a name that was never sent.
Reassemble RFC 2231 style filename parameter continuations: gap stop · case 05
Segments after a missing index are glued on, producing a name that was never sent.
Reassemble RFC 2231 style filename parameter continuations: leading zero index · case 01
A segment numbered "01" overwrites segment 1.
Reassemble RFC 2231 style filename parameter continuations: leading zero index · case 02
A segment numbered "01" overwrites segment 1.
Reassemble RFC 2231 style filename parameter continuations: leading zero index · case 03
A segment numbered "01" overwrites segment 1.
Reassemble RFC 2231 style filename parameter continuations: leading zero index · case 04
A segment numbered "01" overwrites segment 1.
Reassemble RFC 2231 style filename parameter continuations: leading zero index · case 05
A segment numbered "01" overwrites segment 1.
Reassemble RFC 2231 style filename parameter continuations: charset prefix scope · case 01
Later encoded segments are parsed as if they carried a charset prefix and lose their text.
Reassemble RFC 2231 style filename parameter continuations: charset prefix scope · case 02
Later encoded segments are parsed as if they carried a charset prefix and lose their text.
Reassemble RFC 2231 style filename parameter continuations: charset prefix scope · case 03
Later encoded segments are parsed as if they carried a charset prefix and lose their text.
Reassemble RFC 2231 style filename parameter continuations: charset prefix scope · case 04
Later encoded segments are parsed as if they carried a charset prefix and lose their text.
Reassemble RFC 2231 style filename parameter continuations: charset prefix scope · case 05
Later encoded segments are parsed as if they carried a charset prefix and lose their text.
Reassemble RFC 2231 style filename parameter continuations: single extended precedence · case 01
Continuation segments override a complete filename* value.
Reassemble RFC 2231 style filename parameter continuations: single extended precedence · case 02
Continuation segments override a complete filename* value.
Reassemble RFC 2231 style filename parameter continuations: single extended precedence · case 03
Continuation segments override a complete filename* value.
Reassemble RFC 2231 style filename parameter continuations: single extended precedence · case 04
Continuation segments override a complete filename* value.
Reassemble RFC 2231 style filename parameter continuations: single extended precedence · case 05
Continuation segments override a complete filename* value.
Reassemble RFC 2231 style filename parameter continuations: decode after join · case 01
A multi-byte character split across two segments turns into replacement characters.
Reassemble RFC 2231 style filename parameter continuations: decode after join · case 02
A multi-byte character split across two segments turns into replacement characters.
Reassemble RFC 2231 style filename parameter continuations: decode after join · case 03
A multi-byte character split across two segments turns into replacement characters.
Reassemble RFC 2231 style filename parameter continuations: decode after join · case 04
A multi-byte character split across two segments turns into replacement characters.
Reassemble RFC 2231 style filename parameter continuations: decode after join · case 05
A multi-byte character split across two segments turns into replacement characters.
Reassemble RFC 2231 style filename parameter continuations: plain fallback · case 01
A stray continuation without segment 0 replaces the plain filename with an empty name.
Reassemble RFC 2231 style filename parameter continuations: plain fallback · case 02
A stray continuation without segment 0 replaces the plain filename with an empty name.
Reassemble RFC 2231 style filename parameter continuations: plain fallback · case 03
A stray continuation without segment 0 replaces the plain filename with an empty name.
Reassemble RFC 2231 style filename parameter continuations: plain fallback · case 04
A stray continuation without segment 0 replaces the plain filename with an empty name.
Reassemble RFC 2231 style filename parameter continuations: plain fallback · case 05
A stray continuation without segment 0 replaces the plain filename with an empty name.
Reassemble RFC 2231 style filename parameter continuations: parameter name case · case 01
Continuations written with capital letters are ignored and the attachment loses its name.
Reassemble RFC 2231 style filename parameter continuations: parameter name case · case 02
Continuations written with capital letters are ignored and the attachment loses its name.
Reassemble RFC 2231 style filename parameter continuations: parameter name case · case 03
Continuations written with capital letters are ignored and the attachment loses its name.
Reassemble RFC 2231 style filename parameter continuations: parameter name case · case 04
Continuations written with capital letters are ignored and the attachment loses its name.
Reassemble RFC 2231 style filename parameter continuations: parameter name case · case 05
Continuations written with capital letters are ignored and the attachment loses its name.
Classify recipients of a delivery status report: global status part · case 01
Bounces for internationalised addresses are ignored as invalid reports.
Classify recipients of a delivery status report: global status part · case 02
Bounces for internationalised addresses are ignored as invalid reports.
Classify recipients of a delivery status report: global status part · case 03
Bounces for internationalised addresses are ignored as invalid reports.
Classify recipients of a delivery status report: global status part · case 04
Bounces for internationalised addresses are ignored as invalid reports.
Classify recipients of a delivery status report: global status part · case 05
Bounces for internationalised addresses are ignored as invalid reports.
Classify recipients of a delivery status report: status class · case 01
Temporary failures are treated as permanent bounces and unsubscribe the recipient.
Classify recipients of a delivery status report: status class · case 02
Temporary failures are treated as permanent bounces and unsubscribe the recipient.
Classify recipients of a delivery status report: status class · case 03
Temporary failures are treated as permanent bounces and unsubscribe the recipient.
Classify recipients of a delivery status report: status class · case 04
Temporary failures are treated as permanent bounces and unsubscribe the recipient.
Classify recipients of a delivery status report: status class · case 05
Temporary failures are treated as permanent bounces and unsubscribe the recipient.
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 ↗