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
Validate Content-Transfer-Encoding across a MIME tree: encoding normalization · case 01
A declared "Base64" or a padded value is reported as an unknown encoding.
Validate Content-Transfer-Encoding across a MIME tree: encoding normalization · case 02
A declared "Base64" or a padded value is reported as an unknown encoding.
Validate Content-Transfer-Encoding across a MIME tree: encoding normalization · case 03
A declared "Base64" or a padded value is reported as an unknown encoding.
Validate Content-Transfer-Encoding across a MIME tree: encoding normalization · case 04
A declared "Base64" or a padded value is reported as an unknown encoding.
Validate Content-Transfer-Encoding across a MIME tree: encoding normalization · case 05
A declared "Base64" or a padded value is reported as an unknown encoding.
Validate Content-Transfer-Encoding across a MIME tree: composite scope · case 01
A message/rfc822 part transferred as base64 is accepted although encapsulated messages may not be encoded.
Validate Content-Transfer-Encoding across a MIME tree: composite scope · case 02
A message/rfc822 part transferred as base64 is accepted although encapsulated messages may not be encoded.
Validate Content-Transfer-Encoding across a MIME tree: composite scope · case 03
A message/rfc822 part transferred as base64 is accepted although encapsulated messages may not be encoded.
Validate Content-Transfer-Encoding across a MIME tree: composite scope · case 04
A message/rfc822 part transferred as base64 is accepted although encapsulated messages may not be encoded.
Validate Content-Transfer-Encoding across a MIME tree: composite scope · case 05
A message/rfc822 part transferred as base64 is accepted although encapsulated messages may not be encoded.
Validate Content-Transfer-Encoding across a MIME tree: ceiling inheritance · case 01
An 8bit part nested two levels below a 7bit container is not reported.
Validate Content-Transfer-Encoding across a MIME tree: ceiling inheritance · case 02
An 8bit part nested two levels below a 7bit container is not reported.
Validate Content-Transfer-Encoding across a MIME tree: ceiling inheritance · case 03
An 8bit part nested two levels below a 7bit container is not reported.
Validate Content-Transfer-Encoding across a MIME tree: ceiling inheritance · case 04
An 8bit part nested two levels below a 7bit container is not reported.
Validate Content-Transfer-Encoding across a MIME tree: ceiling inheritance · case 05
An 8bit part nested two levels below a 7bit container is not reported.
Validate Content-Transfer-Encoding across a MIME tree: high character threshold · case 01
Latin-1 characters inside a 7bit part are accepted.
Validate Content-Transfer-Encoding across a MIME tree: high character threshold · case 02
Latin-1 characters inside a 7bit part are accepted.
Validate Content-Transfer-Encoding across a MIME tree: high character threshold · case 03
Latin-1 characters inside a 7bit part are accepted.
Validate Content-Transfer-Encoding across a MIME tree: high character threshold · case 04
Latin-1 characters inside a 7bit part are accepted.
Validate Content-Transfer-Encoding across a MIME tree: high character threshold · case 05
Latin-1 characters inside a 7bit part are accepted.
Validate Content-Transfer-Encoding across a MIME tree: line length limit · case 01
Lines of 999 or 1000 characters pass although the limit excludes line terminators.
Validate Content-Transfer-Encoding across a MIME tree: line length limit · case 02
Lines of 999 or 1000 characters pass although the limit excludes line terminators.
Validate Content-Transfer-Encoding across a MIME tree: line length limit · case 03
Lines of 999 or 1000 characters pass although the limit excludes line terminators.
Validate Content-Transfer-Encoding across a MIME tree: line length limit · case 04
Lines of 999 or 1000 characters pass although the limit excludes line terminators.
Validate Content-Transfer-Encoding across a MIME tree: line length limit · case 05
Lines of 999 or 1000 characters pass although the limit excludes line terminators.
Validate Content-Transfer-Encoding across a MIME tree: binary exemption · case 01
Over-long lines in 8bit parts are accepted as if the part were binary.
Validate Content-Transfer-Encoding across a MIME tree: binary exemption · case 02
Over-long lines in 8bit parts are accepted as if the part were binary.
Validate Content-Transfer-Encoding across a MIME tree: binary exemption · case 03
Over-long lines in 8bit parts are accepted as if the part were binary.
Validate Content-Transfer-Encoding across a MIME tree: binary exemption · case 04
Over-long lines in 8bit parts are accepted as if the part were binary.
Validate Content-Transfer-Encoding across a MIME tree: binary exemption · case 05
Over-long lines in 8bit parts are accepted as if the part were binary.
Build a bounded MIME tree summary from parser events: depth limit · case 01
One more nesting level than configured is accepted.
Build a bounded MIME tree summary from parser events: depth limit · case 02
One more nesting level than configured is accepted.
Build a bounded MIME tree summary from parser events: depth limit · case 03
One more nesting level than configured is accepted.
Build a bounded MIME tree summary from parser events: depth limit · case 04
One more nesting level than configured is accepted.
Build a bounded MIME tree summary from parser events: depth limit · case 05
One more nesting level than configured is accepted.
Build a bounded MIME tree summary from parser events: nested skip depth · case 01
After skipping an over-deep subtree with nested containers, parsing resumes inside it and misattributes its parts.
Build a bounded MIME tree summary from parser events: nested skip depth · case 02
After skipping an over-deep subtree with nested containers, parsing resumes inside it and misattributes its parts.
Build a bounded MIME tree summary from parser events: nested skip depth · case 03
After skipping an over-deep subtree with nested containers, parsing resumes inside it and misattributes its parts.
Build a bounded MIME tree summary from parser events: nested skip depth · case 04
After skipping an over-deep subtree with nested containers, parsing resumes inside it and misattributes its parts.
Build a bounded MIME tree summary from parser events: nested skip depth · case 05
After skipping an over-deep subtree with nested containers, parsing resumes inside it and misattributes its parts.
Build a bounded MIME tree summary from parser events: skipped child counted · case 01
A container whose only child was skipped as too deep is additionally reported as an empty multipart.
Build a bounded MIME tree summary from parser events: skipped child counted · case 02
A container whose only child was skipped as too deep is additionally reported as an empty multipart.
Build a bounded MIME tree summary from parser events: skipped child counted · case 03
A container whose only child was skipped as too deep is additionally reported as an empty multipart.
Build a bounded MIME tree summary from parser events: skipped child counted · case 04
A container whose only child was skipped as too deep is additionally reported as an empty multipart.
Build a bounded MIME tree summary from parser events: skipped child counted · case 05
A container whose only child was skipped as too deep is additionally reported as an empty multipart.
Build a bounded MIME tree summary from parser events: unclosed report · case 01
A message whose outermost multipart is never closed is accepted as complete.
Build a bounded MIME tree summary from parser events: unclosed report · case 02
A message whose outermost multipart is never closed is accepted as complete.
Build a bounded MIME tree summary from parser events: unclosed report · case 03
A message whose outermost multipart is never closed is accepted as complete.
Build a bounded MIME tree summary from parser events: unclosed report · case 04
A message whose outermost multipart is never closed is accepted as complete.
Build a bounded MIME tree summary from parser events: unclosed report · case 05
A message whose outermost multipart is never closed is accepted as complete.
Build a bounded MIME tree summary from parser events: maximum depth · case 01
The reported depth is the depth of the last container opened, not the deepest one.
Build a bounded MIME tree summary from parser events: maximum depth · case 02
The reported depth is the depth of the last container opened, not the deepest one.
Build a bounded MIME tree summary from parser events: maximum depth · case 03
The reported depth is the depth of the last container opened, not the deepest one.
Build a bounded MIME tree summary from parser events: maximum depth · case 04
The reported depth is the depth of the last container opened, not the deepest one.
Build a bounded MIME tree summary from parser events: maximum depth · case 05
The reported depth is the depth of the last container opened, not the deepest one.
Choose the MIME skeleton for an outgoing message: orphan inline images · case 01
Inline images of a message without an HTML body are silently dropped.
Choose the MIME skeleton for an outgoing message: orphan inline images · case 02
Inline images of a message without an HTML body are silently dropped.
Choose the MIME skeleton for an outgoing message: orphan inline images · case 03
Inline images of a message without an HTML body are silently dropped.
Choose the MIME skeleton for an outgoing message: orphan inline images · case 04
Inline images of a message without an HTML body are silently dropped.
Choose the MIME skeleton for an outgoing message: orphan inline images · case 05
Inline images of a message without an HTML body are silently dropped.
Choose the MIME skeleton for an outgoing message: alternative order · case 01
The plain-text alternative is placed after the HTML one, so clients prefer plain text.
Choose the MIME skeleton for an outgoing message: alternative order · case 02
The plain-text alternative is placed after the HTML one, so clients prefer plain text.
Choose the MIME skeleton for an outgoing message: alternative order · case 03
The plain-text alternative is placed after the HTML one, so clients prefer plain text.
Choose the MIME skeleton for an outgoing message: alternative order · case 04
The plain-text alternative is placed after the HTML one, so clients prefer plain text.
Choose the MIME skeleton for an outgoing message: alternative order · case 05
The plain-text alternative is placed after the HTML one, so clients prefer plain text.
Choose the MIME skeleton for an outgoing message: mixed only for attachments · case 01
Messages with inline images but no attachments get an unnecessary multipart/mixed wrapper.
Choose the MIME skeleton for an outgoing message: mixed only for attachments · case 02
Messages with inline images but no attachments get an unnecessary multipart/mixed wrapper.
Choose the MIME skeleton for an outgoing message: mixed only for attachments · case 03
Messages with inline images but no attachments get an unnecessary multipart/mixed wrapper.
Choose the MIME skeleton for an outgoing message: mixed only for attachments · case 04
Messages with inline images but no attachments get an unnecessary multipart/mixed wrapper.
Choose the MIME skeleton for an outgoing message: mixed only for attachments · case 05
Messages with inline images but no attachments get an unnecessary multipart/mixed wrapper.
Choose the MIME skeleton for an outgoing message: related root first · case 01
The HTML root is placed after the images inside multipart/related.
Choose the MIME skeleton for an outgoing message: related root first · case 02
The HTML root is placed after the images inside multipart/related.
Choose the MIME skeleton for an outgoing message: related root first · case 03
The HTML root is placed after the images inside multipart/related.
Choose the MIME skeleton for an outgoing message: related root first · case 04
The HTML root is placed after the images inside multipart/related.
Choose the MIME skeleton for an outgoing message: related root first · case 05
The HTML root is placed after the images inside multipart/related.
Choose the MIME skeleton for an outgoing message: body before attachments · case 01
Attachments precede the body in multipart/mixed, so clients show an attachment as the message.
Choose the MIME skeleton for an outgoing message: body before attachments · case 02
Attachments precede the body in multipart/mixed, so clients show an attachment as the message.
Choose the MIME skeleton for an outgoing message: body before attachments · case 03
Attachments precede the body in multipart/mixed, so clients show an attachment as the message.
Choose the MIME skeleton for an outgoing message: body before attachments · case 04
Attachments precede the body in multipart/mixed, so clients show an attachment as the message.
Choose the MIME skeleton for an outgoing message: body before attachments · case 05
Attachments precede the body in multipart/mixed, so clients show an attachment as the message.
Assemble the structure of a forwarded message: prefix detection · case 01
An existing "FWD:" prefix is not recognised, so forwarded subjects accumulate prefixes.
Assemble the structure of a forwarded message: prefix detection · case 02
An existing "FWD:" prefix is not recognised, so forwarded subjects accumulate prefixes.
Assemble the structure of a forwarded message: prefix detection · case 03
An existing "FWD:" prefix is not recognised, so forwarded subjects accumulate prefixes.
Assemble the structure of a forwarded message: prefix detection · case 04
An existing "FWD:" prefix is not recognised, so forwarded subjects accumulate prefixes.
Assemble the structure of a forwarded message: prefix detection · case 05
An existing "FWD:" prefix is not recognised, so forwarded subjects accumulate prefixes.
Assemble the structure of a forwarded message: attach mode no duplicates · case 01
Forwarding as an attachment also copies the original attachments beside the attached message, duplicating them.
Assemble the structure of a forwarded message: attach mode no duplicates · case 02
Forwarding as an attachment also copies the original attachments beside the attached message, duplicating them.
Assemble the structure of a forwarded message: attach mode no duplicates · case 03
Forwarding as an attachment also copies the original attachments beside the attached message, duplicating them.
Assemble the structure of a forwarded message: attach mode no duplicates · case 04
Forwarding as an attachment also copies the original attachments beside the attached message, duplicating them.
Assemble the structure of a forwarded message: attach mode no duplicates · case 05
Forwarding as an attachment also copies the original attachments beside the attached message, duplicating them.
Assemble the structure of a forwarded message: inline images need html · case 01
Inline images of the original become attachments of a plain-text forward.
Assemble the structure of a forwarded message: inline images need html · case 02
Inline images of the original become attachments of a plain-text forward.
Assemble the structure of a forwarded message: inline images need html · case 03
Inline images of the original become attachments of a plain-text forward.
Assemble the structure of a forwarded message: inline images need html · case 04
Inline images of the original become attachments of a plain-text forward.
Assemble the structure of a forwarded message: inline images need html · case 05
Inline images of the original become attachments of a plain-text forward.
Assemble the structure of a forwarded message: attachment order · case 01
Forwarded attachments are reordered alphabetically.
Assemble the structure of a forwarded message: attachment order · case 02
Forwarded attachments are reordered alphabetically.
Assemble the structure of a forwarded message: attachment order · case 03
Forwarded attachments are reordered alphabetically.
Assemble the structure of a forwarded message: attachment order · case 04
Forwarded attachments are reordered alphabetically.
Assemble the structure of a forwarded message: attachment order · case 05
Forwarded attachments are reordered alphabetically.
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 ↗