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

Breakage-based revenue recognition: breakage acceleration · case 01

Revenue is recognized only at face value per redeemed point, ignoring expected breakage.

Loyalty points ledgers● Open access↗
FA-60602

Breakage-based revenue recognition: breakage acceleration · case 02

Revenue is recognized only at face value per redeemed point, ignoring expected breakage.

Loyalty points ledgers◈ Members↗
FA-60603

Breakage-based revenue recognition: breakage acceleration · case 03

Revenue is recognized only at face value per redeemed point, ignoring expected breakage.

Loyalty points ledgers◈ Members↗
FA-60604

Breakage-based revenue recognition: breakage acceleration · case 04

Revenue is recognized only at face value per redeemed point, ignoring expected breakage.

Loyalty points ledgers◈ Members↗
FA-60605

Breakage-based revenue recognition: breakage acceleration · case 05

Revenue is recognized only at face value per redeemed point, ignoring expected breakage.

Loyalty points ledgers◈ Members↗
FA-60606

Breakage-based revenue recognition: proportion rounding stage · case 01

Recognized revenue lags by many cents on large programs.

Loyalty points ledgers● Open access↗
FA-60607

Breakage-based revenue recognition: proportion rounding stage · case 02

Recognized revenue lags by many cents on large programs.

Loyalty points ledgers◈ Members↗
FA-60608

Breakage-based revenue recognition: proportion rounding stage · case 03

Recognized revenue lags by many cents on large programs.

Loyalty points ledgers◈ Members↗
FA-60609

Breakage-based revenue recognition: proportion rounding stage · case 04

Recognized revenue lags by many cents on large programs.

Loyalty points ledgers◈ Members↗
FA-60610

Breakage-based revenue recognition: proportion rounding stage · case 05

Recognized revenue lags by many cents on large programs.

Loyalty points ledgers◈ Members↗
FA-60611

Breakage-based revenue recognition: millicent conversion · case 01

The deferred balance is ten times too large.

Loyalty points ledgers● Open access↗
FA-60612

Breakage-based revenue recognition: millicent conversion · case 02

The deferred balance is ten times too large.

Loyalty points ledgers◈ Members↗
FA-60613

Breakage-based revenue recognition: millicent conversion · case 03

The deferred balance is ten times too large.

Loyalty points ledgers◈ Members↗
FA-60614

Breakage-based revenue recognition: millicent conversion · case 04

The deferred balance is ten times too large.

Loyalty points ledgers◈ Members↗
FA-60615

Breakage-based revenue recognition: millicent conversion · case 05

The deferred balance is ten times too large.

Loyalty points ledgers◈ Members↗
FA-60616

Idempotent points event ledger: dedupe before ordering · case 01

A redelivered earn with a later timestamp is applied at the wrong position.

Loyalty points ledgers● Open access↗
FA-60617

Idempotent points event ledger: dedupe before ordering · case 02

A redelivered earn with a later timestamp is applied at the wrong position.

Loyalty points ledgers◈ Members↗
FA-60618

Idempotent points event ledger: dedupe before ordering · case 03

A redelivered earn with a later timestamp is applied at the wrong position.

Loyalty points ledgers◈ Members↗
FA-60619

Idempotent points event ledger: dedupe before ordering · case 04

A redelivered earn with a later timestamp is applied at the wrong position.

Loyalty points ledgers◈ Members↗
FA-60620

Idempotent points event ledger: dedupe before ordering · case 05

A redelivered earn with a later timestamp is applied at the wrong position.

Loyalty points ledgers◈ Members↗
FA-60621

Idempotent points event ledger: timestamp tie ordering · case 01

Events with equal timestamps are applied in delivery order, so a redeem can be rejected before its funding earn.

Loyalty points ledgers● Open access↗
FA-60622

Idempotent points event ledger: timestamp tie ordering · case 02

Events with equal timestamps are applied in delivery order, so a redeem can be rejected before its funding earn.

Loyalty points ledgers◈ Members↗
FA-60623

Idempotent points event ledger: timestamp tie ordering · case 03

Events with equal timestamps are applied in delivery order, so a redeem can be rejected before its funding earn.

Loyalty points ledgers◈ Members↗
FA-60624

Idempotent points event ledger: timestamp tie ordering · case 04

Events with equal timestamps are applied in delivery order, so a redeem can be rejected before its funding earn.

Loyalty points ledgers◈ Members↗
FA-60625

Idempotent points event ledger: timestamp tie ordering · case 05

Events with equal timestamps are applied in delivery order, so a redeem can be rejected before its funding earn.

Loyalty points ledgers◈ Members↗
FA-60626

Idempotent points event ledger: reversal sign · case 01

Reversing a redemption removes more points instead of restoring them.

Loyalty points ledgers● Open access↗
FA-60627

Idempotent points event ledger: reversal sign · case 02

Reversing a redemption removes more points instead of restoring them.

Loyalty points ledgers◈ Members↗
FA-60628

Idempotent points event ledger: reversal sign · case 03

Reversing a redemption removes more points instead of restoring them.

Loyalty points ledgers◈ Members↗
FA-60629

Idempotent points event ledger: reversal sign · case 04

Reversing a redemption removes more points instead of restoring them.

Loyalty points ledgers◈ Members↗
FA-60630

Idempotent points event ledger: reversal sign · case 05

Reversing a redemption removes more points instead of restoring them.

Loyalty points ledgers◈ Members↗
FA-60631

Idempotent points event ledger: single reversal guard · case 01

The same earn can be reversed repeatedly, draining the balance.

Loyalty points ledgers● Open access↗
FA-60632

Idempotent points event ledger: single reversal guard · case 02

The same earn can be reversed repeatedly, draining the balance.

Loyalty points ledgers◈ Members↗
FA-60633

Idempotent points event ledger: single reversal guard · case 03

The same earn can be reversed repeatedly, draining the balance.

Loyalty points ledgers◈ Members↗
FA-60634

Idempotent points event ledger: single reversal guard · case 04

The same earn can be reversed repeatedly, draining the balance.

Loyalty points ledgers◈ Members↗
FA-60635

Idempotent points event ledger: single reversal guard · case 05

The same earn can be reversed repeatedly, draining the balance.

Loyalty points ledgers◈ Members↗
FA-60636

Idempotent points event ledger: rejected redemption record · case 01

Reversing a redemption that was rejected for insufficient points credits points that were never taken.

Loyalty points ledgers● Open access↗
FA-60637

Idempotent points event ledger: rejected redemption record · case 02

Reversing a redemption that was rejected for insufficient points credits points that were never taken.

Loyalty points ledgers◈ Members↗
FA-60638

Idempotent points event ledger: rejected redemption record · case 03

Reversing a redemption that was rejected for insufficient points credits points that were never taken.

Loyalty points ledgers◈ Members↗
FA-60639

Idempotent points event ledger: rejected redemption record · case 04

Reversing a redemption that was rejected for insufficient points credits points that were never taken.

Loyalty points ledgers◈ Members↗
FA-60640

Idempotent points event ledger: rejected redemption record · case 05

Reversing a redemption that was rejected for insufficient points credits points that were never taken.

Loyalty points ledgers◈ Members↗
FA-60641

Partner miles conversion: conversion block floor · case 01

Odd point balances are converted in full, including fractions of a transfer block.

Loyalty points ledgers● Open access↗
FA-60642

Partner miles conversion: conversion block floor · case 02

Odd point balances are converted in full, including fractions of a transfer block.

Loyalty points ledgers◈ Members↗
FA-60643

Partner miles conversion: conversion block floor · case 03

Odd point balances are converted in full, including fractions of a transfer block.

Loyalty points ledgers◈ Members↗
FA-60644

Partner miles conversion: conversion block floor · case 04

Odd point balances are converted in full, including fractions of a transfer block.

Loyalty points ledgers◈ Members↗
FA-60645

Partner miles conversion: conversion block floor · case 05

Odd point balances are converted in full, including fractions of a transfer block.

Loyalty points ledgers◈ Members↗
FA-60646

Partner miles conversion: minimum on usable points · case 01

A conversion goes through with fewer points than the partner minimum after block flooring.

Loyalty points ledgers● Open access↗
FA-60647

Partner miles conversion: minimum on usable points · case 02

A conversion goes through with fewer points than the partner minimum after block flooring.

Loyalty points ledgers◈ Members↗
FA-60648

Partner miles conversion: minimum on usable points · case 03

A conversion goes through with fewer points than the partner minimum after block flooring.

Loyalty points ledgers◈ Members↗
FA-60649

Partner miles conversion: minimum on usable points · case 04

A conversion goes through with fewer points than the partner minimum after block flooring.

Loyalty points ledgers◈ Members↗
FA-60650

Partner miles conversion: minimum on usable points · case 05

A conversion goes through with fewer points than the partner minimum after block flooring.

Loyalty points ledgers◈ Members↗
FA-60651

Partner miles conversion: ratio orientation · case 01

Members get 4 miles for every 3 points on a 3:4 program.

Loyalty points ledgers● Open access↗
FA-60652

Partner miles conversion: ratio orientation · case 02

Members get 4 miles for every 3 points on a 3:4 program.

Loyalty points ledgers◈ Members↗
FA-60653

Partner miles conversion: ratio orientation · case 03

Members get 4 miles for every 3 points on a 3:4 program.

Loyalty points ledgers◈ Members↗
FA-60654

Partner miles conversion: ratio orientation · case 04

Members get 4 miles for every 3 points on a 3:4 program.

Loyalty points ledgers◈ Members↗
FA-60655

Partner miles conversion: ratio orientation · case 05

Members get 4 miles for every 3 points on a 3:4 program.

Loyalty points ledgers◈ Members↗
FA-60656

Partner miles conversion: bonus threshold basis · case 01

Members whose raw balance crosses the bonus threshold get a bonus though fewer usable points were converted.

Loyalty points ledgers● Open access↗
FA-60657

Partner miles conversion: bonus threshold basis · case 02

Members whose raw balance crosses the bonus threshold get a bonus though fewer usable points were converted.

Loyalty points ledgers◈ Members↗
FA-60658

Partner miles conversion: bonus threshold basis · case 03

Members whose raw balance crosses the bonus threshold get a bonus though fewer usable points were converted.

Loyalty points ledgers◈ Members↗
FA-60659

Partner miles conversion: bonus threshold basis · case 04

Members whose raw balance crosses the bonus threshold get a bonus though fewer usable points were converted.

Loyalty points ledgers◈ Members↗
FA-60660

Partner miles conversion: bonus threshold basis · case 05

Members whose raw balance crosses the bonus threshold get a bonus though fewer usable points were converted.

Loyalty points ledgers◈ Members↗
FA-60661

Partner miles conversion: bonus base · case 01

Bonus miles are computed on points, over- or under-paying on non 1:1 ratios.

Loyalty points ledgers● Open access↗
FA-60662

Partner miles conversion: bonus base · case 02

Bonus miles are computed on points, over- or under-paying on non 1:1 ratios.

Loyalty points ledgers◈ Members↗
FA-60663

Partner miles conversion: bonus base · case 03

Bonus miles are computed on points, over- or under-paying on non 1:1 ratios.

Loyalty points ledgers◈ Members↗
FA-60664

Partner miles conversion: bonus base · case 04

Bonus miles are computed on points, over- or under-paying on non 1:1 ratios.

Loyalty points ledgers◈ Members↗
FA-60665

Partner miles conversion: bonus base · case 05

Bonus miles are computed on points, over- or under-paying on non 1:1 ratios.

Loyalty points ledgers◈ Members↗
FA-60666

Cancelled reward reinstatement: still-valid test · case 01

Points that are still valid on the cancellation day receive a new grace expiry instead of their original one.

Loyalty points ledgers● Open access↗
FA-60667

Cancelled reward reinstatement: still-valid test · case 02

Points that are still valid on the cancellation day receive a new grace expiry instead of their original one.

Loyalty points ledgers◈ Members↗
FA-60668

Cancelled reward reinstatement: still-valid test · case 03

Points that are still valid on the cancellation day receive a new grace expiry instead of their original one.

Loyalty points ledgers◈ Members↗
FA-60669

Cancelled reward reinstatement: still-valid test · case 04

Points that are still valid on the cancellation day receive a new grace expiry instead of their original one.

Loyalty points ledgers◈ Members↗
FA-60670

Cancelled reward reinstatement: still-valid test · case 05

Points that are still valid on the cancellation day receive a new grace expiry instead of their original one.

Loyalty points ledgers◈ Members↗
FA-60671

Cancelled reward reinstatement: grace anchor · case 01

Reinstated points that had lapsed expire immediately or within days of reinstatement.

Loyalty points ledgers● Open access↗
FA-60672

Cancelled reward reinstatement: grace anchor · case 02

Reinstated points that had lapsed expire immediately or within days of reinstatement.

Loyalty points ledgers◈ Members↗
FA-60673

Cancelled reward reinstatement: grace anchor · case 03

Reinstated points that had lapsed expire immediately or within days of reinstatement.

Loyalty points ledgers◈ Members↗
FA-60674

Cancelled reward reinstatement: grace anchor · case 04

Reinstated points that had lapsed expire immediately or within days of reinstatement.

Loyalty points ledgers◈ Members↗
FA-60675

Cancelled reward reinstatement: grace anchor · case 05

Reinstated points that had lapsed expire immediately or within days of reinstatement.

Loyalty points ledgers◈ Members↗
FA-60676

Cancelled reward reinstatement: same-expiry merge · case 01

Two lots that end up with the same grace expiry show only the last lot points.

Loyalty points ledgers● Open access↗
FA-60677

Cancelled reward reinstatement: same-expiry merge · case 02

Two lots that end up with the same grace expiry show only the last lot points.

Loyalty points ledgers◈ Members↗
FA-60678

Cancelled reward reinstatement: same-expiry merge · case 03

Two lots that end up with the same grace expiry show only the last lot points.

Loyalty points ledgers◈ Members↗
FA-60679

Cancelled reward reinstatement: same-expiry merge · case 04

Two lots that end up with the same grace expiry show only the last lot points.

Loyalty points ledgers◈ Members↗
FA-60680

Cancelled reward reinstatement: same-expiry merge · case 05

Two lots that end up with the same grace expiry show only the last lot points.

Loyalty points ledgers◈ Members↗
FA-60681

Cancelled reward reinstatement: cancellation age limit · case 01

A cancellation exactly at the age limit is refused.

Loyalty points ledgers● Open access↗
FA-60682

Cancelled reward reinstatement: cancellation age limit · case 02

A cancellation exactly at the age limit is refused.

Loyalty points ledgers◈ Members↗
FA-60683

Cancelled reward reinstatement: cancellation age limit · case 03

A cancellation exactly at the age limit is refused.

Loyalty points ledgers◈ Members↗
FA-60684

Cancelled reward reinstatement: cancellation age limit · case 04

A cancellation exactly at the age limit is refused.

Loyalty points ledgers◈ Members↗
FA-60685

Cancelled reward reinstatement: cancellation age limit · case 05

A cancellation exactly at the age limit is refused.

Loyalty points ledgers◈ Members↗
FA-60686

Cancelled reward reinstatement: lot ordering · case 01

Reinstated lots are listed in source order, so the soonest-expiring lot is not shown first.

Loyalty points ledgers● Open access↗
FA-60687

Cancelled reward reinstatement: lot ordering · case 02

Reinstated lots are listed in source order, so the soonest-expiring lot is not shown first.

Loyalty points ledgers◈ Members↗
FA-60688

Cancelled reward reinstatement: lot ordering · case 03

Reinstated lots are listed in source order, so the soonest-expiring lot is not shown first.

Loyalty points ledgers◈ Members↗
FA-60689

Cancelled reward reinstatement: lot ordering · case 04

Reinstated lots are listed in source order, so the soonest-expiring lot is not shown first.

Loyalty points ledgers◈ Members↗
FA-60690

Cancelled reward reinstatement: lot ordering · case 05

Reinstated lots are listed in source order, so the soonest-expiring lot is not shown first.

Loyalty points ledgers◈ Members↗
FA-60691

Birthday bonus window: leap-day fallback date · case 01

Members born on Feb 29 get their bonus window centred on March 1 in common years.

Loyalty points ledgers● Open access↗
FA-60692

Birthday bonus window: leap-day fallback date · case 02

Members born on Feb 29 get their bonus window centred on March 1 in common years.

Loyalty points ledgers◈ Members↗
FA-60693

Birthday bonus window: leap-day fallback date · case 03

Members born on Feb 29 get their bonus window centred on March 1 in common years.

Loyalty points ledgers◈ Members↗
FA-60694

Birthday bonus window: leap-day fallback date · case 04

Members born on Feb 29 get their bonus window centred on March 1 in common years.

Loyalty points ledgers◈ Members↗
FA-60695

Birthday bonus window: leap-day fallback date · case 05

Members born on Feb 29 get their bonus window centred on March 1 in common years.

Loyalty points ledgers◈ Members↗
FA-60696

Birthday bonus window: inclusive window · case 01

A purchase exactly a week after the birthday misses a seven-day bonus window.

Loyalty points ledgers● Open access↗
FA-60697

Birthday bonus window: inclusive window · case 02

A purchase exactly a week after the birthday misses a seven-day bonus window.

Loyalty points ledgers◈ Members↗
FA-60698

Birthday bonus window: inclusive window · case 03

A purchase exactly a week after the birthday misses a seven-day bonus window.

Loyalty points ledgers◈ Members↗
FA-60699

Birthday bonus window: inclusive window · case 04

A purchase exactly a week after the birthday misses a seven-day bonus window.

Loyalty points ledgers◈ Members↗
FA-60700

Birthday bonus window: inclusive window · case 05

A purchase exactly a week after the birthday misses a seven-day bonus window.

Loyalty points ledgers◈ 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 ↗