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
Each year indexes the previously rounded threshold · case 01
After a few years thresholds lag the published cumulative indexation.
Each year indexes the previously rounded threshold · case 02
After a few years thresholds lag the published cumulative indexation.
Each year indexes the previously rounded threshold · case 03
After a few years thresholds lag the published cumulative indexation.
Each year indexes the previously rounded threshold · case 04
After a few years thresholds lag the published cumulative indexation.
Each year indexes the previously rounded threshold · case 05
After a few years thresholds lag the published cumulative indexation.
Indexed thresholds are rounded to the nearest 50 instead of down · case 01
Some thresholds are 50 higher than the published figure.
Indexed thresholds are rounded to the nearest 50 instead of down · case 02
Some thresholds are 50 higher than the published figure.
Indexed thresholds are rounded to the nearest 50 instead of down · case 03
Some thresholds are 50 higher than the published figure.
Indexed thresholds are rounded to the nearest 50 instead of down · case 04
Some thresholds are 50 higher than the published figure.
Indexed thresholds are rounded to the nearest 50 instead of down · case 05
Some thresholds are 50 higher than the published figure.
A deflationary year lowers the bracket thresholds · case 01
A factor below one reduces thresholds, raising real tax.
A deflationary year lowers the bracket thresholds · case 02
A factor below one reduces thresholds, raising real tax.
A deflationary year lowers the bracket thresholds · case 03
A factor below one reduces thresholds, raising real tax.
A deflationary year lowers the bracket thresholds · case 04
A factor below one reduces thresholds, raising real tax.
A deflationary year lowers the bracket thresholds · case 05
A factor below one reduces thresholds, raising real tax.
Only the latest yearly factor is applied to the base · case 01
Thresholds reflect one year of inflation after several years of indexing.
Only the latest yearly factor is applied to the base · case 02
Thresholds reflect one year of inflation after several years of indexing.
Only the latest yearly factor is applied to the base · case 03
Thresholds reflect one year of inflation after several years of indexing.
Only the latest yearly factor is applied to the base · case 04
Thresholds reflect one year of inflation after several years of indexing.
Only the latest yearly factor is applied to the base · case 05
Thresholds reflect one year of inflation after several years of indexing.
Preferential gains are stacked from zero instead of on top of ordinary income · case 01
A high earner's long-term gains fall into the 0% band.
Preferential gains are stacked from zero instead of on top of ordinary income · case 02
A high earner's long-term gains fall into the 0% band.
Preferential gains are stacked from zero instead of on top of ordinary income · case 03
A high earner's long-term gains fall into the 0% band.
Preferential gains are stacked from zero instead of on top of ordinary income · case 04
A high earner's long-term gains fall into the 0% band.
Preferential gains are stacked from zero instead of on top of ordinary income · case 05
A high earner's long-term gains fall into the 0% band.
Net short-term gains are taxed at preferential rates · case 01
Short-term trading profits enjoy the 0/15% long-term rates.
Net short-term gains are taxed at preferential rates · case 02
Short-term trading profits enjoy the 0/15% long-term rates.
Net short-term gains are taxed at preferential rates · case 03
Short-term trading profits enjoy the 0/15% long-term rates.
Net short-term gains are taxed at preferential rates · case 04
Short-term trading profits enjoy the 0/15% long-term rates.
Net short-term gains are taxed at preferential rates · case 05
Short-term trading profits enjoy the 0/15% long-term rates.
A short-term loss reduces ordinary income while long-term gain stays preferential · case 01
A short-term loss saves ordinary-rate tax although it should first absorb long-term gain.
A short-term loss reduces ordinary income while long-term gain stays preferential · case 02
A short-term loss saves ordinary-rate tax although it should first absorb long-term gain.
A short-term loss reduces ordinary income while long-term gain stays preferential · case 03
A short-term loss saves ordinary-rate tax although it should first absorb long-term gain.
A short-term loss reduces ordinary income while long-term gain stays preferential · case 04
A short-term loss saves ordinary-rate tax although it should first absorb long-term gain.
A short-term loss reduces ordinary income while long-term gain stays preferential · case 05
A short-term loss saves ordinary-rate tax although it should first absorb long-term gain.
The whole net capital loss offsets ordinary income · case 01
A 10,000 capital loss wipes out 10,000 of wages.
The whole net capital loss offsets ordinary income · case 02
A 10,000 capital loss wipes out 10,000 of wages.
The whole net capital loss offsets ordinary income · case 03
A 10,000 capital loss wipes out 10,000 of wages.
The whole net capital loss offsets ordinary income · case 04
A 10,000 capital loss wipes out 10,000 of wages.
The whole net capital loss offsets ordinary income · case 05
A 10,000 capital loss wipes out 10,000 of wages.
Joint filers' 20% band starts at twice the single threshold · case 01
Married couples with large gains pay 15% where the joint schedule charges 20%.
Joint filers' 20% band starts at twice the single threshold · case 02
Married couples with large gains pay 15% where the joint schedule charges 20%.
Joint filers' 20% band starts at twice the single threshold · case 03
Married couples with large gains pay 15% where the joint schedule charges 20%.
Joint filers' 20% band starts at twice the single threshold · case 04
Married couples with large gains pay 15% where the joint schedule charges 20%.
Joint filers' 20% band starts at twice the single threshold · case 05
Married couples with large gains pay 15% where the joint schedule charges 20%.
The allowance is reduced pound for pound above the taper threshold · case 01
The allowance vanishes at 112570 instead of 125140.
The allowance is reduced pound for pound above the taper threshold · case 02
The allowance vanishes at 112570 instead of 125140.
The allowance is reduced pound for pound above the taper threshold · case 03
The allowance vanishes at 112570 instead of 125140.
The allowance is reduced pound for pound above the taper threshold · case 04
The allowance vanishes at 112570 instead of 125140.
The allowance is reduced pound for pound above the taper threshold · case 05
The allowance vanishes at 112570 instead of 125140.
A tapered allowance is allowed to go negative · case 01
Very high earners are taxed on more than their income.
A tapered allowance is allowed to go negative · case 02
Very high earners are taxed on more than their income.
A tapered allowance is allowed to go negative · case 03
Very high earners are taxed on more than their income.
A tapered allowance is allowed to go negative · case 04
Very high earners are taxed on more than their income.
A tapered allowance is allowed to go negative · case 05
Very high earners are taxed on more than their income.
The taper is measured on gross income instead of adjusted net income · case 01
Pension contributions no longer restore the personal allowance.
The taper is measured on gross income instead of adjusted net income · case 02
Pension contributions no longer restore the personal allowance.
The taper is measured on gross income instead of adjusted net income · case 03
Pension contributions no longer restore the personal allowance.
The taper is measured on gross income instead of adjusted net income · case 04
Pension contributions no longer restore the personal allowance.
The taper is measured on gross income instead of adjusted net income · case 05
Pension contributions no longer restore the personal allowance.
Rate bands are applied to total income instead of taxable income · case 01
The higher rate starts 12570 pounds too early.
Rate bands are applied to total income instead of taxable income · case 02
The higher rate starts 12570 pounds too early.
Rate bands are applied to total income instead of taxable income · case 03
The higher rate starts 12570 pounds too early.
Rate bands are applied to total income instead of taxable income · case 04
The higher rate starts 12570 pounds too early.
Rate bands are applied to total income instead of taxable income · case 05
The higher rate starts 12570 pounds too early.
Carryforward credits are consumed before ordinary nonrefundable credits · case 01
Expiring nonrefundable credits are wasted while carryable credits are used up.
Carryforward credits are consumed before ordinary nonrefundable credits · case 02
Expiring nonrefundable credits are wasted while carryable credits are used up.
Carryforward credits are consumed before ordinary nonrefundable credits · case 03
Expiring nonrefundable credits are wasted while carryable credits are used up.
Carryforward credits are consumed before ordinary nonrefundable credits · case 04
Expiring nonrefundable credits are wasted while carryable credits are used up.
Carryforward credits are consumed before ordinary nonrefundable credits · case 05
Expiring nonrefundable credits are wasted while carryable credits are used up.
Nonrefundable credits are allowed to produce a refund · case 01
A nonrefundable credit larger than the tax pays out cash.
Nonrefundable credits are allowed to produce a refund · case 02
A nonrefundable credit larger than the tax pays out cash.
Nonrefundable credits are allowed to produce a refund · case 03
A nonrefundable credit larger than the tax pays out cash.
Nonrefundable credits are allowed to produce a refund · case 04
A nonrefundable credit larger than the tax pays out cash.
Nonrefundable credits are allowed to produce a refund · case 05
A nonrefundable credit larger than the tax pays out cash.
The credit carryforward ignores the part that was used · case 01
The full carry credit is carried forward even after it reduced this year's tax.
The credit carryforward ignores the part that was used · case 02
The full carry credit is carried forward even after it reduced this year's tax.
The credit carryforward ignores the part that was used · case 03
The full carry credit is carried forward even after it reduced this year's tax.
The credit carryforward ignores the part that was used · case 04
The full carry credit is carried forward even after it reduced this year's tax.
The credit carryforward ignores the part that was used · case 05
The full carry credit is carried forward even after it reduced this year's tax.
Refundable credits are capped at the remaining tax · case 01
Refundable credits never produce a refund.
Refundable credits are capped at the remaining tax · case 02
Refundable credits never produce a refund.
Refundable credits are capped at the remaining tax · case 03
Refundable credits never produce a refund.
Refundable credits are capped at the remaining tax · case 04
Refundable credits never produce a refund.
Refundable credits are capped at the remaining tax · case 05
Refundable credits never produce a refund.
An unrecognised credit kind is silently ignored · case 01
A mistyped credit code disappears from the computation without an error.
An unrecognised credit kind is silently ignored · case 02
A mistyped credit code disappears from the computation without an error.
An unrecognised credit kind is silently ignored · case 03
A mistyped credit code disappears from the computation without an error.
An unrecognised credit kind is silently ignored · case 04
A mistyped credit code disappears from the computation without an error.
An unrecognised credit kind is silently ignored · case 05
A mistyped credit code disappears from the computation without an error.
Income exactly at a threshold is assigned to the higher bracket · case 01
Someone with taxable income exactly 40000 is told their marginal rate is 22%.
Income exactly at a threshold is assigned to the higher bracket · case 02
Someone with taxable income exactly 40000 is told their marginal rate is 22%.
Income exactly at a threshold is assigned to the higher bracket · case 03
Someone with taxable income exactly 40000 is told their marginal rate is 22%.
Income exactly at a threshold is assigned to the higher bracket · case 04
Someone with taxable income exactly 40000 is told their marginal rate is 22%.
Income exactly at a threshold is assigned to the higher bracket · case 05
Someone with taxable income exactly 40000 is told their marginal rate is 22%.
The effective rate is computed over taxable instead of gross income · case 01
Effective rates are overstated for every filer with a deduction.
The effective rate is computed over taxable instead of gross income · case 02
Effective rates are overstated for every filer with a deduction.
The effective rate is computed over taxable instead of gross income · case 03
Effective rates are overstated for every filer with a deduction.
The effective rate is computed over taxable instead of gross income · case 04
Effective rates are overstated for every filer with a deduction.
The effective rate is computed over taxable instead of gross income · case 05
Effective rates are overstated for every filer with a deduction.
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 ↗