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

Apply create, edit and delete events to message state: buffer keeps highest · case 01

When two edits overtake their create, the wrong one is kept in the buffer.

Chat ordering and read receipts● Open access↗
FA-76102

Apply create, edit and delete events to message state: buffer keeps highest · case 02

When two edits overtake their create, the wrong one is kept in the buffer.

Chat ordering and read receipts◈ Members↗
FA-76103

Apply create, edit and delete events to message state: buffer keeps highest · case 03

When two edits overtake their create, the wrong one is kept in the buffer.

Chat ordering and read receipts◈ Members↗
FA-76104

Apply create, edit and delete events to message state: buffer keeps highest · case 04

When two edits overtake their create, the wrong one is kept in the buffer.

Chat ordering and read receipts◈ Members↗
FA-76105

Apply create, edit and delete events to message state: buffer keeps highest · case 05

When two edits overtake their create, the wrong one is kept in the buffer.

Chat ordering and read receipts◈ Members↗
FA-76106

Aggregate emoji reactions with a per-user limit: seq order · case 01

A remove that overtook its add leaves the reaction stuck on the message.

Chat ordering and read receipts● Open access↗
FA-76107

Aggregate emoji reactions with a per-user limit: seq order · case 02

A remove that overtook its add leaves the reaction stuck on the message.

Chat ordering and read receipts◈ Members↗
FA-76108

Aggregate emoji reactions with a per-user limit: seq order · case 03

A remove that overtook its add leaves the reaction stuck on the message.

Chat ordering and read receipts◈ Members↗
FA-76109

Aggregate emoji reactions with a per-user limit: seq order · case 04

A remove that overtook its add leaves the reaction stuck on the message.

Chat ordering and read receipts◈ Members↗
FA-76110

Aggregate emoji reactions with a per-user limit: seq order · case 05

A remove that overtook its add leaves the reaction stuck on the message.

Chat ordering and read receipts◈ Members↗
FA-76111

Aggregate emoji reactions with a per-user limit: run restart · case 01

An emoji that disappeared and was added again keeps its old position instead of moving to the end.

Chat ordering and read receipts● Open access↗
FA-76112

Aggregate emoji reactions with a per-user limit: run restart · case 02

An emoji that disappeared and was added again keeps its old position instead of moving to the end.

Chat ordering and read receipts◈ Members↗
FA-76113

Aggregate emoji reactions with a per-user limit: run restart · case 03

An emoji that disappeared and was added again keeps its old position instead of moving to the end.

Chat ordering and read receipts◈ Members↗
FA-76114

Aggregate emoji reactions with a per-user limit: run restart · case 04

An emoji that disappeared and was added again keeps its old position instead of moving to the end.

Chat ordering and read receipts◈ Members↗
FA-76115

Aggregate emoji reactions with a per-user limit: run restart · case 05

An emoji that disappeared and was added again keeps its old position instead of moving to the end.

Chat ordering and read receipts◈ Members↗
FA-76116

Aggregate emoji reactions with a per-user limit: hide empty · case 01

Emoji whose last reaction was removed remain as zero-count chips.

Chat ordering and read receipts● Open access↗
FA-76117

Aggregate emoji reactions with a per-user limit: hide empty · case 02

Emoji whose last reaction was removed remain as zero-count chips.

Chat ordering and read receipts◈ Members↗
FA-76118

Aggregate emoji reactions with a per-user limit: hide empty · case 03

Emoji whose last reaction was removed remain as zero-count chips.

Chat ordering and read receipts◈ Members↗
FA-76119

Aggregate emoji reactions with a per-user limit: hide empty · case 04

Emoji whose last reaction was removed remain as zero-count chips.

Chat ordering and read receipts◈ Members↗
FA-76120

Aggregate emoji reactions with a per-user limit: hide empty · case 05

Emoji whose last reaction was removed remain as zero-count chips.

Chat ordering and read receipts◈ Members↗
FA-76121

Aggregate emoji reactions with a per-user limit: limit boundary · case 01

A user can place one more distinct emoji than the configured limit.

Chat ordering and read receipts● Open access↗
FA-76122

Aggregate emoji reactions with a per-user limit: limit boundary · case 02

A user can place one more distinct emoji than the configured limit.

Chat ordering and read receipts◈ Members↗
FA-76123

Aggregate emoji reactions with a per-user limit: limit boundary · case 03

A user can place one more distinct emoji than the configured limit.

Chat ordering and read receipts◈ Members↗
FA-76124

Aggregate emoji reactions with a per-user limit: limit boundary · case 04

A user can place one more distinct emoji than the configured limit.

Chat ordering and read receipts◈ Members↗
FA-76125

Aggregate emoji reactions with a per-user limit: limit boundary · case 05

A user can place one more distinct emoji than the configured limit.

Chat ordering and read receipts◈ Members↗
FA-76126

Aggregate emoji reactions with a per-user limit: stray remove · case 01

A remove for a reaction the user never held frees a slot, letting them exceed the limit.

Chat ordering and read receipts● Open access↗
FA-76127

Aggregate emoji reactions with a per-user limit: stray remove · case 02

A remove for a reaction the user never held frees a slot, letting them exceed the limit.

Chat ordering and read receipts◈ Members↗
FA-76128

Aggregate emoji reactions with a per-user limit: stray remove · case 03

A remove for a reaction the user never held frees a slot, letting them exceed the limit.

Chat ordering and read receipts◈ Members↗
FA-76129

Aggregate emoji reactions with a per-user limit: stray remove · case 04

A remove for a reaction the user never held frees a slot, letting them exceed the limit.

Chat ordering and read receipts◈ Members↗
FA-76130

Aggregate emoji reactions with a per-user limit: stray remove · case 05

A remove for a reaction the user never held frees a slot, letting them exceed the limit.

Chat ordering and read receipts◈ Members↗
FA-76131

Render who is typing from start and stop events: expiry window · case 01

Typing indicators linger for the whole boundary tick after the timeout.

Chat ordering and read receipts● Open access↗
FA-76132

Render who is typing from start and stop events: expiry window · case 02

Typing indicators linger for the whole boundary tick after the timeout.

Chat ordering and read receipts◈ Members↗
FA-76133

Render who is typing from start and stop events: expiry window · case 03

Typing indicators linger for the whole boundary tick after the timeout.

Chat ordering and read receipts◈ Members↗
FA-76134

Render who is typing from start and stop events: expiry window · case 04

Typing indicators linger for the whole boundary tick after the timeout.

Chat ordering and read receipts◈ Members↗
FA-76135

Render who is typing from start and stop events: expiry window · case 05

Typing indicators linger for the whole boundary tick after the timeout.

Chat ordering and read receipts◈ Members↗
FA-76136

Render who is typing from start and stop events: message clears · case 01

After a user sends their message the indicator keeps saying they are typing.

Chat ordering and read receipts● Open access↗
FA-76137

Render who is typing from start and stop events: message clears · case 02

After a user sends their message the indicator keeps saying they are typing.

Chat ordering and read receipts◈ Members↗
FA-76138

Render who is typing from start and stop events: message clears · case 03

After a user sends their message the indicator keeps saying they are typing.

Chat ordering and read receipts◈ Members↗
FA-76139

Render who is typing from start and stop events: message clears · case 04

After a user sends their message the indicator keeps saying they are typing.

Chat ordering and read receipts◈ Members↗
FA-76140

Render who is typing from start and stop events: message clears · case 05

After a user sends their message the indicator keeps saying they are typing.

Chat ordering and read receipts◈ Members↗
FA-76141

Render who is typing from start and stop events: start order · case 01

Typers are listed alphabetically instead of by who started first.

Chat ordering and read receipts● Open access↗
FA-76142

Render who is typing from start and stop events: start order · case 02

Typers are listed alphabetically instead of by who started first.

Chat ordering and read receipts◈ Members↗
FA-76143

Render who is typing from start and stop events: start order · case 03

Typers are listed alphabetically instead of by who started first.

Chat ordering and read receipts◈ Members↗
FA-76144

Render who is typing from start and stop events: start order · case 04

Typers are listed alphabetically instead of by who started first.

Chat ordering and read receipts◈ Members↗
FA-76145

Render who is typing from start and stop events: start order · case 05

Typers are listed alphabetically instead of by who started first.

Chat ordering and read receipts◈ Members↗
FA-76146

Render who is typing from start and stop events: plural form · case 01

With three typers the indicator silently drops the third name.

Chat ordering and read receipts● Open access↗
FA-76147

Render who is typing from start and stop events: plural form · case 02

With three typers the indicator silently drops the third name.

Chat ordering and read receipts◈ Members↗
FA-76148

Render who is typing from start and stop events: plural form · case 03

With three typers the indicator silently drops the third name.

Chat ordering and read receipts◈ Members↗
FA-76149

Render who is typing from start and stop events: plural form · case 04

With three typers the indicator silently drops the third name.

Chat ordering and read receipts◈ Members↗
FA-76150

Render who is typing from start and stop events: plural form · case 05

With three typers the indicator silently drops the third name.

Chat ordering and read receipts◈ Members↗
FA-76151

Render who is typing from start and stop events: event order · case 01

A stop that overtook its start in transit leaves the indicator stuck on.

Chat ordering and read receipts● Open access↗
FA-76152

Render who is typing from start and stop events: event order · case 02

A stop that overtook its start in transit leaves the indicator stuck on.

Chat ordering and read receipts◈ Members↗
FA-76153

Render who is typing from start and stop events: event order · case 03

A stop that overtook its start in transit leaves the indicator stuck on.

Chat ordering and read receipts◈ Members↗
FA-76154

Render who is typing from start and stop events: event order · case 04

A stop that overtook its start in transit leaves the indicator stuck on.

Chat ordering and read receipts◈ Members↗
FA-76155

Render who is typing from start and stop events: event order · case 05

A stop that overtook its start in transit leaves the indicator stuck on.

Chat ordering and read receipts◈ Members↗
FA-76156

Decide which messages start a new visual group: gap threshold · case 01

Messages exactly five minutes apart are split, or long pauses are not split at all.

Chat ordering and read receipts● Open access↗
FA-76157

Decide which messages start a new visual group: gap threshold · case 02

Messages exactly five minutes apart are split, or long pauses are not split at all.

Chat ordering and read receipts◈ Members↗
FA-76158

Decide which messages start a new visual group: gap threshold · case 03

Messages exactly five minutes apart are split, or long pauses are not split at all.

Chat ordering and read receipts◈ Members↗
FA-76159

Decide which messages start a new visual group: gap threshold · case 04

Messages exactly five minutes apart are split, or long pauses are not split at all.

Chat ordering and read receipts◈ Members↗
FA-76160

Decide which messages start a new visual group: gap threshold · case 05

Messages exactly five minutes apart are split, or long pauses are not split at all.

Chat ordering and read receipts◈ Members↗
FA-76161

Decide which messages start a new visual group: after system · case 01

The first user message after a system notice is glued to the group before the notice.

Chat ordering and read receipts● Open access↗
FA-76162

Decide which messages start a new visual group: after system · case 02

The first user message after a system notice is glued to the group before the notice.

Chat ordering and read receipts◈ Members↗
FA-76163

Decide which messages start a new visual group: after system · case 03

The first user message after a system notice is glued to the group before the notice.

Chat ordering and read receipts◈ Members↗
FA-76164

Decide which messages start a new visual group: after system · case 04

The first user message after a system notice is glued to the group before the notice.

Chat ordering and read receipts◈ Members↗
FA-76165

Decide which messages start a new visual group: after system · case 05

The first user message after a system notice is glued to the group before the notice.

Chat ordering and read receipts◈ Members↗
FA-76166

Decide which messages start a new visual group: day break · case 01

Messages sent seconds apart across midnight are grouped under the previous day's header.

Chat ordering and read receipts● Open access↗
FA-76167

Decide which messages start a new visual group: day break · case 02

Messages sent seconds apart across midnight are grouped under the previous day's header.

Chat ordering and read receipts◈ Members↗
FA-76168

Decide which messages start a new visual group: day break · case 03

Messages sent seconds apart across midnight are grouped under the previous day's header.

Chat ordering and read receipts◈ Members↗
FA-76169

Decide which messages start a new visual group: day break · case 04

Messages sent seconds apart across midnight are grouped under the previous day's header.

Chat ordering and read receipts◈ Members↗
FA-76170

Decide which messages start a new visual group: day break · case 05

Messages sent seconds apart across midnight are grouped under the previous day's header.

Chat ordering and read receipts◈ Members↗
FA-76171

Decide which messages start a new visual group: previous pointer · case 01

System notices are skipped when tracking the previous message, so the next user message is grouped across the notice.

Chat ordering and read receipts● Open access↗
FA-76172

Decide which messages start a new visual group: previous pointer · case 02

System notices are skipped when tracking the previous message, so the next user message is grouped across the notice.

Chat ordering and read receipts◈ Members↗
FA-76173

Decide which messages start a new visual group: previous pointer · case 03

System notices are skipped when tracking the previous message, so the next user message is grouped across the notice.

Chat ordering and read receipts◈ Members↗
FA-76174

Decide which messages start a new visual group: previous pointer · case 04

System notices are skipped when tracking the previous message, so the next user message is grouped across the notice.

Chat ordering and read receipts◈ Members↗
FA-76175

Decide which messages start a new visual group: previous pointer · case 05

System notices are skipped when tracking the previous message, so the next user message is grouped across the notice.

Chat ordering and read receipts◈ Members↗
FA-76176

Choose which queued sends to dispatch now: head of line · case 01

Later messages are dispatched while an earlier one is still pending, so they arrive out of order.

Chat ordering and read receipts● Open access↗
FA-76177

Choose which queued sends to dispatch now: head of line · case 02

Later messages are dispatched while an earlier one is still pending, so they arrive out of order.

Chat ordering and read receipts◈ Members↗
FA-76178

Choose which queued sends to dispatch now: head of line · case 03

Later messages are dispatched while an earlier one is still pending, so they arrive out of order.

Chat ordering and read receipts◈ Members↗
FA-76179

Choose which queued sends to dispatch now: head of line · case 04

Later messages are dispatched while an earlier one is still pending, so they arrive out of order.

Chat ordering and read receipts◈ Members↗
FA-76180

Choose which queued sends to dispatch now: head of line · case 05

Later messages are dispatched while an earlier one is still pending, so they arrive out of order.

Chat ordering and read receipts◈ Members↗
FA-76181

Choose which queued sends to dispatch now: dead does not block · case 01

Retry counts are looked up per conversation instead of per message, so a dead message is never recognised and blocks the queue forever.

Chat ordering and read receipts● Open access↗
FA-76182

Choose which queued sends to dispatch now: dead does not block · case 02

Retry counts are looked up per conversation instead of per message, so a dead message is never recognised and blocks the queue forever.

Chat ordering and read receipts◈ Members↗
FA-76183

Choose which queued sends to dispatch now: dead does not block · case 03

Retry counts are looked up per conversation instead of per message, so a dead message is never recognised and blocks the queue forever.

Chat ordering and read receipts◈ Members↗
FA-76184

Choose which queued sends to dispatch now: dead does not block · case 04

Retry counts are looked up per conversation instead of per message, so a dead message is never recognised and blocks the queue forever.

Chat ordering and read receipts◈ Members↗
FA-76185

Choose which queued sends to dispatch now: dead does not block · case 05

Retry counts are looked up per conversation instead of per message, so a dead message is never recognised and blocks the queue forever.

Chat ordering and read receipts◈ Members↗
FA-76186

Choose which queued sends to dispatch now: due inclusive · case 01

A retry scheduled for exactly now waits an extra tick.

Chat ordering and read receipts● Open access↗
FA-76187

Choose which queued sends to dispatch now: due inclusive · case 02

A retry scheduled for exactly now waits an extra tick.

Chat ordering and read receipts◈ Members↗
FA-76188

Choose which queued sends to dispatch now: due inclusive · case 03

A retry scheduled for exactly now waits an extra tick.

Chat ordering and read receipts◈ Members↗
FA-76189

Choose which queued sends to dispatch now: due inclusive · case 04

A retry scheduled for exactly now waits an extra tick.

Chat ordering and read receipts◈ Members↗
FA-76190

Choose which queued sends to dispatch now: due inclusive · case 05

A retry scheduled for exactly now waits an extra tick.

Chat ordering and read receipts◈ Members↗
FA-76191

Choose which queued sends to dispatch now: acked skip · case 01

An acknowledged message still counts as the queue head and stalls the conversation.

Chat ordering and read receipts● Open access↗
FA-76192

Choose which queued sends to dispatch now: acked skip · case 02

An acknowledged message still counts as the queue head and stalls the conversation.

Chat ordering and read receipts◈ Members↗
FA-76193

Choose which queued sends to dispatch now: acked skip · case 03

An acknowledged message still counts as the queue head and stalls the conversation.

Chat ordering and read receipts◈ Members↗
FA-76194

Choose which queued sends to dispatch now: acked skip · case 04

An acknowledged message still counts as the queue head and stalls the conversation.

Chat ordering and read receipts◈ Members↗
FA-76195

Choose which queued sends to dispatch now: acked skip · case 05

An acknowledged message still counts as the queue head and stalls the conversation.

Chat ordering and read receipts◈ Members↗
FA-76196

Choose which queued sends to dispatch now: numeric order · case 01

After nine queued messages the tenth is dispatched before the ninth.

Chat ordering and read receipts● Open access↗
FA-76197

Choose which queued sends to dispatch now: numeric order · case 02

After nine queued messages the tenth is dispatched before the ninth.

Chat ordering and read receipts◈ Members↗
FA-76198

Choose which queued sends to dispatch now: numeric order · case 03

After nine queued messages the tenth is dispatched before the ninth.

Chat ordering and read receipts◈ Members↗
FA-76199

Choose which queued sends to dispatch now: numeric order · case 04

After nine queued messages the tenth is dispatched before the ninth.

Chat ordering and read receipts◈ Members↗
FA-76200

Choose which queued sends to dispatch now: numeric order · case 05

After nine queued messages the tenth is dispatched before the ninth.

Chat ordering and read receipts◈ 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 ↗