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 ↗A RECORD OF WHAT WENT WRONG
Browse the archive / 97840
Duplicate delivery changes an aggregate · case 01
A replayed event increases a total that should change once per event identity.
Duplicate delivery changes an aggregate · case 02
A replayed event increases a total that should change once per event identity.
Duplicate delivery changes an aggregate · case 03
A replayed event increases a total that should change once per event identity.
Duplicate delivery changes an aggregate · case 04
A replayed event increases a total that should change once per event identity.
Duplicate delivery changes an aggregate · case 05
A replayed event increases a total that should change once per event identity.
An expired cache entry survives its deadline · case 01
An entry remains visible at precisely its expiration instant.
An expired cache entry survives its deadline · case 02
An entry remains visible at precisely its expiration instant.
An expired cache entry survives its deadline · case 03
An entry remains visible at precisely its expiration instant.
An expired cache entry survives its deadline · case 04
An entry remains visible at precisely its expiration instant.
An expired cache entry survives its deadline · case 05
An entry remains visible at precisely its expiration instant.
A cursor skips records with equal sort keys · case 01
The next page omits records sharing the final sort key of the previous page.
A cursor skips records with equal sort keys · case 02
The next page omits records sharing the final sort key of the previous page.
A cursor skips records with equal sort keys · case 03
The next page omits records sharing the final sort key of the previous page.
A cursor skips records with equal sort keys · case 04
The next page omits records sharing the final sort key of the previous page.
A cursor skips records with equal sort keys · case 05
The next page omits records sharing the final sort key of the previous page.
Stale snapshots erase a counter increment · case 01
Two updates calculated from the same snapshot leave only one increment.
Stale snapshots erase a counter increment · case 02
Two updates calculated from the same snapshot leave only one increment.
Stale snapshots erase a counter increment · case 03
Two updates calculated from the same snapshot leave only one increment.
Stale snapshots erase a counter increment · case 04
Two updates calculated from the same snapshot leave only one increment.
Stale snapshots erase a counter increment · case 05
Two updates calculated from the same snapshot leave only one increment.
A decimal halfway value rounds downward · case 01
A value specified as a decimal rounds below the required half-up result.
A decimal halfway value rounds downward · case 02
A value specified as a decimal rounds below the required half-up result.
A decimal halfway value rounds downward · case 03
A value specified as a decimal rounds below the required half-up result.
A decimal halfway value rounds downward · case 04
A value specified as a decimal rounds below the required half-up result.
A decimal halfway value rounds downward · case 05
A value specified as a decimal rounds below the required half-up result.
Equivalent names create separate identities · case 01
Case and Unicode composition produce multiple identities for equivalent names.
Equivalent names create separate identities · case 02
Case and Unicode composition produce multiple identities for equivalent names.
Equivalent names create separate identities · case 03
Case and Unicode composition produce multiple identities for equivalent names.
Equivalent names create separate identities · case 04
Case and Unicode composition produce multiple identities for equivalent names.
Equivalent names create separate identities · case 05
Case and Unicode composition produce multiple identities for equivalent names.
A checkpoint advances past an unacknowledged item · case 01
After a partial batch failure, resumption skips work that never completed.
A checkpoint advances past an unacknowledged item · case 02
After a partial batch failure, resumption skips work that never completed.
A checkpoint advances past an unacknowledged item · case 03
After a partial batch failure, resumption skips work that never completed.
A checkpoint advances past an unacknowledged item · case 04
After a partial batch failure, resumption skips work that never completed.
A checkpoint advances past an unacknowledged item · case 05
After a partial batch failure, resumption skips work that never completed.
Adjacent windows count a boundary twice · case 01
A sample on a shared boundary is counted in both adjacent windows.
Adjacent windows count a boundary twice · case 02
A sample on a shared boundary is counted in both adjacent windows.
Adjacent windows count a boundary twice · case 03
A sample on a shared boundary is counted in both adjacent windows.
Adjacent windows count a boundary twice · case 04
A sample on a shared boundary is counted in both adjacent windows.
Adjacent windows count a boundary twice · case 05
A sample on a shared boundary is counted in both adjacent windows.
A retry counter produces an unbounded delay · case 01
Repeated failures produce a retry delay larger than the configured limit.
A retry counter produces an unbounded delay · case 02
Repeated failures produce a retry delay larger than the configured limit.
A retry counter produces an unbounded delay · case 03
Repeated failures produce a retry delay larger than the configured limit.
A retry counter produces an unbounded delay · case 04
Repeated failures produce a retry delay larger than the configured limit.
A retry counter produces an unbounded delay · case 05
Repeated failures produce a retry delay larger than the configured limit.
Missing measurements bias a mean · case 01
Absent measurements change the mean even though no observation was recorded.
Missing measurements bias a mean · case 02
Absent measurements change the mean even though no observation was recorded.
Missing measurements bias a mean · case 03
Absent measurements change the mean even though no observation was recorded.
Missing measurements bias a mean · case 04
Absent measurements change the mean even though no observation was recorded.
Missing measurements bias a mean · case 05
Absent measurements change the mean even though no observation was recorded.
A revoked writer overwrites its successor's state · case 01
An old lease holder writes after a higher fencing epoch has already committed.
A revoked writer overwrites its successor's state · case 02
An old lease holder writes after a higher fencing epoch has already committed.
A revoked writer overwrites its successor's state · case 03
An old lease holder writes after a higher fencing epoch has already committed.
A revoked writer overwrites its successor's state · case 04
An old lease holder writes after a higher fencing epoch has already committed.
A revoked writer overwrites its successor's state · case 05
An old lease holder writes after a higher fencing epoch has already committed.
A stale renewal extends a later incarnation of a lease · case 01
A delayed renewal is accepted after the same worker name has reacquired the lease.
A stale renewal extends a later incarnation of a lease · case 02
A delayed renewal is accepted after the same worker name has reacquired the lease.
A stale renewal extends a later incarnation of a lease · case 03
A delayed renewal is accepted after the same worker name has reacquired the lease.
A stale renewal extends a later incarnation of a lease · case 04
A delayed renewal is accepted after the same worker name has reacquired the lease.
A stale renewal extends a later incarnation of a lease · case 05
A delayed renewal is accepted after the same worker name has reacquired the lease.
Concurrent revisions are mistaken for causal successors · case 01
A scalar or lexicographic comparison imposes an order on independent replica updates.
Concurrent revisions are mistaken for causal successors · case 02
A scalar or lexicographic comparison imposes an order on independent replica updates.
Concurrent revisions are mistaken for causal successors · case 03
A scalar or lexicographic comparison imposes an order on independent replica updates.
Concurrent revisions are mistaken for causal successors · case 04
A scalar or lexicographic comparison imposes an order on independent replica updates.
Concurrent revisions are mistaken for causal successors · case 05
A scalar or lexicographic comparison imposes an order on independent replica updates.
Duplicate or foreign ballots manufacture a quorum · case 01
A coordinator declares a decision after counting retries or ballots from outside the membership.
Duplicate or foreign ballots manufacture a quorum · case 02
A coordinator declares a decision after counting retries or ballots from outside the membership.
Duplicate or foreign ballots manufacture a quorum · case 03
A coordinator declares a decision after counting retries or ballots from outside the membership.
Duplicate or foreign ballots manufacture a quorum · case 04
A coordinator declares a decision after counting retries or ballots from outside the membership.
Duplicate or foreign ballots manufacture a quorum · case 05
A coordinator declares a decision after counting retries or ballots from outside the membership.
Failover routes a session behind its observed version · case 01
The fastest replica returns data older than a version this session has already seen.
Failover routes a session behind its observed version · case 02
The fastest replica returns data older than a version this session has already seen.
Failover routes a session behind its observed version · case 03
The fastest replica returns data older than a version this session has already seen.
Failover routes a session behind its observed version · case 04
The fastest replica returns data older than a version this session has already seen.
Failover routes a session behind its observed version · case 05
The fastest replica returns data older than a version this session has already seen.
Read repair resurrects a deleted record · case 01
A surviving old value wins because the merge removes deletion markers before comparing versions.
Read repair resurrects a deleted record · case 02
A surviving old value wins because the merge removes deletion markers before comparing versions.
Read repair resurrects a deleted record · case 03
A surviving old value wins because the merge removes deletion markers before comparing versions.
Read repair resurrects a deleted record · case 04
A surviving old value wins because the merge removes deletion markers before comparing versions.
Read repair resurrects a deleted record · case 05
A surviving old value wins because the merge removes deletion markers before comparing versions.
Fanout multiplies a parent request's retry allowance · case 01
Every child RPC spends the entire retry budget independently.
Fanout multiplies a parent request's retry allowance · case 02
Every child RPC spends the entire retry budget independently.
Fanout multiplies a parent request's retry allowance · case 03
Every child RPC spends the entire retry budget independently.
Fanout multiplies a parent request's retry allowance · case 04
Every child RPC spends the entire retry budget independently.
Fanout multiplies a parent request's retry allowance · case 05
Every child RPC spends the entire retry budget independently.
Overlapping identical reads start duplicate remote jobs · case 01
Concurrent callers start separate fetches, or a completed fetch incorrectly absorbs a later request.
Overlapping identical reads start duplicate remote jobs · case 02
Concurrent callers start separate fetches, or a completed fetch incorrectly absorbs a later request.
Overlapping identical reads start duplicate remote jobs · case 03
Concurrent callers start separate fetches, or a completed fetch incorrectly absorbs a later request.
Overlapping identical reads start duplicate remote jobs · case 04
Concurrent callers start separate fetches, or a completed fetch incorrectly absorbs a later request.
Overlapping identical reads start duplicate remote jobs · case 05
Concurrent callers start separate fetches, or a completed fetch incorrectly absorbs a later request.
A revoked consumer acknowledges a new assignment's message · case 01
An acknowledgment from a prior assignment is accepted after a rebalance reuses the message identifier.
A revoked consumer acknowledges a new assignment's message · case 02
An acknowledgment from a prior assignment is accepted after a rebalance reuses the message identifier.
A revoked consumer acknowledges a new assignment's message · case 03
An acknowledgment from a prior assignment is accepted after a rebalance reuses the message identifier.
A revoked consumer acknowledges a new assignment's message · case 04
An acknowledgment from a prior assignment is accepted after a rebalance reuses the message identifier.
A revoked consumer acknowledges a new assignment's message · case 05
An acknowledgment from a prior assignment is accepted after a rebalance reuses the message identifier.
Election votes prefer a longer but older log · case 01
A candidate with more entries from an older term receives a vote over the voter's newer history.
Election votes prefer a longer but older log · case 02
A candidate with more entries from an older term receives a vote over the voter's newer history.
Election votes prefer a longer but older log · case 03
A candidate with more entries from an older term receives a vote over the voter's newer history.
Election votes prefer a longer but older log · case 04
A candidate with more entries from an older term receives a vote over the voter's newer history.
Election votes prefer a longer but older log · case 05
A candidate with more entries from an older term receives a vote over the voter's newer history.
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 ↗