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
Resolve a part's effective content type and charset: type normalization · case 01
A mixed-case type such as Text/HTML is not recognised as text.
Resolve a part's effective content type and charset: type normalization · case 02
A mixed-case type such as Text/HTML is not recognised as text.
Resolve a part's effective content type and charset: type normalization · case 03
A mixed-case type such as Text/HTML is not recognised as text.
Resolve a part's effective content type and charset: type normalization · case 04
A mixed-case type such as Text/HTML is not recognised as text.
Resolve a part's effective content type and charset: type normalization · case 05
A mixed-case type such as Text/HTML is not recognised as text.
Classify leaf parts as body, inline or attachment: explicit attachment first · case 01
An image the sender explicitly attached disappears into the body because the HTML happens to reference it.
Classify leaf parts as body, inline or attachment: explicit attachment first · case 02
An image the sender explicitly attached disappears into the body because the HTML happens to reference it.
Classify leaf parts as body, inline or attachment: explicit attachment first · case 03
An image the sender explicitly attached disappears into the body because the HTML happens to reference it.
Classify leaf parts as body, inline or attachment: explicit attachment first · case 04
An image the sender explicitly attached disappears into the body because the HTML happens to reference it.
Classify leaf parts as body, inline or attachment: explicit attachment first · case 05
An image the sender explicitly attached disappears into the body because the HTML happens to reference it.
Classify leaf parts as body, inline or attachment: disposition case · case 01
A part marked "ATTACHMENT" is rendered as the message body.
Classify leaf parts as body, inline or attachment: disposition case · case 02
A part marked "ATTACHMENT" is rendered as the message body.
Classify leaf parts as body, inline or attachment: disposition case · case 03
A part marked "ATTACHMENT" is rendered as the message body.
Classify leaf parts as body, inline or attachment: disposition case · case 04
A part marked "ATTACHMENT" is rendered as the message body.
Classify leaf parts as body, inline or attachment: disposition case · case 05
A part marked "ATTACHMENT" is rendered as the message body.
Classify leaf parts as body, inline or attachment: single body · case 01
A second text part is rendered as another body instead of being offered as an attachment.
Classify leaf parts as body, inline or attachment: single body · case 02
A second text part is rendered as another body instead of being offered as an attachment.
Classify leaf parts as body, inline or attachment: single body · case 03
A second text part is rendered as another body instead of being offered as an attachment.
Classify leaf parts as body, inline or attachment: single body · case 04
A second text part is rendered as another body instead of being offered as an attachment.
Classify leaf parts as body, inline or attachment: single body · case 05
A second text part is rendered as another body instead of being offered as an attachment.
Classify leaf parts as body, inline or attachment: named text is attachment · case 01
A named text file such as notes.txt is shown as the message body.
Classify leaf parts as body, inline or attachment: named text is attachment · case 02
A named text file such as notes.txt is shown as the message body.
Classify leaf parts as body, inline or attachment: named text is attachment · case 03
A named text file such as notes.txt is shown as the message body.
Classify leaf parts as body, inline or attachment: named text is attachment · case 04
A named text file such as notes.txt is shown as the message body.
Classify leaf parts as body, inline or attachment: named text is attachment · case 05
A named text file such as notes.txt is shown as the message body.
Classify leaf parts as body, inline or attachment: inline images only · case 01
Inline PDFs or audio are placed in the body where the viewer cannot render them.
Classify leaf parts as body, inline or attachment: inline images only · case 02
Inline PDFs or audio are placed in the body where the viewer cannot render them.
Classify leaf parts as body, inline or attachment: inline images only · case 03
Inline PDFs or audio are placed in the body where the viewer cannot render them.
Classify leaf parts as body, inline or attachment: inline images only · case 04
Inline PDFs or audio are placed in the body where the viewer cannot render them.
Classify leaf parts as body, inline or attachment: inline images only · case 05
Inline PDFs or audio are placed in the body where the viewer cannot render them.
Classify leaf parts as body, inline or attachment: exact cid reference · case 01
Every part carrying a Content-ID is hidden inline even when the HTML never references it.
Classify leaf parts as body, inline or attachment: exact cid reference · case 02
Every part carrying a Content-ID is hidden inline even when the HTML never references it.
Classify leaf parts as body, inline or attachment: exact cid reference · case 03
Every part carrying a Content-ID is hidden inline even when the HTML never references it.
Classify leaf parts as body, inline or attachment: exact cid reference · case 04
Every part carrying a Content-ID is hidden inline even when the HTML never references it.
Classify leaf parts as body, inline or attachment: exact cid reference · case 05
Every part carrying a Content-ID is hidden inline even when the HTML never references it.
Resolve and de-duplicate attachment file names: name precedence · case 01
The ASCII fallback filename replaces the properly decoded extended filename.
Resolve and de-duplicate attachment file names: name precedence · case 02
The ASCII fallback filename replaces the properly decoded extended filename.
Resolve and de-duplicate attachment file names: name precedence · case 03
The ASCII fallback filename replaces the properly decoded extended filename.
Resolve and de-duplicate attachment file names: name precedence · case 04
The ASCII fallback filename replaces the properly decoded extended filename.
Resolve and de-duplicate attachment file names: name precedence · case 05
The ASCII fallback filename replaces the properly decoded extended filename.
Resolve and de-duplicate attachment file names: backslash separators · case 01
A Windows path sent as the filename is kept whole, directory names included.
Resolve and de-duplicate attachment file names: backslash separators · case 02
A Windows path sent as the filename is kept whole, directory names included.
Resolve and de-duplicate attachment file names: backslash separators · case 03
A Windows path sent as the filename is kept whole, directory names included.
Resolve and de-duplicate attachment file names: backslash separators · case 04
A Windows path sent as the filename is kept whole, directory names included.
Resolve and de-duplicate attachment file names: backslash separators · case 05
A Windows path sent as the filename is kept whole, directory names included.
Resolve and de-duplicate attachment file names: dot name rejection · case 01
A filename of ".." or "." is accepted and later resolves to a directory.
Resolve and de-duplicate attachment file names: dot name rejection · case 02
A filename of ".." or "." is accepted and later resolves to a directory.
Resolve and de-duplicate attachment file names: dot name rejection · case 03
A filename of ".." or "." is accepted and later resolves to a directory.
Resolve and de-duplicate attachment file names: dot name rejection · case 04
A filename of ".." or "." is accepted and later resolves to a directory.
Resolve and de-duplicate attachment file names: dot name rejection · case 05
A filename of ".." or "." is accepted and later resolves to a directory.
Resolve and de-duplicate attachment file names: case insensitive dedupe · case 01
Report.PDF and report.pdf are both saved under names that collide on case-insensitive file systems.
Resolve and de-duplicate attachment file names: case insensitive dedupe · case 02
Report.PDF and report.pdf are both saved under names that collide on case-insensitive file systems.
Resolve and de-duplicate attachment file names: case insensitive dedupe · case 03
Report.PDF and report.pdf are both saved under names that collide on case-insensitive file systems.
Resolve and de-duplicate attachment file names: case insensitive dedupe · case 04
Report.PDF and report.pdf are both saved under names that collide on case-insensitive file systems.
Resolve and de-duplicate attachment file names: case insensitive dedupe · case 05
Report.PDF and report.pdf are both saved under names that collide on case-insensitive file systems.
Resolve and de-duplicate attachment file names: last extension suffix · case 01
The copy counter is inserted before the first dot, splitting multi-part extensions differently from the contract.
Resolve and de-duplicate attachment file names: last extension suffix · case 02
The copy counter is inserted before the first dot, splitting multi-part extensions differently from the contract.
Resolve and de-duplicate attachment file names: last extension suffix · case 03
The copy counter is inserted before the first dot, splitting multi-part extensions differently from the contract.
Resolve and de-duplicate attachment file names: last extension suffix · case 04
The copy counter is inserted before the first dot, splitting multi-part extensions differently from the contract.
Resolve and de-duplicate attachment file names: last extension suffix · case 05
The copy counter is inserted before the first dot, splitting multi-part extensions differently from the contract.
Resolve and de-duplicate attachment file names: leading dot names · case 01
A dotfile copy becomes " (2).profile" instead of ".profile (2)".
Resolve and de-duplicate attachment file names: leading dot names · case 02
A dotfile copy becomes " (2).profile" instead of ".profile (2)".
Resolve and de-duplicate attachment file names: leading dot names · case 03
A dotfile copy becomes " (2).profile" instead of ".profile (2)".
Resolve and de-duplicate attachment file names: leading dot names · case 04
A dotfile copy becomes " (2).profile" instead of ".profile (2)".
Resolve and de-duplicate attachment file names: leading dot names · case 05
A dotfile copy becomes " (2).profile" instead of ".profile (2)".
Resolve cid: references inside multipart/related: id normalization · case 01
Content-IDs written with angle brackets never match the bare ids used in cid: URLs, so images are broken.
Resolve cid: references inside multipart/related: id normalization · case 02
Content-IDs written with angle brackets never match the bare ids used in cid: URLs, so images are broken.
Resolve cid: references inside multipart/related: id normalization · case 03
Content-IDs written with angle brackets never match the bare ids used in cid: URLs, so images are broken.
Resolve cid: references inside multipart/related: id normalization · case 04
Content-IDs written with angle brackets never match the bare ids used in cid: URLs, so images are broken.
Resolve cid: references inside multipart/related: id normalization · case 05
Content-IDs written with angle brackets never match the bare ids used in cid: URLs, so images are broken.
Resolve cid: references inside multipart/related: scheme case · case 01
References written as "CID:" are not recognised as content-id URLs.
Resolve cid: references inside multipart/related: scheme case · case 02
References written as "CID:" are not recognised as content-id URLs.
Resolve cid: references inside multipart/related: scheme case · case 03
References written as "CID:" are not recognised as content-id URLs.
Resolve cid: references inside multipart/related: scheme case · case 04
References written as "CID:" are not recognised as content-id URLs.
Resolve cid: references inside multipart/related: scheme case · case 05
References written as "CID:" are not recognised as content-id URLs.
Resolve cid: references inside multipart/related: percent decoding · case 01
A reference with percent-encoded characters never matches its part.
Resolve cid: references inside multipart/related: percent decoding · case 02
A reference with percent-encoded characters never matches its part.
Resolve cid: references inside multipart/related: percent decoding · case 03
A reference with percent-encoded characters never matches its part.
Resolve cid: references inside multipart/related: percent decoding · case 04
A reference with percent-encoded characters never matches its part.
Resolve cid: references inside multipart/related: percent decoding · case 05
A reference with percent-encoded characters never matches its part.
Resolve cid: references inside multipart/related: root exclusion · case 01
A document that references its own Content-ID embeds itself.
Resolve cid: references inside multipart/related: root exclusion · case 02
A document that references its own Content-ID embeds itself.
Resolve cid: references inside multipart/related: root exclusion · case 03
A document that references its own Content-ID embeds itself.
Resolve cid: references inside multipart/related: root exclusion · case 04
A document that references its own Content-ID embeds itself.
Resolve cid: references inside multipart/related: root exclusion · case 05
A document that references its own Content-ID embeds itself.
Resolve cid: references inside multipart/related: start presence · case 01
Without a start parameter, a part lacking a Content-ID is chosen as the root.
Resolve cid: references inside multipart/related: start presence · case 02
Without a start parameter, a part lacking a Content-ID is chosen as the root.
Resolve cid: references inside multipart/related: start presence · case 03
Without a start parameter, a part lacking a Content-ID is chosen as the root.
Resolve cid: references inside multipart/related: start presence · case 04
Without a start parameter, a part lacking a Content-ID is chosen as the root.
Resolve cid: references inside multipart/related: start presence · case 05
Without a start parameter, a part lacking a Content-ID is chosen as the root.
Resolve cid: references inside multipart/related: unused excludes root · case 01
The root document is reported as an unreferenced related part.
Resolve cid: references inside multipart/related: unused excludes root · case 02
The root document is reported as an unreferenced related part.
Resolve cid: references inside multipart/related: unused excludes root · case 03
The root document is reported as an unreferenced related part.
Resolve cid: references inside multipart/related: unused excludes root · case 04
The root document is reported as an unreferenced related part.
Resolve cid: references inside multipart/related: unused excludes root · case 05
The root document is reported as an unreferenced related part.
Validate Content-Transfer-Encoding across a MIME tree: default encoding · case 01
A container without an explicit encoding is not treated as 7bit, so 8bit content inside it passes validation.
Validate Content-Transfer-Encoding across a MIME tree: default encoding · case 02
A container without an explicit encoding is not treated as 7bit, so 8bit content inside it passes validation.
Validate Content-Transfer-Encoding across a MIME tree: default encoding · case 03
A container without an explicit encoding is not treated as 7bit, so 8bit content inside it passes validation.
Validate Content-Transfer-Encoding across a MIME tree: default encoding · case 04
A container without an explicit encoding is not treated as 7bit, so 8bit content inside it passes validation.
Validate Content-Transfer-Encoding across a MIME tree: default encoding · case 05
A container without an explicit encoding is not treated as 7bit, so 8bit content inside it passes validation.
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 ↗