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 ↗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
Breakage-based revenue recognition: breakage acceleration · case 01
Revenue is recognized only at face value per redeemed point, ignoring expected breakage.
Breakage-based revenue recognition: breakage acceleration · case 02
Revenue is recognized only at face value per redeemed point, ignoring expected breakage.
Breakage-based revenue recognition: breakage acceleration · case 03
Revenue is recognized only at face value per redeemed point, ignoring expected breakage.
Breakage-based revenue recognition: breakage acceleration · case 04
Revenue is recognized only at face value per redeemed point, ignoring expected breakage.
Breakage-based revenue recognition: breakage acceleration · case 05
Revenue is recognized only at face value per redeemed point, ignoring expected breakage.
Breakage-based revenue recognition: proportion rounding stage · case 01
Recognized revenue lags by many cents on large programs.
Breakage-based revenue recognition: proportion rounding stage · case 02
Recognized revenue lags by many cents on large programs.
Breakage-based revenue recognition: proportion rounding stage · case 03
Recognized revenue lags by many cents on large programs.
Breakage-based revenue recognition: proportion rounding stage · case 04
Recognized revenue lags by many cents on large programs.
Breakage-based revenue recognition: proportion rounding stage · case 05
Recognized revenue lags by many cents on large programs.
Breakage-based revenue recognition: millicent conversion · case 01
The deferred balance is ten times too large.
Breakage-based revenue recognition: millicent conversion · case 02
The deferred balance is ten times too large.
Breakage-based revenue recognition: millicent conversion · case 03
The deferred balance is ten times too large.
Breakage-based revenue recognition: millicent conversion · case 04
The deferred balance is ten times too large.
Breakage-based revenue recognition: millicent conversion · case 05
The deferred balance is ten times too large.
Idempotent points event ledger: dedupe before ordering · case 01
A redelivered earn with a later timestamp is applied at the wrong position.
Idempotent points event ledger: dedupe before ordering · case 02
A redelivered earn with a later timestamp is applied at the wrong position.
Idempotent points event ledger: dedupe before ordering · case 03
A redelivered earn with a later timestamp is applied at the wrong position.
Idempotent points event ledger: dedupe before ordering · case 04
A redelivered earn with a later timestamp is applied at the wrong position.
Idempotent points event ledger: dedupe before ordering · case 05
A redelivered earn with a later timestamp is applied at the wrong position.
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.
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.
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.
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.
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.
Idempotent points event ledger: reversal sign · case 01
Reversing a redemption removes more points instead of restoring them.
Idempotent points event ledger: reversal sign · case 02
Reversing a redemption removes more points instead of restoring them.
Idempotent points event ledger: reversal sign · case 03
Reversing a redemption removes more points instead of restoring them.
Idempotent points event ledger: reversal sign · case 04
Reversing a redemption removes more points instead of restoring them.
Idempotent points event ledger: reversal sign · case 05
Reversing a redemption removes more points instead of restoring them.
Idempotent points event ledger: single reversal guard · case 01
The same earn can be reversed repeatedly, draining the balance.
Idempotent points event ledger: single reversal guard · case 02
The same earn can be reversed repeatedly, draining the balance.
Idempotent points event ledger: single reversal guard · case 03
The same earn can be reversed repeatedly, draining the balance.
Idempotent points event ledger: single reversal guard · case 04
The same earn can be reversed repeatedly, draining the balance.
Idempotent points event ledger: single reversal guard · case 05
The same earn can be reversed repeatedly, draining the balance.
Idempotent points event ledger: rejected redemption record · case 01
Reversing a redemption that was rejected for insufficient points credits points that were never taken.
Idempotent points event ledger: rejected redemption record · case 02
Reversing a redemption that was rejected for insufficient points credits points that were never taken.
Idempotent points event ledger: rejected redemption record · case 03
Reversing a redemption that was rejected for insufficient points credits points that were never taken.
Idempotent points event ledger: rejected redemption record · case 04
Reversing a redemption that was rejected for insufficient points credits points that were never taken.
Idempotent points event ledger: rejected redemption record · case 05
Reversing a redemption that was rejected for insufficient points credits points that were never taken.
Partner miles conversion: conversion block floor · case 01
Odd point balances are converted in full, including fractions of a transfer block.
Partner miles conversion: conversion block floor · case 02
Odd point balances are converted in full, including fractions of a transfer block.
Partner miles conversion: conversion block floor · case 03
Odd point balances are converted in full, including fractions of a transfer block.
Partner miles conversion: conversion block floor · case 04
Odd point balances are converted in full, including fractions of a transfer block.
Partner miles conversion: conversion block floor · case 05
Odd point balances are converted in full, including fractions of a transfer block.
Partner miles conversion: minimum on usable points · case 01
A conversion goes through with fewer points than the partner minimum after block flooring.
Partner miles conversion: minimum on usable points · case 02
A conversion goes through with fewer points than the partner minimum after block flooring.
Partner miles conversion: minimum on usable points · case 03
A conversion goes through with fewer points than the partner minimum after block flooring.
Partner miles conversion: minimum on usable points · case 04
A conversion goes through with fewer points than the partner minimum after block flooring.
Partner miles conversion: minimum on usable points · case 05
A conversion goes through with fewer points than the partner minimum after block flooring.
Partner miles conversion: ratio orientation · case 01
Members get 4 miles for every 3 points on a 3:4 program.
Partner miles conversion: ratio orientation · case 02
Members get 4 miles for every 3 points on a 3:4 program.
Partner miles conversion: ratio orientation · case 03
Members get 4 miles for every 3 points on a 3:4 program.
Partner miles conversion: ratio orientation · case 04
Members get 4 miles for every 3 points on a 3:4 program.
Partner miles conversion: ratio orientation · case 05
Members get 4 miles for every 3 points on a 3:4 program.
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.
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.
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.
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.
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.
Partner miles conversion: bonus base · case 01
Bonus miles are computed on points, over- or under-paying on non 1:1 ratios.
Partner miles conversion: bonus base · case 02
Bonus miles are computed on points, over- or under-paying on non 1:1 ratios.
Partner miles conversion: bonus base · case 03
Bonus miles are computed on points, over- or under-paying on non 1:1 ratios.
Partner miles conversion: bonus base · case 04
Bonus miles are computed on points, over- or under-paying on non 1:1 ratios.
Partner miles conversion: bonus base · case 05
Bonus miles are computed on points, over- or under-paying on non 1:1 ratios.
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.
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.
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.
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.
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.
Cancelled reward reinstatement: grace anchor · case 01
Reinstated points that had lapsed expire immediately or within days of reinstatement.
Cancelled reward reinstatement: grace anchor · case 02
Reinstated points that had lapsed expire immediately or within days of reinstatement.
Cancelled reward reinstatement: grace anchor · case 03
Reinstated points that had lapsed expire immediately or within days of reinstatement.
Cancelled reward reinstatement: grace anchor · case 04
Reinstated points that had lapsed expire immediately or within days of reinstatement.
Cancelled reward reinstatement: grace anchor · case 05
Reinstated points that had lapsed expire immediately or within days of reinstatement.
Cancelled reward reinstatement: same-expiry merge · case 01
Two lots that end up with the same grace expiry show only the last lot points.
Cancelled reward reinstatement: same-expiry merge · case 02
Two lots that end up with the same grace expiry show only the last lot points.
Cancelled reward reinstatement: same-expiry merge · case 03
Two lots that end up with the same grace expiry show only the last lot points.
Cancelled reward reinstatement: same-expiry merge · case 04
Two lots that end up with the same grace expiry show only the last lot points.
Cancelled reward reinstatement: same-expiry merge · case 05
Two lots that end up with the same grace expiry show only the last lot points.
Cancelled reward reinstatement: cancellation age limit · case 01
A cancellation exactly at the age limit is refused.
Cancelled reward reinstatement: cancellation age limit · case 02
A cancellation exactly at the age limit is refused.
Cancelled reward reinstatement: cancellation age limit · case 03
A cancellation exactly at the age limit is refused.
Cancelled reward reinstatement: cancellation age limit · case 04
A cancellation exactly at the age limit is refused.
Cancelled reward reinstatement: cancellation age limit · case 05
A cancellation exactly at the age limit is refused.
Cancelled reward reinstatement: lot ordering · case 01
Reinstated lots are listed in source order, so the soonest-expiring lot is not shown first.
Cancelled reward reinstatement: lot ordering · case 02
Reinstated lots are listed in source order, so the soonest-expiring lot is not shown first.
Cancelled reward reinstatement: lot ordering · case 03
Reinstated lots are listed in source order, so the soonest-expiring lot is not shown first.
Cancelled reward reinstatement: lot ordering · case 04
Reinstated lots are listed in source order, so the soonest-expiring lot is not shown first.
Cancelled reward reinstatement: lot ordering · case 05
Reinstated lots are listed in source order, so the soonest-expiring lot is not shown first.
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.
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.
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.
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.
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.
Birthday bonus window: inclusive window · case 01
A purchase exactly a week after the birthday misses a seven-day bonus window.
Birthday bonus window: inclusive window · case 02
A purchase exactly a week after the birthday misses a seven-day bonus window.
Birthday bonus window: inclusive window · case 03
A purchase exactly a week after the birthday misses a seven-day bonus window.
Birthday bonus window: inclusive window · case 04
A purchase exactly a week after the birthday misses a seven-day bonus window.
Birthday bonus window: inclusive window · case 05
A purchase exactly a week after the birthday misses a seven-day bonus window.
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 ↗