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

Half-duplex speaking-turn controller: speaking / yield · case 01

While speaking, event yield produces listening/disable_now instead of yielding/send_yield.

Protocols● Open access↗
FA-20002

Half-duplex speaking-turn controller: speaking / yield · case 02

While speaking, event yield produces listening/disable_now instead of yielding/send_yield.

Protocols◈ Members↗
FA-20003

Half-duplex speaking-turn controller: speaking / yield · case 03

While speaking, event yield produces listening/disable_now instead of yielding/send_yield.

Protocols◈ Members↗
FA-20004

Half-duplex speaking-turn controller: speaking / yield · case 04

While speaking, event yield produces listening/disable_now instead of yielding/send_yield.

Protocols◈ Members↗
FA-20005

Half-duplex speaking-turn controller: speaking / yield · case 05

While speaking, event yield produces listening/disable_now instead of yielding/send_yield.

Protocols◈ Members↗
FA-20006

Half-duplex speaking-turn controller: yielding / yield ack · case 01

While yielding, event yield_ack produces speaking/send_payload instead of listening/disable_transmit.

Protocols● Open access↗
FA-20007

Half-duplex speaking-turn controller: yielding / yield ack · case 02

While yielding, event yield_ack produces speaking/send_payload instead of listening/disable_transmit.

Protocols◈ Members↗
FA-20008

Half-duplex speaking-turn controller: yielding / yield ack · case 03

While yielding, event yield_ack produces speaking/send_payload instead of listening/disable_transmit.

Protocols◈ Members↗
FA-20009

Half-duplex speaking-turn controller: yielding / yield ack · case 04

While yielding, event yield_ack produces speaking/send_payload instead of listening/disable_transmit.

Protocols◈ Members↗
FA-20010

Half-duplex speaking-turn controller: yielding / yield ack · case 05

While yielding, event yield_ack produces speaking/send_payload instead of listening/disable_transmit.

Protocols◈ Members↗
FA-20011

Half-duplex speaking-turn controller: listening / remote payload · case 01

While listening, event remote_payload produces speaking/take_turn instead of listening/deliver.

Protocols● Open access↗
FA-20012

Half-duplex speaking-turn controller: listening / remote payload · case 02

While listening, event remote_payload produces speaking/take_turn instead of listening/deliver.

Protocols◈ Members↗
FA-20013

Half-duplex speaking-turn controller: listening / remote payload · case 03

While listening, event remote_payload produces speaking/take_turn instead of listening/deliver.

Protocols◈ Members↗
FA-20014

Half-duplex speaking-turn controller: listening / remote payload · case 04

While listening, event remote_payload produces speaking/take_turn instead of listening/deliver.

Protocols◈ Members↗
FA-20015

Half-duplex speaking-turn controller: listening / remote payload · case 05

While listening, event remote_payload produces speaking/take_turn instead of listening/deliver.

Protocols◈ Members↗
FA-20016

Half-duplex speaking-turn controller: speaking / remote payload · case 01

While speaking, event remote_payload produces listening/deliver instead of speaking/report_collision.

Protocols● Open access↗
FA-20017

Half-duplex speaking-turn controller: speaking / remote payload · case 02

While speaking, event remote_payload produces listening/deliver instead of speaking/report_collision.

Protocols◈ Members↗
FA-20018

Half-duplex speaking-turn controller: speaking / remote payload · case 03

While speaking, event remote_payload produces listening/deliver instead of speaking/report_collision.

Protocols◈ Members↗
FA-20019

Half-duplex speaking-turn controller: speaking / remote payload · case 04

While speaking, event remote_payload produces listening/deliver instead of speaking/report_collision.

Protocols◈ Members↗
FA-20020

Half-duplex speaking-turn controller: speaking / remote payload · case 05

While speaking, event remote_payload produces listening/deliver instead of speaking/report_collision.

Protocols◈ Members↗
FA-20021

Half-duplex speaking-turn controller: listening / local payload · case 01

While listening, event local_payload produces speaking/send_payload instead of listening/queue_local.

Protocols● Open access↗
FA-20022

Half-duplex speaking-turn controller: listening / local payload · case 02

While listening, event local_payload produces speaking/send_payload instead of listening/queue_local.

Protocols◈ Members↗
FA-20023

Half-duplex speaking-turn controller: listening / local payload · case 03

While listening, event local_payload produces speaking/send_payload instead of listening/queue_local.

Protocols◈ Members↗
FA-20024

Half-duplex speaking-turn controller: listening / local payload · case 04

While listening, event local_payload produces speaking/send_payload instead of listening/queue_local.

Protocols◈ Members↗
FA-20025

Half-duplex speaking-turn controller: listening / local payload · case 05

While listening, event local_payload produces speaking/send_payload instead of listening/queue_local.

Protocols◈ Members↗
FA-20026

Half-duplex speaking-turn controller: offered / offer withdrawn · case 01

While offered, event offer_withdrawn produces speaking/enable_transmit instead of listening/clear_offer.

Protocols● Open access↗
FA-20027

Half-duplex speaking-turn controller: offered / offer withdrawn · case 02

While offered, event offer_withdrawn produces speaking/enable_transmit instead of listening/clear_offer.

Protocols◈ Members↗
FA-20028

Half-duplex speaking-turn controller: offered / offer withdrawn · case 03

While offered, event offer_withdrawn produces speaking/enable_transmit instead of listening/clear_offer.

Protocols◈ Members↗
FA-20029

Half-duplex speaking-turn controller: offered / offer withdrawn · case 04

While offered, event offer_withdrawn produces speaking/enable_transmit instead of listening/clear_offer.

Protocols◈ Members↗
FA-20030

Half-duplex speaking-turn controller: offered / offer withdrawn · case 05

While offered, event offer_withdrawn produces speaking/enable_transmit instead of listening/clear_offer.

Protocols◈ Members↗
FA-20031

Half-duplex speaking-turn controller: yielding / local payload · case 01

While yielding, event local_payload produces speaking/send_payload instead of yielding/queue_next_turn.

Protocols● Open access↗
FA-20032

Half-duplex speaking-turn controller: yielding / local payload · case 02

While yielding, event local_payload produces speaking/send_payload instead of yielding/queue_next_turn.

Protocols◈ Members↗
FA-20033

Half-duplex speaking-turn controller: yielding / local payload · case 03

While yielding, event local_payload produces speaking/send_payload instead of yielding/queue_next_turn.

Protocols◈ Members↗
FA-20034

Half-duplex speaking-turn controller: yielding / local payload · case 04

While yielding, event local_payload produces speaking/send_payload instead of yielding/queue_next_turn.

Protocols◈ Members↗
FA-20035

Half-duplex speaking-turn controller: yielding / local payload · case 05

While yielding, event local_payload produces speaking/send_payload instead of yielding/queue_next_turn.

Protocols◈ Members↗
FA-20036

Half-duplex speaking-turn controller: listening / unsolicited commit · case 01

While listening, event unsolicited_commit produces speaking/enable_transmit instead of listening/reject_unoffered.

Protocols● Open access↗
FA-20037

Half-duplex speaking-turn controller: listening / unsolicited commit · case 02

While listening, event unsolicited_commit produces speaking/enable_transmit instead of listening/reject_unoffered.

Protocols◈ Members↗
FA-20038

Half-duplex speaking-turn controller: listening / unsolicited commit · case 03

While listening, event unsolicited_commit produces speaking/enable_transmit instead of listening/reject_unoffered.

Protocols◈ Members↗
FA-20039

Half-duplex speaking-turn controller: listening / unsolicited commit · case 04

While listening, event unsolicited_commit produces speaking/enable_transmit instead of listening/reject_unoffered.

Protocols◈ Members↗
FA-20040

Half-duplex speaking-turn controller: listening / unsolicited commit · case 05

While listening, event unsolicited_commit produces speaking/enable_transmit instead of listening/reject_unoffered.

Protocols◈ Members↗
FA-20041

Service-discovery watch lifecycle controller: idle / start watch · case 01

While idle, event start_watch produces live/publish_ready instead of snapshotting/request_listing.

Protocols● Open access↗
FA-20042

Service-discovery watch lifecycle controller: idle / start watch · case 02

While idle, event start_watch produces live/publish_ready instead of snapshotting/request_listing.

Protocols◈ Members↗
FA-20043

Service-discovery watch lifecycle controller: idle / start watch · case 03

While idle, event start_watch produces live/publish_ready instead of snapshotting/request_listing.

Protocols◈ Members↗
FA-20044

Service-discovery watch lifecycle controller: idle / start watch · case 04

While idle, event start_watch produces live/publish_ready instead of snapshotting/request_listing.

Protocols◈ Members↗
FA-20045

Service-discovery watch lifecycle controller: idle / start watch · case 05

While idle, event start_watch produces live/publish_ready instead of snapshotting/request_listing.

Protocols◈ Members↗
FA-20046

Service-discovery watch lifecycle controller: snapshotting / listed service · case 01

While snapshotting, event listed_service produces live/publish_service instead of snapshotting/stage_service.

Protocols● Open access↗
FA-20047

Service-discovery watch lifecycle controller: snapshotting / listed service · case 02

While snapshotting, event listed_service produces live/publish_service instead of snapshotting/stage_service.

Protocols◈ Members↗
FA-20048

Service-discovery watch lifecycle controller: snapshotting / listed service · case 03

While snapshotting, event listed_service produces live/publish_service instead of snapshotting/stage_service.

Protocols◈ Members↗
FA-20049

Service-discovery watch lifecycle controller: snapshotting / listed service · case 04

While snapshotting, event listed_service produces live/publish_service instead of snapshotting/stage_service.

Protocols◈ Members↗
FA-20050

Service-discovery watch lifecycle controller: snapshotting / listed service · case 05

While snapshotting, event listed_service produces live/publish_service instead of snapshotting/stage_service.

Protocols◈ Members↗
FA-20051

Service-discovery watch lifecycle controller: snapshotting / listing end · case 01

While snapshotting, event listing_end produces snapshotting/wait instead of live/publish_listing.

Protocols● Open access↗
FA-20052

Service-discovery watch lifecycle controller: snapshotting / listing end · case 02

While snapshotting, event listing_end produces snapshotting/wait instead of live/publish_listing.

Protocols◈ Members↗
FA-20053

Service-discovery watch lifecycle controller: snapshotting / listing end · case 03

While snapshotting, event listing_end produces snapshotting/wait instead of live/publish_listing.

Protocols◈ Members↗
FA-20054

Service-discovery watch lifecycle controller: snapshotting / listing end · case 04

While snapshotting, event listing_end produces snapshotting/wait instead of live/publish_listing.

Protocols◈ Members↗
FA-20055

Service-discovery watch lifecycle controller: snapshotting / listing end · case 05

While snapshotting, event listing_end produces snapshotting/wait instead of live/publish_listing.

Protocols◈ Members↗
FA-20056

Service-discovery watch lifecycle controller: live / service added · case 01

While live, event service_added produces live/replace_all instead of live/insert_notify.

Protocols● Open access↗
FA-20057

Service-discovery watch lifecycle controller: live / service added · case 02

While live, event service_added produces live/replace_all instead of live/insert_notify.

Protocols◈ Members↗
FA-20058

Service-discovery watch lifecycle controller: live / service added · case 03

While live, event service_added produces live/replace_all instead of live/insert_notify.

Protocols◈ Members↗
FA-20059

Service-discovery watch lifecycle controller: live / service added · case 04

While live, event service_added produces live/replace_all instead of live/insert_notify.

Protocols◈ Members↗
FA-20060

Service-discovery watch lifecycle controller: live / service added · case 05

While live, event service_added produces live/replace_all instead of live/insert_notify.

Protocols◈ Members↗
FA-20061

Service-discovery watch lifecycle controller: live / service removed · case 01

While live, event service_removed produces live/keep_service instead of live/remove_notify.

Protocols● Open access↗
FA-20062

Service-discovery watch lifecycle controller: live / service removed · case 02

While live, event service_removed produces live/keep_service instead of live/remove_notify.

Protocols◈ Members↗
FA-20063

Service-discovery watch lifecycle controller: live / service removed · case 03

While live, event service_removed produces live/keep_service instead of live/remove_notify.

Protocols◈ Members↗
FA-20064

Service-discovery watch lifecycle controller: live / service removed · case 04

While live, event service_removed produces live/keep_service instead of live/remove_notify.

Protocols◈ Members↗
FA-20065

Service-discovery watch lifecycle controller: live / service removed · case 05

While live, event service_removed produces live/keep_service instead of live/remove_notify.

Protocols◈ Members↗
FA-20066

Service-discovery watch lifecycle controller: live / watch gap · case 01

While live, event watch_gap produces live/continue instead of snapshotting/clear_request_listing.

Protocols● Open access↗
FA-20067

Service-discovery watch lifecycle controller: live / watch gap · case 02

While live, event watch_gap produces live/continue instead of snapshotting/clear_request_listing.

Protocols◈ Members↗
FA-20068

Service-discovery watch lifecycle controller: live / watch gap · case 03

While live, event watch_gap produces live/continue instead of snapshotting/clear_request_listing.

Protocols◈ Members↗
FA-20069

Service-discovery watch lifecycle controller: live / watch gap · case 04

While live, event watch_gap produces live/continue instead of snapshotting/clear_request_listing.

Protocols◈ Members↗
FA-20070

Service-discovery watch lifecycle controller: live / watch gap · case 05

While live, event watch_gap produces live/continue instead of snapshotting/clear_request_listing.

Protocols◈ Members↗
FA-20071

Service-discovery watch lifecycle controller: live / lease expired · case 01

While live, event lease_expired produces live/refresh_lease instead of live/expire_notify.

Protocols● Open access↗
FA-20072

Service-discovery watch lifecycle controller: live / lease expired · case 02

While live, event lease_expired produces live/refresh_lease instead of live/expire_notify.

Protocols◈ Members↗
FA-20073

Service-discovery watch lifecycle controller: live / lease expired · case 03

While live, event lease_expired produces live/refresh_lease instead of live/expire_notify.

Protocols◈ Members↗
FA-20074

Service-discovery watch lifecycle controller: live / lease expired · case 04

While live, event lease_expired produces live/refresh_lease instead of live/expire_notify.

Protocols◈ Members↗
FA-20075

Service-discovery watch lifecycle controller: live / lease expired · case 05

While live, event lease_expired produces live/refresh_lease instead of live/expire_notify.

Protocols◈ Members↗
FA-20076

Service-discovery watch lifecycle controller: live / stop watch · case 01

While live, event stop_watch produces idle/keep_subscription instead of closed/release_watch.

Protocols● Open access↗
FA-20077

Service-discovery watch lifecycle controller: live / stop watch · case 02

While live, event stop_watch produces idle/keep_subscription instead of closed/release_watch.

Protocols◈ Members↗
FA-20078

Service-discovery watch lifecycle controller: live / stop watch · case 03

While live, event stop_watch produces idle/keep_subscription instead of closed/release_watch.

Protocols◈ Members↗
FA-20079

Service-discovery watch lifecycle controller: live / stop watch · case 04

While live, event stop_watch produces idle/keep_subscription instead of closed/release_watch.

Protocols◈ Members↗
FA-20080

Service-discovery watch lifecycle controller: live / stop watch · case 05

While live, event stop_watch produces idle/keep_subscription instead of closed/release_watch.

Protocols◈ Members↗
FA-20081

Service-discovery watch lifecycle controller: closed / service added · case 01

While closed, event service_added produces live/insert_notify instead of closed/ignore_closed.

Protocols● Open access↗
FA-20082

Service-discovery watch lifecycle controller: closed / service added · case 02

While closed, event service_added produces live/insert_notify instead of closed/ignore_closed.

Protocols◈ Members↗
FA-20083

Service-discovery watch lifecycle controller: closed / service added · case 03

While closed, event service_added produces live/insert_notify instead of closed/ignore_closed.

Protocols◈ Members↗
FA-20084

Service-discovery watch lifecycle controller: closed / service added · case 04

While closed, event service_added produces live/insert_notify instead of closed/ignore_closed.

Protocols◈ Members↗
FA-20085

Service-discovery watch lifecycle controller: closed / service added · case 05

While closed, event service_added produces live/insert_notify instead of closed/ignore_closed.

Protocols◈ Members↗
FA-20086

Service-discovery watch lifecycle controller: snapshotting / service removed · case 01

While snapshotting, event service_removed produces snapshotting/ignore instead of snapshotting/record_tombstone.

Protocols● Open access↗
FA-20087

Service-discovery watch lifecycle controller: snapshotting / service removed · case 02

While snapshotting, event service_removed produces snapshotting/ignore instead of snapshotting/record_tombstone.

Protocols◈ Members↗
FA-20088

Service-discovery watch lifecycle controller: snapshotting / service removed · case 03

While snapshotting, event service_removed produces snapshotting/ignore instead of snapshotting/record_tombstone.

Protocols◈ Members↗
FA-20089

Service-discovery watch lifecycle controller: snapshotting / service removed · case 04

While snapshotting, event service_removed produces snapshotting/ignore instead of snapshotting/record_tombstone.

Protocols◈ Members↗
FA-20090

Service-discovery watch lifecycle controller: snapshotting / service removed · case 05

While snapshotting, event service_removed produces snapshotting/ignore instead of snapshotting/record_tombstone.

Protocols◈ Members↗
FA-20091

Acknowledged telemetry publication window controller: idle / open window · case 01

While idle, event open_window produces published/send_empty instead of collecting/allocate_window.

Protocols● Open access↗
FA-20092

Acknowledged telemetry publication window controller: idle / open window · case 02

While idle, event open_window produces published/send_empty instead of collecting/allocate_window.

Protocols◈ Members↗
FA-20093

Acknowledged telemetry publication window controller: idle / open window · case 03

While idle, event open_window produces published/send_empty instead of collecting/allocate_window.

Protocols◈ Members↗
FA-20094

Acknowledged telemetry publication window controller: idle / open window · case 04

While idle, event open_window produces published/send_empty instead of collecting/allocate_window.

Protocols◈ Members↗
FA-20095

Acknowledged telemetry publication window controller: idle / open window · case 05

While idle, event open_window produces published/send_empty instead of collecting/allocate_window.

Protocols◈ Members↗
FA-20096

Acknowledged telemetry publication window controller: collecting / sample · case 01

While collecting, event sample produces collecting/replace_samples instead of collecting/append_sample.

Protocols● Open access↗
FA-20097

Acknowledged telemetry publication window controller: collecting / sample · case 02

While collecting, event sample produces collecting/replace_samples instead of collecting/append_sample.

Protocols◈ Members↗
FA-20098

Acknowledged telemetry publication window controller: collecting / sample · case 03

While collecting, event sample produces collecting/replace_samples instead of collecting/append_sample.

Protocols◈ Members↗
FA-20099

Acknowledged telemetry publication window controller: collecting / sample · case 04

While collecting, event sample produces collecting/replace_samples instead of collecting/append_sample.

Protocols◈ Members↗
FA-20100

Acknowledged telemetry publication window controller: collecting / sample · case 05

While collecting, event sample produces collecting/replace_samples instead of collecting/append_sample.

Protocols◈ 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 ↗