FAILURE MAP

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 ↗
100840Executable case variants
20168Distinct failure mechanisms
302520Executed implementations
20168Open-access cases

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

Python · Standard library
REFERENCEFAILURE MECHANISMDOMAINACCESS
FA-75101

Epoch-resettable counter: a newer epoch is merged into pre-reset slots · case 01

Increments made before a reset reappear after the reset propagates.

CRDT convergence● Open access↗
FA-75102

Epoch-resettable counter: a newer epoch is merged into pre-reset slots · case 02

Increments made before a reset reappear after the reset propagates.

CRDT convergence◈ Members↗
FA-75103

Epoch-resettable counter: a newer epoch is merged into pre-reset slots · case 03

Increments made before a reset reappear after the reset propagates.

CRDT convergence◈ Members↗
FA-75104

Epoch-resettable counter: a newer epoch is merged into pre-reset slots · case 04

Increments made before a reset reappear after the reset propagates.

CRDT convergence◈ Members↗
FA-75105

Epoch-resettable counter: a newer epoch is merged into pre-reset slots · case 05

Increments made before a reset reappear after the reset propagates.

CRDT convergence◈ Members↗
FA-75106

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.

CRDT convergence● Open access↗
FA-75107

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.

CRDT convergence◈ Members↗
FA-75108

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.

CRDT convergence◈ Members↗
FA-75109

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.

CRDT convergence◈ Members↗
FA-75110

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.

CRDT convergence◈ Members↗
FA-75111

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.

CRDT convergence● Open access↗
FA-75112

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.

CRDT convergence◈ Members↗
FA-75113

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.

CRDT convergence◈ Members↗
FA-75114

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.

CRDT convergence◈ Members↗
FA-75115

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.

CRDT convergence◈ Members↗
FA-75116

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.

CRDT convergence● Open access↗
FA-75117

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.

CRDT convergence◈ Members↗
FA-75118

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.

CRDT convergence◈ Members↗
FA-75119

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.

CRDT convergence◈ Members↗
FA-75120

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.

CRDT convergence◈ Members↗
FA-75121

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.

CRDT convergence● Open access↗
FA-75122

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.

CRDT convergence◈ Members↗
FA-75123

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.

CRDT convergence◈ Members↗
FA-75124

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.

CRDT convergence◈ Members↗
FA-75125

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.

CRDT convergence◈ Members↗
FA-75126

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.

CRDT convergence● Open access↗
FA-75127

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.

CRDT convergence◈ Members↗
FA-75128

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.

CRDT convergence◈ Members↗
FA-75129

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.

CRDT convergence◈ Members↗
FA-75130

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.

CRDT convergence◈ Members↗
FA-75131

Tombstone garbage collection by causal stability: departed members block forever · case 01

After a replica leaves the group, tombstones are never collected.

CRDT convergence● Open access↗
FA-75132

Tombstone garbage collection by causal stability: departed members block forever · case 02

After a replica leaves the group, tombstones are never collected.

CRDT convergence◈ Members↗
FA-75133

Tombstone garbage collection by causal stability: departed members block forever · case 03

After a replica leaves the group, tombstones are never collected.

CRDT convergence◈ Members↗
FA-75134

Tombstone garbage collection by causal stability: departed members block forever · case 04

After a replica leaves the group, tombstones are never collected.

CRDT convergence◈ Members↗
FA-75135

Tombstone garbage collection by causal stability: departed members block forever · case 05

After a replica leaves the group, tombstones are never collected.

CRDT convergence◈ Members↗
FA-75136

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.

CRDT convergence● Open access↗
FA-75137

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.

CRDT convergence◈ Members↗
FA-75138

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.

CRDT convergence◈ Members↗
FA-75139

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.

CRDT convergence◈ Members↗
FA-75140

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.

CRDT convergence◈ Members↗
FA-75141

Formatting mark spans: the range end is treated as inclusive · case 01

Formatting bleeds onto the character just after the selected range.

CRDT convergence● Open access↗
FA-75142

Formatting mark spans: the range end is treated as inclusive · case 02

Formatting bleeds onto the character just after the selected range.

CRDT convergence◈ Members↗
FA-75143

Formatting mark spans: the range end is treated as inclusive · case 03

Formatting bleeds onto the character just after the selected range.

CRDT convergence◈ Members↗
FA-75144

Formatting mark spans: the range end is treated as inclusive · case 04

Formatting bleeds onto the character just after the selected range.

CRDT convergence◈ Members↗
FA-75145

Formatting mark spans: the range end is treated as inclusive · case 05

Formatting bleeds onto the character just after the selected range.

CRDT convergence◈ Members↗
FA-75146

Formatting mark spans: the last delivered operation wins · case 01

Replicas that receive the same formatting operations in different orders render different bold spans.

CRDT convergence● Open access↗
FA-75147

Formatting mark spans: the last delivered operation wins · case 02

Replicas that receive the same formatting operations in different orders render different bold spans.

CRDT convergence◈ Members↗
FA-75148

Formatting mark spans: the last delivered operation wins · case 03

Replicas that receive the same formatting operations in different orders render different bold spans.

CRDT convergence◈ Members↗
FA-75149

Formatting mark spans: the last delivered operation wins · case 04

Replicas that receive the same formatting operations in different orders render different bold spans.

CRDT convergence◈ Members↗
FA-75150

Formatting mark spans: the last delivered operation wins · case 05

Replicas that receive the same formatting operations in different orders render different bold spans.

CRDT convergence◈ Members↗
FA-75151

Formatting mark spans: contiguous bold characters are reported one by one · case 01

A single bold word is reported as many one-character spans.

CRDT convergence● Open access↗
FA-75152

Formatting mark spans: contiguous bold characters are reported one by one · case 02

A single bold word is reported as many one-character spans.

CRDT convergence◈ Members↗
FA-75153

Formatting mark spans: contiguous bold characters are reported one by one · case 03

A single bold word is reported as many one-character spans.

CRDT convergence◈ Members↗
FA-75154

Formatting mark spans: contiguous bold characters are reported one by one · case 04

A single bold word is reported as many one-character spans.

CRDT convergence◈ Members↗
FA-75155

Formatting mark spans: contiguous bold characters are reported one by one · case 05

A single bold word is reported as many one-character spans.

CRDT convergence◈ Members↗
FA-75156

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.

CRDT convergence● Open access↗
FA-75157

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.

CRDT convergence◈ Members↗
FA-75158

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.

CRDT convergence◈ Members↗
FA-75159

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.

CRDT convergence◈ Members↗
FA-75160

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.

CRDT convergence◈ Members↗
FA-75161

Visible index translation: tombstones are counted as visible positions · case 01

Edits land on deleted characters or next to the wrong neighbour.

CRDT convergence● Open access↗
FA-75162

Visible index translation: tombstones are counted as visible positions · case 02

Edits land on deleted characters or next to the wrong neighbour.

CRDT convergence◈ Members↗
FA-75163

Visible index translation: tombstones are counted as visible positions · case 03

Edits land on deleted characters or next to the wrong neighbour.

CRDT convergence◈ Members↗
FA-75164

Visible index translation: tombstones are counted as visible positions · case 04

Edits land on deleted characters or next to the wrong neighbour.

CRDT convergence◈ Members↗
FA-75165

Visible index translation: tombstones are counted as visible positions · case 05

Edits land on deleted characters or next to the wrong neighbour.

CRDT convergence◈ Members↗
FA-75166

Visible index translation: typing at the end of the document is rejected · case 01

Appending a character after the last visible character is refused.

CRDT convergence● Open access↗
FA-75167

Visible index translation: typing at the end of the document is rejected · case 02

Appending a character after the last visible character is refused.

CRDT convergence◈ Members↗
FA-75168

Visible index translation: typing at the end of the document is rejected · case 03

Appending a character after the last visible character is refused.

CRDT convergence◈ Members↗
FA-75169

Visible index translation: typing at the end of the document is rejected · case 04

Appending a character after the last visible character is refused.

CRDT convergence◈ Members↗
FA-75170

Visible index translation: typing at the end of the document is rejected · case 05

Appending a character after the last visible character is refused.

CRDT convergence◈ Members↗
FA-75171

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.

CRDT convergence● Open access↗
FA-75172

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.

CRDT convergence◈ Members↗
FA-75173

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.

CRDT convergence◈ Members↗
FA-75174

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.

CRDT convergence◈ Members↗
FA-75175

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.

CRDT convergence◈ Members↗
FA-75176

Visible index translation: the id counter is not advanced for accepted inserts · case 01

Several inserts in one batch receive the same element id.

CRDT convergence● Open access↗
FA-75177

Visible index translation: the id counter is not advanced for accepted inserts · case 02

Several inserts in one batch receive the same element id.

CRDT convergence◈ Members↗
FA-75178

Visible index translation: the id counter is not advanced for accepted inserts · case 03

Several inserts in one batch receive the same element id.

CRDT convergence◈ Members↗
FA-75179

Visible index translation: the id counter is not advanced for accepted inserts · case 04

Several inserts in one batch receive the same element id.

CRDT convergence◈ Members↗
FA-75180

Visible index translation: the id counter is not advanced for accepted inserts · case 05

Several inserts in one batch receive the same element id.

CRDT convergence◈ Members↗
FA-75181

Visible index translation: negative delete indices wrap to the end · case 01

A delete at index minus one silently removes the last visible character.

CRDT convergence● Open access↗
FA-75182

Visible index translation: negative delete indices wrap to the end · case 02

A delete at index minus one silently removes the last visible character.

CRDT convergence◈ Members↗
FA-75183

Visible index translation: negative delete indices wrap to the end · case 03

A delete at index minus one silently removes the last visible character.

CRDT convergence◈ Members↗
FA-75184

Visible index translation: negative delete indices wrap to the end · case 04

A delete at index minus one silently removes the last visible character.

CRDT convergence◈ Members↗
FA-75185

Visible index translation: negative delete indices wrap to the end · case 05

A delete at index minus one silently removes the last visible character.

CRDT convergence◈ Members↗
FA-75186

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.

CRDT convergence● Open access↗
FA-75187

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.

CRDT convergence◈ Members↗
FA-75188

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.

CRDT convergence◈ Members↗
FA-75189

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.

CRDT convergence◈ Members↗
FA-75190

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.

CRDT convergence◈ Members↗
FA-75191

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.

CRDT convergence● Open access↗
FA-75192

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.

CRDT convergence◈ Members↗
FA-75193

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.

CRDT convergence◈ Members↗
FA-75194

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.

CRDT convergence◈ Members↗
FA-75195

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.

CRDT convergence◈ Members↗
FA-75196

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.

CRDT convergence● Open access↗
FA-75197

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.

CRDT convergence◈ Members↗
FA-75198

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.

CRDT convergence◈ Members↗
FA-75199

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.

CRDT convergence◈ Members↗
FA-75200

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.

CRDT convergence◈ Members↗

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 ↗