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
Batch outgoing read receipts per conversation: highest per conversation · case 01
The last scroll event wins, so a lower receipt is sent after a higher one was generated.
Batch outgoing read receipts per conversation: highest per conversation · case 02
The last scroll event wins, so a lower receipt is sent after a higher one was generated.
Batch outgoing read receipts per conversation: highest per conversation · case 03
The last scroll event wins, so a lower receipt is sent after a higher one was generated.
Batch outgoing read receipts per conversation: highest per conversation · case 04
The last scroll event wins, so a lower receipt is sent after a higher one was generated.
Batch outgoing read receipts per conversation: highest per conversation · case 05
The last scroll event wins, so a lower receipt is sent after a higher one was generated.
Batch outgoing read receipts per conversation: advance only · case 01
Receipts at or below the marker already sent are transmitted again.
Batch outgoing read receipts per conversation: advance only · case 02
Receipts at or below the marker already sent are transmitted again.
Batch outgoing read receipts per conversation: advance only · case 03
Receipts at or below the marker already sent are transmitted again.
Batch outgoing read receipts per conversation: advance only · case 04
Receipts at or below the marker already sent are transmitted again.
Batch outgoing read receipts per conversation: advance only · case 05
Receipts at or below the marker already sent are transmitted again.
Batch outgoing read receipts per conversation: missing marker default · case 01
A conversation that never sent a receipt suppresses the receipt for its seq-zero message.
Batch outgoing read receipts per conversation: missing marker default · case 02
A conversation that never sent a receipt suppresses the receipt for its seq-zero message.
Batch outgoing read receipts per conversation: missing marker default · case 03
A conversation that never sent a receipt suppresses the receipt for its seq-zero message.
Batch outgoing read receipts per conversation: missing marker default · case 04
A conversation that never sent a receipt suppresses the receipt for its seq-zero message.
Batch outgoing read receipts per conversation: missing marker default · case 05
A conversation that never sent a receipt suppresses the receipt for its seq-zero message.
Batch outgoing read receipts per conversation: background defer · case 01
Receipts are sent while the app is in the background, exposing activity the user has not seen.
Batch outgoing read receipts per conversation: background defer · case 02
Receipts are sent while the app is in the background, exposing activity the user has not seen.
Batch outgoing read receipts per conversation: background defer · case 03
Receipts are sent while the app is in the background, exposing activity the user has not seen.
Batch outgoing read receipts per conversation: background defer · case 04
Receipts are sent while the app is in the background, exposing activity the user has not seen.
Batch outgoing read receipts per conversation: background defer · case 05
Receipts are sent while the app is in the background, exposing activity the user has not seen.
Place "seen by" avatars under the latest read message: bisect side · case 01
A reader whose marker sits exactly on a message is shown under the previous message.
Place "seen by" avatars under the latest read message: bisect side · case 02
A reader whose marker sits exactly on a message is shown under the previous message.
Place "seen by" avatars under the latest read message: bisect side · case 03
A reader whose marker sits exactly on a message is shown under the previous message.
Place "seen by" avatars under the latest read message: bisect side · case 04
A reader whose marker sits exactly on a message is shown under the previous message.
Place "seen by" avatars under the latest read message: bisect side · case 05
A reader whose marker sits exactly on a message is shown under the previous message.
Place "seen by" avatars under the latest read message: before window · case 01
A reader who has not reached the loaded window is shown under the newest message.
Place "seen by" avatars under the latest read message: before window · case 02
A reader who has not reached the loaded window is shown under the newest message.
Place "seen by" avatars under the latest read message: before window · case 03
A reader who has not reached the loaded window is shown under the newest message.
Place "seen by" avatars under the latest read message: before window · case 04
A reader who has not reached the loaded window is shown under the newest message.
Place "seen by" avatars under the latest read message: before window · case 05
A reader who has not reached the loaded window is shown under the newest message.
Place "seen by" avatars under the latest read message: avatar order · case 01
Avatars under a message are sorted by user id instead of most recent reader first.
Place "seen by" avatars under the latest read message: avatar order · case 02
Avatars under a message are sorted by user id instead of most recent reader first.
Place "seen by" avatars under the latest read message: avatar order · case 03
Avatars under a message are sorted by user id instead of most recent reader first.
Place "seen by" avatars under the latest read message: avatar order · case 04
Avatars under a message are sorted by user id instead of most recent reader first.
Place "seen by" avatars under the latest read message: avatar order · case 05
Avatars under a message are sorted by user id instead of most recent reader first.
Summarize a thread root's replies: root exclusion · case 01
The root message is counted as one of its own replies.
Summarize a thread root's replies: root exclusion · case 02
The root message is counted as one of its own replies.
Summarize a thread root's replies: root exclusion · case 03
The root message is counted as one of its own replies.
Summarize a thread root's replies: root exclusion · case 04
The root message is counted as one of its own replies.
Summarize a thread root's replies: root exclusion · case 05
The root message is counted as one of its own replies.
Summarize a thread root's replies: reply order · case 01
Faces and the newest-reply pointer follow author names instead of reply order.
Summarize a thread root's replies: reply order · case 02
Faces and the newest-reply pointer follow author names instead of reply order.
Summarize a thread root's replies: reply order · case 03
Faces and the newest-reply pointer follow author names instead of reply order.
Summarize a thread root's replies: reply order · case 04
Faces and the newest-reply pointer follow author names instead of reply order.
Summarize a thread root's replies: reply order · case 05
Faces and the newest-reply pointer follow author names instead of reply order.
Summarize a thread root's replies: overflow count · case 01
Threads with fewer than three participants report a negative "+N more".
Summarize a thread root's replies: overflow count · case 02
Threads with fewer than three participants report a negative "+N more".
Summarize a thread root's replies: overflow count · case 03
Threads with fewer than three participants report a negative "+N more".
Summarize a thread root's replies: overflow count · case 04
Threads with fewer than three participants report a negative "+N more".
Summarize a thread root's replies: overflow count · case 05
Threads with fewer than three participants report a negative "+N more".
Summarize a thread root's replies: latest reply · case 01
The latest-reply pointer targets a deleted reply.
Summarize a thread root's replies: latest reply · case 02
The latest-reply pointer targets a deleted reply.
Summarize a thread root's replies: latest reply · case 03
The latest-reply pointer targets a deleted reply.
Summarize a thread root's replies: latest reply · case 04
The latest-reply pointer targets a deleted reply.
Summarize a thread root's replies: latest reply · case 05
The latest-reply pointer targets a deleted reply.
Summarize a thread root's replies: distinct authors · case 01
Authors who reply repeatedly in alternation appear several times among the faces.
Summarize a thread root's replies: distinct authors · case 02
Authors who reply repeatedly in alternation appear several times among the faces.
Summarize a thread root's replies: distinct authors · case 03
Authors who reply repeatedly in alternation appear several times among the faces.
Summarize a thread root's replies: distinct authors · case 04
Authors who reply repeatedly in alternation appear several times among the faces.
Summarize a thread root's replies: distinct authors · case 05
Authors who reply repeatedly in alternation appear several times among the faces.
Assign idempotent per-conversation sequence numbers: idempotency scope · case 01
A second sender, or the same sender in another conversation, who happens to reuse a nonce gets the other message's seq.
Assign idempotent per-conversation sequence numbers: idempotency scope · case 02
A second sender, or the same sender in another conversation, who happens to reuse a nonce gets the other message's seq.
Assign idempotent per-conversation sequence numbers: idempotency scope · case 03
A second sender, or the same sender in another conversation, who happens to reuse a nonce gets the other message's seq.
Assign idempotent per-conversation sequence numbers: idempotency scope · case 04
A second sender, or the same sender in another conversation, who happens to reuse a nonce gets the other message's seq.
Assign idempotent per-conversation sequence numbers: idempotency scope · case 05
A second sender, or the same sender in another conversation, who happens to reuse a nonce gets the other message's seq.
Assign idempotent per-conversation sequence numbers: per conversation counter · case 01
Conversations share one global counter, leaving gaps in every conversation's sequence.
Assign idempotent per-conversation sequence numbers: per conversation counter · case 02
Conversations share one global counter, leaving gaps in every conversation's sequence.
Assign idempotent per-conversation sequence numbers: per conversation counter · case 03
Conversations share one global counter, leaving gaps in every conversation's sequence.
Assign idempotent per-conversation sequence numbers: per conversation counter · case 04
Conversations share one global counter, leaving gaps in every conversation's sequence.
Assign idempotent per-conversation sequence numbers: per conversation counter · case 05
Conversations share one global counter, leaving gaps in every conversation's sequence.
Assign idempotent per-conversation sequence numbers: first sequence · case 01
The first message of a conversation receives seq 0 instead of 1.
Assign idempotent per-conversation sequence numbers: first sequence · case 02
The first message of a conversation receives seq 0 instead of 1.
Assign idempotent per-conversation sequence numbers: first sequence · case 03
The first message of a conversation receives seq 0 instead of 1.
Assign idempotent per-conversation sequence numbers: first sequence · case 04
The first message of a conversation receives seq 0 instead of 1.
Assign idempotent per-conversation sequence numbers: first sequence · case 05
The first message of a conversation receives seq 0 instead of 1.
Assign idempotent per-conversation sequence numbers: retry returns original · case 01
A retried send is told it received the newest seq of the conversation instead of its own.
Assign idempotent per-conversation sequence numbers: retry returns original · case 02
A retried send is told it received the newest seq of the conversation instead of its own.
Assign idempotent per-conversation sequence numbers: retry returns original · case 03
A retried send is told it received the newest seq of the conversation instead of its own.
Assign idempotent per-conversation sequence numbers: retry returns original · case 04
A retried send is told it received the newest seq of the conversation instead of its own.
Assign idempotent per-conversation sequence numbers: retry returns original · case 05
A retried send is told it received the newest seq of the conversation instead of its own.
Order the conversation list by pins and activity: silent events · case 01
A conversation jumps to the top because someone changed its avatar or topic.
Order the conversation list by pins and activity: silent events · case 02
A conversation jumps to the top because someone changed its avatar or topic.
Order the conversation list by pins and activity: silent events · case 03
A conversation jumps to the top because someone changed its avatar or topic.
Order the conversation list by pins and activity: silent events · case 04
A conversation jumps to the top because someone changed its avatar or topic.
Order the conversation list by pins and activity: silent events · case 05
A conversation jumps to the top because someone changed its avatar or topic.
Order the conversation list by pins and activity: pin rank zero · case 01
The conversation pinned at rank 0 disappears from the list.
Order the conversation list by pins and activity: pin rank zero · case 02
The conversation pinned at rank 0 disappears from the list.
Order the conversation list by pins and activity: pin rank zero · case 03
The conversation pinned at rank 0 disappears from the list.
Order the conversation list by pins and activity: pin rank zero · case 04
The conversation pinned at rank 0 disappears from the list.
Order the conversation list by pins and activity: pin rank zero · case 05
The conversation pinned at rank 0 disappears from the list.
Order the conversation list by pins and activity: activity descending · case 01
The least active conversations are listed first, or ties follow input order.
Order the conversation list by pins and activity: activity descending · case 02
The least active conversations are listed first, or ties follow input order.
Order the conversation list by pins and activity: activity descending · case 03
The least active conversations are listed first, or ties follow input order.
Order the conversation list by pins and activity: activity descending · case 04
The least active conversations are listed first, or ties follow input order.
Order the conversation list by pins and activity: activity descending · case 05
The least active conversations are listed first, or ties follow input order.
Order the conversation list by pins and activity: pinned order · case 01
Pinned conversations reshuffle by activity instead of keeping the user's pin order.
Order the conversation list by pins and activity: pinned order · case 02
Pinned conversations reshuffle by activity instead of keeping the user's pin order.
Order the conversation list by pins and activity: pinned order · case 03
Pinned conversations reshuffle by activity instead of keeping the user's pin order.
Order the conversation list by pins and activity: pinned order · case 04
Pinned conversations reshuffle by activity instead of keeping the user's pin order.
Order the conversation list by pins and activity: pinned order · case 05
Pinned conversations reshuffle by activity instead of keeping the user's pin order.
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 ↗