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
Epoch-resettable counter: a newer epoch is merged into pre-reset slots · case 01
Increments made before a reset reappear after the reset propagates.
Epoch-resettable counter: a newer epoch is merged into pre-reset slots · case 02
Increments made before a reset reappear after the reset propagates.
Epoch-resettable counter: a newer epoch is merged into pre-reset slots · case 03
Increments made before a reset reappear after the reset propagates.
Epoch-resettable counter: a newer epoch is merged into pre-reset slots · case 04
Increments made before a reset reappear after the reset propagates.
Epoch-resettable counter: a newer epoch is merged into pre-reset slots · case 05
Increments made before a reset reappear after the reset propagates.
Epoch-resettable counter: an older epoch overwrites a newer one · case 01
A replica that has not seen a reset undoes it when it syncs.
Epoch-resettable counter: an older epoch overwrites a newer one · case 02
A replica that has not seen a reset undoes it when it syncs.
Epoch-resettable counter: an older epoch overwrites a newer one · case 03
A replica that has not seen a reset undoes it when it syncs.
Epoch-resettable counter: an older epoch overwrites a newer one · case 04
A replica that has not seen a reset undoes it when it syncs.
Epoch-resettable counter: an older epoch overwrites a newer one · case 05
A replica that has not seen a reset undoes it when it syncs.
Epoch-resettable counter: every reset reuses epoch one · case 01
A second reset is lost because it does not open a newer epoch than the first.
Epoch-resettable counter: every reset reuses epoch one · case 02
A second reset is lost because it does not open a newer epoch than the first.
Epoch-resettable counter: every reset reuses epoch one · case 03
A second reset is lost because it does not open a newer epoch than the first.
Epoch-resettable counter: every reset reuses epoch one · case 04
A second reset is lost because it does not open a newer epoch than the first.
Epoch-resettable counter: every reset reuses epoch one · case 05
A second reset is lost because it does not open a newer epoch than the first.
Epoch-resettable counter: reset clears only the local slot · case 01
Counts learned from peers survive a reset and are carried into the new epoch.
Epoch-resettable counter: reset clears only the local slot · case 02
Counts learned from peers survive a reset and are carried into the new epoch.
Epoch-resettable counter: reset clears only the local slot · case 03
Counts learned from peers survive a reset and are carried into the new epoch.
Epoch-resettable counter: reset clears only the local slot · case 04
Counts learned from peers survive a reset and are carried into the new epoch.
Epoch-resettable counter: reset clears only the local slot · case 05
Counts learned from peers survive a reset and are carried into the new epoch.
Tombstone garbage collection by causal stability: one acknowledgement suffices to purge · case 01
Tombstones are purged while some replicas have not yet seen the deletion, so those replicas later resurrect the element.
Tombstone garbage collection by causal stability: one acknowledgement suffices to purge · case 02
Tombstones are purged while some replicas have not yet seen the deletion, so those replicas later resurrect the element.
Tombstone garbage collection by causal stability: one acknowledgement suffices to purge · case 03
Tombstones are purged while some replicas have not yet seen the deletion, so those replicas later resurrect the element.
Tombstone garbage collection by causal stability: one acknowledgement suffices to purge · case 04
Tombstones are purged while some replicas have not yet seen the deletion, so those replicas later resurrect the element.
Tombstone garbage collection by causal stability: one acknowledgement suffices to purge · case 05
Tombstones are purged while some replicas have not yet seen the deletion, so those replicas later resurrect the element.
Tombstone garbage collection by causal stability: silent members do not block purging · case 01
A member that has never reported is treated as caught up.
Tombstone garbage collection by causal stability: silent members do not block purging · case 02
A member that has never reported is treated as caught up.
Tombstone garbage collection by causal stability: silent members do not block purging · case 03
A member that has never reported is treated as caught up.
Tombstone garbage collection by causal stability: silent members do not block purging · case 04
A member that has never reported is treated as caught up.
Tombstone garbage collection by causal stability: silent members do not block purging · case 05
A member that has never reported is treated as caught up.
Tombstone garbage collection by causal stability: departed members block forever · case 01
After a replica leaves the group, tombstones are never collected.
Tombstone garbage collection by causal stability: departed members block forever · case 02
After a replica leaves the group, tombstones are never collected.
Tombstone garbage collection by causal stability: departed members block forever · case 03
After a replica leaves the group, tombstones are never collected.
Tombstone garbage collection by causal stability: departed members block forever · case 04
After a replica leaves the group, tombstones are never collected.
Tombstone garbage collection by causal stability: departed members block forever · case 05
After a replica leaves the group, tombstones are never collected.
Tombstone garbage collection by causal stability: a tombstone equal to the stable point is kept · case 01
Tombstones that every member has acknowledged are retained one round too long.
Tombstone garbage collection by causal stability: a tombstone equal to the stable point is kept · case 02
Tombstones that every member has acknowledged are retained one round too long.
Tombstone garbage collection by causal stability: a tombstone equal to the stable point is kept · case 03
Tombstones that every member has acknowledged are retained one round too long.
Tombstone garbage collection by causal stability: a tombstone equal to the stable point is kept · case 04
Tombstones that every member has acknowledged are retained one round too long.
Tombstone garbage collection by causal stability: a tombstone equal to the stable point is kept · case 05
Tombstones that every member has acknowledged are retained one round too long.
Formatting mark spans: the range end is treated as inclusive · case 01
Formatting bleeds onto the character just after the selected range.
Formatting mark spans: the range end is treated as inclusive · case 02
Formatting bleeds onto the character just after the selected range.
Formatting mark spans: the range end is treated as inclusive · case 03
Formatting bleeds onto the character just after the selected range.
Formatting mark spans: the range end is treated as inclusive · case 04
Formatting bleeds onto the character just after the selected range.
Formatting mark spans: the range end is treated as inclusive · case 05
Formatting bleeds onto the character just after the selected range.
Formatting mark spans: the last delivered operation wins · case 01
Replicas that receive the same formatting operations in different orders render different bold spans.
Formatting mark spans: the last delivered operation wins · case 02
Replicas that receive the same formatting operations in different orders render different bold spans.
Formatting mark spans: the last delivered operation wins · case 03
Replicas that receive the same formatting operations in different orders render different bold spans.
Formatting mark spans: the last delivered operation wins · case 04
Replicas that receive the same formatting operations in different orders render different bold spans.
Formatting mark spans: the last delivered operation wins · case 05
Replicas that receive the same formatting operations in different orders render different bold spans.
Formatting mark spans: contiguous bold characters are reported one by one · case 01
A single bold word is reported as many one-character spans.
Formatting mark spans: contiguous bold characters are reported one by one · case 02
A single bold word is reported as many one-character spans.
Formatting mark spans: contiguous bold characters are reported one by one · case 03
A single bold word is reported as many one-character spans.
Formatting mark spans: contiguous bold characters are reported one by one · case 04
A single bold word is reported as many one-character spans.
Formatting mark spans: contiguous bold characters are reported one by one · case 05
A single bold word is reported as many one-character spans.
Formatting mark spans: a negative start indexes from the end of the text · case 01
A range beginning before the text formats characters at the end of the document.
Formatting mark spans: a negative start indexes from the end of the text · case 02
A range beginning before the text formats characters at the end of the document.
Formatting mark spans: a negative start indexes from the end of the text · case 03
A range beginning before the text formats characters at the end of the document.
Formatting mark spans: a negative start indexes from the end of the text · case 04
A range beginning before the text formats characters at the end of the document.
Formatting mark spans: a negative start indexes from the end of the text · case 05
A range beginning before the text formats characters at the end of the document.
Visible index translation: tombstones are counted as visible positions · case 01
Edits land on deleted characters or next to the wrong neighbour.
Visible index translation: tombstones are counted as visible positions · case 02
Edits land on deleted characters or next to the wrong neighbour.
Visible index translation: tombstones are counted as visible positions · case 03
Edits land on deleted characters or next to the wrong neighbour.
Visible index translation: tombstones are counted as visible positions · case 04
Edits land on deleted characters or next to the wrong neighbour.
Visible index translation: tombstones are counted as visible positions · case 05
Edits land on deleted characters or next to the wrong neighbour.
Visible index translation: typing at the end of the document is rejected · case 01
Appending a character after the last visible character is refused.
Visible index translation: typing at the end of the document is rejected · case 02
Appending a character after the last visible character is refused.
Visible index translation: typing at the end of the document is rejected · case 03
Appending a character after the last visible character is refused.
Visible index translation: typing at the end of the document is rejected · case 04
Appending a character after the last visible character is refused.
Visible index translation: typing at the end of the document is rejected · case 05
Appending a character after the last visible character is refused.
Visible index translation: delete targets the character before the cursor index · case 01
Deleting index zero removes the last character; other deletes remove the preceding character.
Visible index translation: delete targets the character before the cursor index · case 02
Deleting index zero removes the last character; other deletes remove the preceding character.
Visible index translation: delete targets the character before the cursor index · case 03
Deleting index zero removes the last character; other deletes remove the preceding character.
Visible index translation: delete targets the character before the cursor index · case 04
Deleting index zero removes the last character; other deletes remove the preceding character.
Visible index translation: delete targets the character before the cursor index · case 05
Deleting index zero removes the last character; other deletes remove the preceding character.
Visible index translation: the id counter is not advanced for accepted inserts · case 01
Several inserts in one batch receive the same element id.
Visible index translation: the id counter is not advanced for accepted inserts · case 02
Several inserts in one batch receive the same element id.
Visible index translation: the id counter is not advanced for accepted inserts · case 03
Several inserts in one batch receive the same element id.
Visible index translation: the id counter is not advanced for accepted inserts · case 04
Several inserts in one batch receive the same element id.
Visible index translation: the id counter is not advanced for accepted inserts · case 05
Several inserts in one batch receive the same element id.
Visible index translation: negative delete indices wrap to the end · case 01
A delete at index minus one silently removes the last visible character.
Visible index translation: negative delete indices wrap to the end · case 02
A delete at index minus one silently removes the last visible character.
Visible index translation: negative delete indices wrap to the end · case 03
A delete at index minus one silently removes the last visible character.
Visible index translation: negative delete indices wrap to the end · case 04
A delete at index minus one silently removes the last visible character.
Visible index translation: negative delete indices wrap to the end · case 05
A delete at index minus one silently removes the last visible character.
LWW map with delete-wins ties: deletes drop the key instead of storing a tombstone · case 01
A stale put arriving by merge brings a deleted key back.
LWW map with delete-wins ties: deletes drop the key instead of storing a tombstone · case 02
A stale put arriving by merge brings a deleted key back.
LWW map with delete-wins ties: deletes drop the key instead of storing a tombstone · case 03
A stale put arriving by merge brings a deleted key back.
LWW map with delete-wins ties: deletes drop the key instead of storing a tombstone · case 04
A stale put arriving by merge brings a deleted key back.
LWW map with delete-wins ties: deletes drop the key instead of storing a tombstone · case 05
A stale put arriving by merge brings a deleted key back.
LWW map with delete-wins ties: entries replace the stored one regardless of timestamp · case 01
Delivery order, not timestamps, decides the final value of a key.
LWW map with delete-wins ties: entries replace the stored one regardless of timestamp · case 02
Delivery order, not timestamps, decides the final value of a key.
LWW map with delete-wins ties: entries replace the stored one regardless of timestamp · case 03
Delivery order, not timestamps, decides the final value of a key.
LWW map with delete-wins ties: entries replace the stored one regardless of timestamp · case 04
Delivery order, not timestamps, decides the final value of a key.
LWW map with delete-wins ties: entries replace the stored one regardless of timestamp · case 05
Delivery order, not timestamps, decides the final value of a key.
LWW map with delete-wins ties: tombstones are listed as keys with null values · case 01
Deleted keys appear in the document with a null value.
LWW map with delete-wins ties: tombstones are listed as keys with null values · case 02
Deleted keys appear in the document with a null value.
LWW map with delete-wins ties: tombstones are listed as keys with null values · case 03
Deleted keys appear in the document with a null value.
LWW map with delete-wins ties: tombstones are listed as keys with null values · case 04
Deleted keys appear in the document with a null value.
LWW map with delete-wins ties: tombstones are listed as keys with null values · case 05
Deleted keys appear in the document with a null value.
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 ↗