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
Seasons spanning New Year never match · case 01
Travel on 3 January is priced as LOW instead of the December-January PEAK season.
Seasons spanning New Year never match · case 02
Travel on 3 January is priced as LOW instead of the December-January PEAK season.
Seasons spanning New Year never match · case 03
Travel on 3 January is priced as LOW instead of the December-January PEAK season.
Seasons spanning New Year never match · case 04
Travel on 3 January is priced as LOW instead of the December-January PEAK season.
Seasons spanning New Year never match · case 05
Travel on 3 January is priced as LOW instead of the December-January PEAK season.
Last day of a season excluded · case 01
Travel on 31 August falls out of the summer season.
Last day of a season excluded · case 02
Travel on 31 August falls out of the summer season.
Last day of a season excluded · case 03
Travel on 31 August falls out of the summer season.
Last day of a season excluded · case 04
Travel on 31 August falls out of the summer season.
Last day of a season excluded · case 05
Travel on 31 August falls out of the summer season.
Later overlapping season overrides the first match · case 01
A date covered by both a December promotion and the peak season gets the later-listed code.
Later overlapping season overrides the first match · case 02
A date covered by both a December promotion and the peak season gets the later-listed code.
Later overlapping season overrides the first match · case 03
A date covered by both a December promotion and the peak season gets the later-listed code.
Later overlapping season overrides the first match · case 04
A date covered by both a December promotion and the peak season gets the later-listed code.
Later overlapping season overrides the first match · case 05
A date covered by both a December promotion and the peak season gets the later-listed code.
Weekday codes read with zero-based Monday · case 01
Weekend-only summer fares match Friday and Saturday instead of Saturday and Sunday.
Weekday codes read with zero-based Monday · case 02
Weekend-only summer fares match Friday and Saturday instead of Saturday and Sunday.
Weekday codes read with zero-based Monday · case 03
Weekend-only summer fares match Friday and Saturday instead of Saturday and Sunday.
Weekday codes read with zero-based Monday · case 04
Weekend-only summer fares match Friday and Saturday instead of Saturday and Sunday.
Weekday codes read with zero-based Monday · case 05
Weekend-only summer fares match Friday and Saturday instead of Saturday and Sunday.
Month-day bounds compared as text · case 01
An October date is judged outside a September-to-November season.
Month-day bounds compared as text · case 02
An October date is judged outside a September-to-November season.
Month-day bounds compared as text · case 03
An October date is judged outside a September-to-November season.
Month-day bounds compared as text · case 04
An October date is judged outside a September-to-November season.
Month-day bounds compared as text · case 05
An October date is judged outside a September-to-November season.
Staying through a blackout blocks the return · case 01
A trip out on 11 December and back on 5 January is refused because the Christmas blackout falls in between.
Staying through a blackout blocks the return · case 02
A trip out on 11 December and back on 5 January is refused because the Christmas blackout falls in between.
Staying through a blackout blocks the return · case 03
A trip out on 11 December and back on 5 January is refused because the Christmas blackout falls in between.
Staying through a blackout blocks the return · case 04
A trip out on 11 December and back on 5 January is refused because the Christmas blackout falls in between.
Staying through a blackout blocks the return · case 05
A trip out on 11 December and back on 5 January is refused because the Christmas blackout falls in between.
Final blackout day open for travel · case 01
Departures on the last day of a blackout period are sold.
Final blackout day open for travel · case 02
Departures on the last day of a blackout period are sold.
Final blackout day open for travel · case 03
Departures on the last day of a blackout period are sold.
Final blackout day open for travel · case 04
Departures on the last day of a blackout period are sold.
Final blackout day open for travel · case 05
Departures on the last day of a blackout period are sold.
One-day blackout entries ignored · case 01
Travel on a single blacked-out holiday is sold.
One-day blackout entries ignored · case 02
Travel on a single blacked-out holiday is sold.
One-day blackout entries ignored · case 03
Travel on a single blacked-out holiday is sold.
One-day blackout entries ignored · case 04
Travel on a single blacked-out holiday is sold.
One-day blackout entries ignored · case 05
Travel on a single blacked-out holiday is sold.
Only the first blackout range is checked · case 01
Travel during a later blackout period is accepted.
Only the first blackout range is checked · case 02
Travel during a later blackout period is accepted.
Only the first blackout range is checked · case 03
Travel during a later blackout period is accepted.
Only the first blackout range is checked · case 04
Travel during a later blackout period is accepted.
Only the first blackout range is checked · case 05
Travel during a later blackout period is accepted.
A direction inside overlapping blackouts reported twice · case 01
Christmas Eve travel shows OUT twice because two blackout ranges overlap.
A direction inside overlapping blackouts reported twice · case 02
Christmas Eve travel shows OUT twice because two blackout ranges overlap.
A direction inside overlapping blackouts reported twice · case 03
Christmas Eve travel shows OUT twice because two blackout ranges overlap.
A direction inside overlapping blackouts reported twice · case 04
Christmas Eve travel shows OUT twice because two blackout ranges overlap.
A direction inside overlapping blackouts reported twice · case 05
Christmas Eve travel shows OUT twice because two blackout ranges overlap.
Higher-of penalty charges the lower amount · case 01
Cheap tickets are charged a tiny percentage fee instead of the minimum flat fee.
Higher-of penalty charges the lower amount · case 02
Cheap tickets are charged a tiny percentage fee instead of the minimum flat fee.
Higher-of penalty charges the lower amount · case 03
Cheap tickets are charged a tiny percentage fee instead of the minimum flat fee.
Higher-of penalty charges the lower amount · case 04
Cheap tickets are charged a tiny percentage fee instead of the minimum flat fee.
Higher-of penalty charges the lower amount · case 05
Cheap tickets are charged a tiny percentage fee instead of the minimum flat fee.
Percentage penalty computed on the new fare · case 01
Upgrading to an expensive fare inflates the change penalty.
Percentage penalty computed on the new fare · case 02
Upgrading to an expensive fare inflates the change penalty.
Percentage penalty computed on the new fare · case 03
Upgrading to an expensive fare inflates the change penalty.
Percentage penalty computed on the new fare · case 04
Upgrading to an expensive fare inflates the change penalty.
Percentage penalty computed on the new fare · case 05
Upgrading to an expensive fare inflates the change penalty.
Change at exactly the end of the free window charged · case 01
A change made exactly 24 hours after ticketing is charged the full fee.
Change at exactly the end of the free window charged · case 02
A change made exactly 24 hours after ticketing is charged the full fee.
Change at exactly the end of the free window charged · case 03
A change made exactly 24 hours after ticketing is charged the full fee.
Change at exactly the end of the free window charged · case 04
A change made exactly 24 hours after ticketing is charged the full fee.
Change at exactly the end of the free window charged · case 05
A change made exactly 24 hours after ticketing is charged the full fee.
Change fee absorbed by the downgrade residual · case 01
Downgrades collect nothing even though the contract always collects the fee.
Change fee absorbed by the downgrade residual · case 02
Downgrades collect nothing even though the contract always collects the fee.
Change fee absorbed by the downgrade residual · case 03
Downgrades collect nothing even though the contract always collects the fee.
Change fee absorbed by the downgrade residual · case 04
Downgrades collect nothing even though the contract always collects the fee.
Change fee absorbed by the downgrade residual · case 05
Downgrades collect nothing even though the contract always collects the fee.
Forfeit fares issue residual credit · case 01
Non-refundable downgrades produce a travel credit.
Forfeit fares issue residual credit · case 02
Non-refundable downgrades produce a travel credit.
Forfeit fares issue residual credit · case 03
Non-refundable downgrades produce a travel credit.
Forfeit fares issue residual credit · case 04
Non-refundable downgrades produce a travel credit.
Forfeit fares issue residual credit · case 05
Non-refundable downgrades produce a travel credit.
Downgrade fare difference reduces the amount collected · case 01
Downgrades report a collection below the fee, sometimes negative.
Downgrade fare difference reduces the amount collected · case 02
Downgrades report a collection below the fee, sometimes negative.
Downgrade fare difference reduces the amount collected · case 03
Downgrades report a collection below the fee, sometimes negative.
Downgrade fare difference reduces the amount collected · case 04
Downgrades report a collection below the fee, sometimes negative.
Downgrade fare difference reduces the amount collected · case 05
Downgrades report a collection below the fee, sometimes negative.
Age taken as the difference of calendar years · case 01
A child travelling the day before the 12th birthday is priced as an adult.
Age taken as the difference of calendar years · case 02
A child travelling the day before the 12th birthday is priced as an adult.
Age taken as the difference of calendar years · case 03
A child travelling the day before the 12th birthday is priced as an adult.
Age taken as the difference of calendar years · case 04
A child travelling the day before the 12th birthday is priced as an adult.
Age taken as the difference of calendar years · case 05
A child travelling the day before the 12th birthday is priced as an adult.
Twelve-year-olds priced as children · case 01
Travellers on or after their 12th birthday still receive the child discount.
Twelve-year-olds priced as children · case 02
Travellers on or after their 12th birthday still receive the child discount.
Twelve-year-olds priced as children · case 03
Travellers on or after their 12th birthday still receive the child discount.
Twelve-year-olds priced as children · case 04
Travellers on or after their 12th birthday still receive the child discount.
Twelve-year-olds priced as children · case 05
Travellers on or after their 12th birthday still receive the child discount.
Infants swallowed by the child bracket · case 01
Lap infants are quoted at 75% instead of 10%.
Infants swallowed by the child bracket · case 02
Lap infants are quoted at 75% instead of 10%.
Infants swallowed by the child bracket · case 03
Lap infants are quoted at 75% instead of 10%.
Infants swallowed by the child bracket · case 04
Lap infants are quoted at 75% instead of 10%.
Infants swallowed by the child bracket · case 05
Lap infants are quoted at 75% instead of 10%.
Leap-day birthday observed on 28 February · case 01
A child born on 29 February turns 12 a day early in non-leap years.
Leap-day birthday observed on 28 February · case 02
A child born on 29 February turns 12 a day early in non-leap years.
Leap-day birthday observed on 28 February · case 03
A child born on 29 February turns 12 a day early in non-leap years.
Leap-day birthday observed on 28 February · case 04
A child born on 29 February turns 12 a day early in non-leap years.
Leap-day birthday observed on 28 February · case 05
A child born on 29 February turns 12 a day early in non-leap years.
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 ↗