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
Classify recipients of a delivery status report: action normalization · case 01
A capitalised or padded action field is classified as unknown.
Classify recipients of a delivery status report: action normalization · case 02
A capitalised or padded action field is classified as unknown.
Classify recipients of a delivery status report: action normalization · case 03
A capitalised or padded action field is classified as unknown.
Classify recipients of a delivery status report: action normalization · case 04
A capitalised or padded action field is classified as unknown.
Classify recipients of a delivery status report: action normalization · case 05
A capitalised or padded action field is classified as unknown.
Classify recipients of a delivery status report: original part types · case 01
Reports that return only the original headers are treated as having no original.
Classify recipients of a delivery status report: original part types · case 02
Reports that return only the original headers are treated as having no original.
Classify recipients of a delivery status report: original part types · case 03
Reports that return only the original headers are treated as having no original.
Classify recipients of a delivery status report: original part types · case 04
Reports that return only the original headers are treated as having no original.
Classify recipients of a delivery status report: original part types · case 05
Reports that return only the original headers are treated as having no original.
Classify recipients of a delivery status report: successful actions · case 01
Relayed or expanded recipients are reported with an unknown outcome.
Classify recipients of a delivery status report: successful actions · case 02
Relayed or expanded recipients are reported with an unknown outcome.
Classify recipients of a delivery status report: successful actions · case 03
Relayed or expanded recipients are reported with an unknown outcome.
Classify recipients of a delivery status report: successful actions · case 04
Relayed or expanded recipients are reported with an unknown outcome.
Classify recipients of a delivery status report: successful actions · case 05
Relayed or expanded recipients are reported with an unknown outcome.
Reassemble message/partial fragments: first fragment wins · case 01
A retransmitted fragment replaces the one already received, corrupting the reassembled message.
Reassemble message/partial fragments: first fragment wins · case 02
A retransmitted fragment replaces the one already received, corrupting the reassembled message.
Reassemble message/partial fragments: first fragment wins · case 03
A retransmitted fragment replaces the one already received, corrupting the reassembled message.
Reassemble message/partial fragments: first fragment wins · case 04
A retransmitted fragment replaces the one already received, corrupting the reassembled message.
Reassemble message/partial fragments: first fragment wins · case 05
A retransmitted fragment replaces the one already received, corrupting the reassembled message.
Reassemble message/partial fragments: unknown total · case 01
A message is declared complete before the fragment carrying the total has arrived.
Reassemble message/partial fragments: unknown total · case 02
A message is declared complete before the fragment carrying the total has arrived.
Reassemble message/partial fragments: unknown total · case 03
A message is declared complete before the fragment carrying the total has arrived.
Reassemble message/partial fragments: unknown total · case 04
A message is declared complete before the fragment carrying the total has arrived.
Reassemble message/partial fragments: unknown total · case 05
A message is declared complete before the fragment carrying the total has arrived.
Reassemble message/partial fragments: total agreement · case 01
Fragments that repeat the same total are reported as conflicting.
Reassemble message/partial fragments: total agreement · case 02
Fragments that repeat the same total are reported as conflicting.
Reassemble message/partial fragments: total agreement · case 03
Fragments that repeat the same total are reported as conflicting.
Reassemble message/partial fragments: total agreement · case 04
Fragments that repeat the same total are reported as conflicting.
Reassemble message/partial fragments: total agreement · case 05
Fragments that repeat the same total are reported as conflicting.
Reassemble message/partial fragments: number order · case 01
Fragments are joined in arrival order instead of by number.
Reassemble message/partial fragments: number order · case 02
Fragments are joined in arrival order instead of by number.
Reassemble message/partial fragments: number order · case 03
Fragments are joined in arrival order instead of by number.
Reassemble message/partial fragments: number order · case 04
Fragments are joined in arrival order instead of by number.
Reassemble message/partial fragments: number order · case 05
Fragments are joined in arrival order instead of by number.
Reassemble message/partial fragments: one based numbers · case 01
Complete messages are never recognised because fragment 0 is required.
Reassemble message/partial fragments: one based numbers · case 02
Complete messages are never recognised because fragment 0 is required.
Reassemble message/partial fragments: one based numbers · case 03
Complete messages are never recognised because fragment 0 is required.
Reassemble message/partial fragments: one based numbers · case 04
Complete messages are never recognised because fragment 0 is required.
Reassemble message/partial fragments: one based numbers · case 05
Complete messages are never recognised because fragment 0 is required.
Detect a calendar invitation inside a message: no descent into messages · case 01
An invitation inside a forwarded message is offered to the reader as if it were addressed to them.
Detect a calendar invitation inside a message: no descent into messages · case 02
An invitation inside a forwarded message is offered to the reader as if it were addressed to them.
Detect a calendar invitation inside a message: no descent into messages · case 03
An invitation inside a forwarded message is offered to the reader as if it were addressed to them.
Detect a calendar invitation inside a message: no descent into messages · case 04
An invitation inside a forwarded message is offered to the reader as if it were addressed to them.
Detect a calendar invitation inside a message: no descent into messages · case 05
An invitation inside a forwarded message is offered to the reader as if it were addressed to them.
Detect a calendar invitation inside a message: attached calendar · case 01
An attached calendar file is treated as a live invitation.
Detect a calendar invitation inside a message: attached calendar · case 02
An attached calendar file is treated as a live invitation.
Detect a calendar invitation inside a message: attached calendar · case 03
An attached calendar file is treated as a live invitation.
Detect a calendar invitation inside a message: attached calendar · case 04
An attached calendar file is treated as a live invitation.
Detect a calendar invitation inside a message: attached calendar · case 05
An attached calendar file is treated as a live invitation.
Detect a calendar invitation inside a message: method normalization · case 01
Methods written in lower case or padded are not recognised as the same method.
Detect a calendar invitation inside a message: method normalization · case 02
Methods written in lower case or padded are not recognised as the same method.
Detect a calendar invitation inside a message: method normalization · case 03
Methods written in lower case or padded are not recognised as the same method.
Detect a calendar invitation inside a message: method normalization · case 04
Methods written in lower case or padded are not recognised as the same method.
Detect a calendar invitation inside a message: method normalization · case 05
Methods written in lower case or padded are not recognised as the same method.
Detect a calendar invitation inside a message: ambiguity · case 01
Conflicting REQUEST and CANCEL parts are resolved silently to one of them.
Detect a calendar invitation inside a message: ambiguity · case 02
Conflicting REQUEST and CANCEL parts are resolved silently to one of them.
Detect a calendar invitation inside a message: ambiguity · case 03
Conflicting REQUEST and CANCEL parts are resolved silently to one of them.
Detect a calendar invitation inside a message: ambiguity · case 04
Conflicting REQUEST and CANCEL parts are resolved silently to one of them.
Detect a calendar invitation inside a message: ambiguity · case 05
Conflicting REQUEST and CANCEL parts are resolved silently to one of them.
Detect a calendar invitation inside a message: ics extension · case 01
An .ics attachment sent as application/octet-stream is not counted.
Detect a calendar invitation inside a message: ics extension · case 02
An .ics attachment sent as application/octet-stream is not counted.
Detect a calendar invitation inside a message: ics extension · case 03
An .ics attachment sent as application/octet-stream is not counted.
Detect a calendar invitation inside a message: ics extension · case 04
An .ics attachment sent as application/octet-stream is not counted.
Detect a calendar invitation inside a message: ics extension · case 05
An .ics attachment sent as application/octet-stream is not counted.
Choose non-colliding boundaries for nested multiparts: descendant scope · case 01
A boundary string that occurs inside a nested part is chosen for the outer multipart.
Choose non-colliding boundaries for nested multiparts: descendant scope · case 02
A boundary string that occurs inside a nested part is chosen for the outer multipart.
Choose non-colliding boundaries for nested multiparts: descendant scope · case 03
A boundary string that occurs inside a nested part is chosen for the outer multipart.
Choose non-colliding boundaries for nested multiparts: descendant scope · case 04
A boundary string that occurs inside a nested part is chosen for the outer multipart.
Choose non-colliding boundaries for nested multiparts: descendant scope · case 05
A boundary string that occurs inside a nested part is chosen for the outer multipart.
Choose non-colliding boundaries for nested multiparts: ancestor prefix · case 01
A nested boundary such as b_10 extends the outer boundary b_1, so the outer delimiter matches inside the inner one.
Choose non-colliding boundaries for nested multiparts: ancestor prefix · case 02
A nested boundary such as b_10 extends the outer boundary b_1, so the outer delimiter matches inside the inner one.
Choose non-colliding boundaries for nested multiparts: ancestor prefix · case 03
A nested boundary such as b_10 extends the outer boundary b_1, so the outer delimiter matches inside the inner one.
Choose non-colliding boundaries for nested multiparts: ancestor prefix · case 04
A nested boundary such as b_10 extends the outer boundary b_1, so the outer delimiter matches inside the inner one.
Choose non-colliding boundaries for nested multiparts: ancestor prefix · case 05
A nested boundary such as b_10 extends the outer boundary b_1, so the outer delimiter matches inside the inner one.
Choose non-colliding boundaries for nested multiparts: length limit · case 01
Boundaries longer than the 70-character limit are generated.
Choose non-colliding boundaries for nested multiparts: length limit · case 02
Boundaries longer than the 70-character limit are generated.
Choose non-colliding boundaries for nested multiparts: length limit · case 03
Boundaries longer than the 70-character limit are generated.
Choose non-colliding boundaries for nested multiparts: length limit · case 04
Boundaries longer than the 70-character limit are generated.
Choose non-colliding boundaries for nested multiparts: length limit · case 05
Boundaries longer than the 70-character limit are generated.
Inject a mailing-list footer without breaking the message: encoded body wrap · case 01
A footer is appended as plain text to a base64-encoded body, corrupting its last block.
Inject a mailing-list footer without breaking the message: encoded body wrap · case 02
A footer is appended as plain text to a base64-encoded body, corrupting its last block.
Inject a mailing-list footer without breaking the message: encoded body wrap · case 03
A footer is appended as plain text to a base64-encoded body, corrupting its last block.
Inject a mailing-list footer without breaking the message: encoded body wrap · case 04
A footer is appended as plain text to a base64-encoded body, corrupting its last block.
Inject a mailing-list footer without breaking the message: encoded body wrap · case 05
A footer is appended as plain text to a base64-encoded body, corrupting its last block.
Inject a mailing-list footer without breaking the message: only mixed is extended · case 01
Signed or encrypted containers get an extra part inserted, invalidating their structure.
Inject a mailing-list footer without breaking the message: only mixed is extended · case 02
Signed or encrypted containers get an extra part inserted, invalidating their structure.
Inject a mailing-list footer without breaking the message: only mixed is extended · case 03
Signed or encrypted containers get an extra part inserted, invalidating their structure.
Inject a mailing-list footer without breaking the message: only mixed is extended · case 04
Signed or encrypted containers get an extra part inserted, invalidating their structure.
Inject a mailing-list footer without breaking the message: only mixed is extended · case 05
Signed or encrypted containers get an extra part inserted, invalidating their structure.
Inject a mailing-list footer without breaking the message: plain text only · case 01
Plain-text footers are appended inside HTML bodies.
Inject a mailing-list footer without breaking the message: plain text only · case 02
Plain-text footers are appended inside HTML bodies.
Inject a mailing-list footer without breaking the message: plain text only · case 03
Plain-text footers are appended inside HTML bodies.
Inject a mailing-list footer without breaking the message: plain text only · case 04
Plain-text footers are appended inside HTML bodies.
Inject a mailing-list footer without breaking the message: plain text only · case 05
Plain-text footers are appended inside HTML bodies.
Strip blocked attachments under a content policy: last extension · case 01
invoice.pdf.exe is judged by its first extension and passes the policy.
Strip blocked attachments under a content policy: last extension · case 02
invoice.pdf.exe is judged by its first extension and passes the policy.
Strip blocked attachments under a content policy: last extension · case 03
invoice.pdf.exe is judged by its first extension and passes the policy.
Strip blocked attachments under a content policy: last extension · case 04
invoice.pdf.exe is judged by its first extension and passes the policy.
Strip blocked attachments under a content policy: last extension · case 05
invoice.pdf.exe is judged by its first extension and passes the policy.
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 ↗