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-75001

Delta causal context join: compaction jumps over gaps · case 01

The vector claims dots that were never observed, so unseen additions are later discarded.

CRDT convergence● Open access↗
FA-75002

Delta causal context join: compaction jumps over gaps · case 02

The vector claims dots that were never observed, so unseen additions are later discarded.

CRDT convergence◈ Members↗
FA-75003

Delta causal context join: compaction jumps over gaps · case 03

The vector claims dots that were never observed, so unseen additions are later discarded.

CRDT convergence◈ Members↗
FA-75004

Delta causal context join: compaction jumps over gaps · case 04

The vector claims dots that were never observed, so unseen additions are later discarded.

CRDT convergence◈ Members↗
FA-75005

Delta causal context join: compaction jumps over gaps · case 05

The vector claims dots that were never observed, so unseen additions are later discarded.

CRDT convergence◈ Members↗
FA-75006

Delta causal context join: cloud entries already covered by the vector are kept · case 01

The cloud grows without bound with dots the vector already summarizes.

CRDT convergence● Open access↗
FA-75007

Delta causal context join: cloud entries already covered by the vector are kept · case 02

The cloud grows without bound with dots the vector already summarizes.

CRDT convergence◈ Members↗
FA-75008

Delta causal context join: cloud entries already covered by the vector are kept · case 03

The cloud grows without bound with dots the vector already summarizes.

CRDT convergence◈ Members↗
FA-75009

Delta causal context join: cloud entries already covered by the vector are kept · case 04

The cloud grows without bound with dots the vector already summarizes.

CRDT convergence◈ Members↗
FA-75010

Delta causal context join: cloud entries already covered by the vector are kept · case 05

The cloud grows without bound with dots the vector already summarizes.

CRDT convergence◈ Members↗
FA-75011

Causal delivery buffer: messages from one sender are delivered across a gap · case 01

A later message from a sender is applied before the earlier one it follows.

CRDT convergence● Open access↗
FA-75012

Causal delivery buffer: messages from one sender are delivered across a gap · case 02

A later message from a sender is applied before the earlier one it follows.

CRDT convergence◈ Members↗
FA-75013

Causal delivery buffer: messages from one sender are delivered across a gap · case 03

A later message from a sender is applied before the earlier one it follows.

CRDT convergence◈ Members↗
FA-75014

Causal delivery buffer: messages from one sender are delivered across a gap · case 04

A later message from a sender is applied before the earlier one it follows.

CRDT convergence◈ Members↗
FA-75015

Causal delivery buffer: messages from one sender are delivered across a gap · case 05

A later message from a sender is applied before the earlier one it follows.

CRDT convergence◈ Members↗
FA-75016

Causal delivery buffer: dependencies on other senders are ignored · case 01

An operation is applied before operations from other replicas that it causally depends on.

CRDT convergence● Open access↗
FA-75017

Causal delivery buffer: dependencies on other senders are ignored · case 02

An operation is applied before operations from other replicas that it causally depends on.

CRDT convergence◈ Members↗
FA-75018

Causal delivery buffer: dependencies on other senders are ignored · case 03

An operation is applied before operations from other replicas that it causally depends on.

CRDT convergence◈ Members↗
FA-75019

Causal delivery buffer: dependencies on other senders are ignored · case 04

An operation is applied before operations from other replicas that it causally depends on.

CRDT convergence◈ Members↗
FA-75020

Causal delivery buffer: dependencies on other senders are ignored · case 05

An operation is applied before operations from other replicas that it causally depends on.

CRDT convergence◈ Members↗
FA-75021

Causal delivery buffer: a delivery does not retry the rest of the buffer · case 01

Buffered messages that became deliverable stay pending until another message arrives.

CRDT convergence● Open access↗
FA-75022

Causal delivery buffer: a delivery does not retry the rest of the buffer · case 02

Buffered messages that became deliverable stay pending until another message arrives.

CRDT convergence◈ Members↗
FA-75023

Causal delivery buffer: a delivery does not retry the rest of the buffer · case 03

Buffered messages that became deliverable stay pending until another message arrives.

CRDT convergence◈ Members↗
FA-75024

Causal delivery buffer: a delivery does not retry the rest of the buffer · case 04

Buffered messages that became deliverable stay pending until another message arrives.

CRDT convergence◈ Members↗
FA-75025

Causal delivery buffer: a delivery does not retry the rest of the buffer · case 05

Buffered messages that became deliverable stay pending until another message arrives.

CRDT convergence◈ Members↗
FA-75026

Causal delivery buffer: a redelivery of the newest applied message is buffered · case 01

A retransmitted copy of the latest message sits in the buffer forever and is not counted as a duplicate.

CRDT convergence● Open access↗
FA-75027

Causal delivery buffer: a redelivery of the newest applied message is buffered · case 02

A retransmitted copy of the latest message sits in the buffer forever and is not counted as a duplicate.

CRDT convergence◈ Members↗
FA-75028

Causal delivery buffer: a redelivery of the newest applied message is buffered · case 03

A retransmitted copy of the latest message sits in the buffer forever and is not counted as a duplicate.

CRDT convergence◈ Members↗
FA-75029

Causal delivery buffer: a redelivery of the newest applied message is buffered · case 04

A retransmitted copy of the latest message sits in the buffer forever and is not counted as a duplicate.

CRDT convergence◈ Members↗
FA-75030

Causal delivery buffer: a redelivery of the newest applied message is buffered · case 05

A retransmitted copy of the latest message sits in the buffer forever and is not counted as a duplicate.

CRDT convergence◈ Members↗
FA-75031

Causal delivery buffer: delivery adopts the sender's whole vector · case 01

The delivered vector moves backwards and old messages are accepted again.

CRDT convergence● Open access↗
FA-75032

Causal delivery buffer: delivery adopts the sender's whole vector · case 02

The delivered vector moves backwards and old messages are accepted again.

CRDT convergence◈ Members↗
FA-75033

Causal delivery buffer: delivery adopts the sender's whole vector · case 03

The delivered vector moves backwards and old messages are accepted again.

CRDT convergence◈ Members↗
FA-75034

Causal delivery buffer: delivery adopts the sender's whole vector · case 04

The delivered vector moves backwards and old messages are accepted again.

CRDT convergence◈ Members↗
FA-75035

Causal delivery buffer: delivery adopts the sender's whole vector · case 05

The delivered vector moves backwards and old messages are accepted again.

CRDT convergence◈ Members↗
FA-75036

Bounded counter with rights transfer: received rights are never credited · case 01

A replica that was given rights still cannot decrement.

CRDT convergence● Open access↗
FA-75037

Bounded counter with rights transfer: received rights are never credited · case 02

A replica that was given rights still cannot decrement.

CRDT convergence◈ Members↗
FA-75038

Bounded counter with rights transfer: received rights are never credited · case 03

A replica that was given rights still cannot decrement.

CRDT convergence◈ Members↗
FA-75039

Bounded counter with rights transfer: received rights are never credited · case 04

A replica that was given rights still cannot decrement.

CRDT convergence◈ Members↗
FA-75040

Bounded counter with rights transfer: received rights are never credited · case 05

A replica that was given rights still cannot decrement.

CRDT convergence◈ Members↗
FA-75041

Bounded counter with rights transfer: rights given away can still be spent · case 01

After transferring rights a replica can decrement them again, and the global value goes negative.

CRDT convergence● Open access↗
FA-75042

Bounded counter with rights transfer: rights given away can still be spent · case 02

After transferring rights a replica can decrement them again, and the global value goes negative.

CRDT convergence◈ Members↗
FA-75043

Bounded counter with rights transfer: rights given away can still be spent · case 03

After transferring rights a replica can decrement them again, and the global value goes negative.

CRDT convergence◈ Members↗
FA-75044

Bounded counter with rights transfer: rights given away can still be spent · case 04

After transferring rights a replica can decrement them again, and the global value goes negative.

CRDT convergence◈ Members↗
FA-75045

Bounded counter with rights transfer: rights given away can still be spent · case 05

After transferring rights a replica can decrement them again, and the global value goes negative.

CRDT convergence◈ Members↗
FA-75046

Bounded counter with rights transfer: rights are computed from the global value · case 01

Two replicas both spend the whole observed balance and the merged counter drops below zero.

CRDT convergence● Open access↗
FA-75047

Bounded counter with rights transfer: rights are computed from the global value · case 02

Two replicas both spend the whole observed balance and the merged counter drops below zero.

CRDT convergence◈ Members↗
FA-75048

Bounded counter with rights transfer: rights are computed from the global value · case 03

Two replicas both spend the whole observed balance and the merged counter drops below zero.

CRDT convergence◈ Members↗
FA-75049

Bounded counter with rights transfer: rights are computed from the global value · case 04

Two replicas both spend the whole observed balance and the merged counter drops below zero.

CRDT convergence◈ Members↗
FA-75050

Bounded counter with rights transfer: rights are computed from the global value · case 05

Two replicas both spend the whole observed balance and the merged counter drops below zero.

CRDT convergence◈ Members↗
FA-75051

Bounded counter with rights transfer: a transfer is recorded in the reverse direction · case 01

The donor gains rights and the recipient loses them.

CRDT convergence● Open access↗
FA-75052

Bounded counter with rights transfer: a transfer is recorded in the reverse direction · case 02

The donor gains rights and the recipient loses them.

CRDT convergence◈ Members↗
FA-75053

Bounded counter with rights transfer: a transfer is recorded in the reverse direction · case 03

The donor gains rights and the recipient loses them.

CRDT convergence◈ Members↗
FA-75054

Bounded counter with rights transfer: a transfer is recorded in the reverse direction · case 04

The donor gains rights and the recipient loses them.

CRDT convergence◈ Members↗
FA-75055

Bounded counter with rights transfer: a transfer is recorded in the reverse direction · case 05

The donor gains rights and the recipient loses them.

CRDT convergence◈ Members↗
FA-75056

Bounded counter with rights transfer: decrements are not synchronized · case 01

Other replicas report a value that ignores all remote decrements.

CRDT convergence● Open access↗
FA-75057

Bounded counter with rights transfer: decrements are not synchronized · case 02

Other replicas report a value that ignores all remote decrements.

CRDT convergence◈ Members↗
FA-75058

Bounded counter with rights transfer: decrements are not synchronized · case 03

Other replicas report a value that ignores all remote decrements.

CRDT convergence◈ Members↗
FA-75059

Bounded counter with rights transfer: decrements are not synchronized · case 04

Other replicas report a value that ignores all remote decrements.

CRDT convergence◈ Members↗
FA-75060

Bounded counter with rights transfer: decrements are not synchronized · case 05

Other replicas report a value that ignores all remote decrements.

CRDT convergence◈ Members↗
FA-75061

Two-phase graph: edges to concurrently removed vertices remain visible · case 01

After merging a concurrent vertex removal, an edge dangles from or into a vertex that no longer exists.

CRDT convergence● Open access↗
FA-75062

Two-phase graph: edges to concurrently removed vertices remain visible · case 02

After merging a concurrent vertex removal, an edge dangles from or into a vertex that no longer exists.

CRDT convergence◈ Members↗
FA-75063

Two-phase graph: edges to concurrently removed vertices remain visible · case 03

After merging a concurrent vertex removal, an edge dangles from or into a vertex that no longer exists.

CRDT convergence◈ Members↗
FA-75064

Two-phase graph: edges to concurrently removed vertices remain visible · case 04

After merging a concurrent vertex removal, an edge dangles from or into a vertex that no longer exists.

CRDT convergence◈ Members↗
FA-75065

Two-phase graph: edges to concurrently removed vertices remain visible · case 05

After merging a concurrent vertex removal, an edge dangles from or into a vertex that no longer exists.

CRDT convergence◈ Members↗
FA-75066

Two-phase graph: a vertex with incoming edges can be removed · case 01

Removing the target of an edge is accepted and the edge silently disappears.

CRDT convergence● Open access↗
FA-75067

Two-phase graph: a vertex with incoming edges can be removed · case 02

Removing the target of an edge is accepted and the edge silently disappears.

CRDT convergence◈ Members↗
FA-75068

Two-phase graph: a vertex with incoming edges can be removed · case 03

Removing the target of an edge is accepted and the edge silently disappears.

CRDT convergence◈ Members↗
FA-75069

Two-phase graph: a vertex with incoming edges can be removed · case 04

Removing the target of an edge is accepted and the edge silently disappears.

CRDT convergence◈ Members↗
FA-75070

Two-phase graph: a vertex with incoming edges can be removed · case 05

Removing the target of an edge is accepted and the edge silently disappears.

CRDT convergence◈ Members↗
FA-75071

Two-phase graph: edges may be added to removed vertices · case 01

An edge to a vertex that was removed is accepted instead of rejected.

CRDT convergence● Open access↗
FA-75072

Two-phase graph: edges may be added to removed vertices · case 02

An edge to a vertex that was removed is accepted instead of rejected.

CRDT convergence◈ Members↗
FA-75073

Two-phase graph: edges may be added to removed vertices · case 03

An edge to a vertex that was removed is accepted instead of rejected.

CRDT convergence◈ Members↗
FA-75074

Two-phase graph: edges may be added to removed vertices · case 04

An edge to a vertex that was removed is accepted instead of rejected.

CRDT convergence◈ Members↗
FA-75075

Two-phase graph: edges may be added to removed vertices · case 05

An edge to a vertex that was removed is accepted instead of rejected.

CRDT convergence◈ Members↗
FA-75076

Two-phase graph: merge does not carry edge removals · case 01

An edge removed on one replica remains visible on the others.

CRDT convergence● Open access↗
FA-75077

Two-phase graph: merge does not carry edge removals · case 02

An edge removed on one replica remains visible on the others.

CRDT convergence◈ Members↗
FA-75078

Two-phase graph: merge does not carry edge removals · case 03

An edge removed on one replica remains visible on the others.

CRDT convergence◈ Members↗
FA-75079

Two-phase graph: merge does not carry edge removals · case 04

An edge removed on one replica remains visible on the others.

CRDT convergence◈ Members↗
FA-75080

Two-phase graph: merge does not carry edge removals · case 05

An edge removed on one replica remains visible on the others.

CRDT convergence◈ Members↗
FA-75081

Replicated growable array: insertion skips smaller ids instead of larger ones · case 01

Two replicas receiving the same concurrent inserts in different orders show different text.

CRDT convergence● Open access↗
FA-75082

Replicated growable array: insertion skips smaller ids instead of larger ones · case 02

Two replicas receiving the same concurrent inserts in different orders show different text.

CRDT convergence◈ Members↗
FA-75083

Replicated growable array: insertion skips smaller ids instead of larger ones · case 03

Two replicas receiving the same concurrent inserts in different orders show different text.

CRDT convergence◈ Members↗
FA-75084

Replicated growable array: insertion skips smaller ids instead of larger ones · case 04

Two replicas receiving the same concurrent inserts in different orders show different text.

CRDT convergence◈ Members↗
FA-75085

Replicated growable array: insertion skips smaller ids instead of larger ones · case 05

Two replicas receiving the same concurrent inserts in different orders show different text.

CRDT convergence◈ Members↗
FA-75086

Replicated growable array: deletes remove the slot physically · case 01

An insert that references a deleted character lands at the head of the document.

CRDT convergence● Open access↗
FA-75087

Replicated growable array: deletes remove the slot physically · case 02

An insert that references a deleted character lands at the head of the document.

CRDT convergence◈ Members↗
FA-75088

Replicated growable array: deletes remove the slot physically · case 03

An insert that references a deleted character lands at the head of the document.

CRDT convergence◈ Members↗
FA-75089

Replicated growable array: deletes remove the slot physically · case 04

An insert that references a deleted character lands at the head of the document.

CRDT convergence◈ Members↗
FA-75090

Replicated growable array: deletes remove the slot physically · case 05

An insert that references a deleted character lands at the head of the document.

CRDT convergence◈ Members↗
FA-75091

Replicated growable array: head inserts bypass the concurrent-sibling skip · case 01

Concurrent inserts at the start of the document appear in arrival order.

CRDT convergence● Open access↗
FA-75092

Replicated growable array: head inserts bypass the concurrent-sibling skip · case 02

Concurrent inserts at the start of the document appear in arrival order.

CRDT convergence◈ Members↗
FA-75093

Replicated growable array: head inserts bypass the concurrent-sibling skip · case 03

Concurrent inserts at the start of the document appear in arrival order.

CRDT convergence◈ Members↗
FA-75094

Replicated growable array: head inserts bypass the concurrent-sibling skip · case 04

Concurrent inserts at the start of the document appear in arrival order.

CRDT convergence◈ Members↗
FA-75095

Replicated growable array: head inserts bypass the concurrent-sibling skip · case 05

Concurrent inserts at the start of the document appear in arrival order.

CRDT convergence◈ Members↗
FA-75096

Replicated growable array: tombstones stop the concurrent-sibling skip · case 01

A replica that already deleted a concurrent insert orders a new insert differently from one that did not.

CRDT convergence● Open access↗
FA-75097

Replicated growable array: tombstones stop the concurrent-sibling skip · case 02

A replica that already deleted a concurrent insert orders a new insert differently from one that did not.

CRDT convergence◈ Members↗
FA-75098

Replicated growable array: tombstones stop the concurrent-sibling skip · case 03

A replica that already deleted a concurrent insert orders a new insert differently from one that did not.

CRDT convergence◈ Members↗
FA-75099

Replicated growable array: tombstones stop the concurrent-sibling skip · case 04

A replica that already deleted a concurrent insert orders a new insert differently from one that did not.

CRDT convergence◈ Members↗
FA-75100

Replicated growable array: tombstones stop the concurrent-sibling skip · case 05

A replica that already deleted a concurrent insert orders a new insert differently from one that did not.

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 ↗