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
Vertical datum conversion: Chart datum is unknown unless listed · case 01
Conversions to or from CD return None.
Vertical datum conversion: Chart datum is unknown unless listed · case 02
Conversions to or from CD return None.
Vertical datum conversion: Chart datum is unknown unless listed · case 03
Conversions to or from CD return None.
Vertical datum conversion: Chart datum is unknown unless listed · case 04
Conversions to or from CD return None.
Vertical datum conversion: Chart datum is unknown unless listed · case 05
Conversions to or from CD return None.
Vertical datum conversion: Unknown datum names pass the value through unchanged · case 01
A typo in the datum name silently yields an unconverted value.
Vertical datum conversion: Unknown datum names pass the value through unchanged · case 02
A typo in the datum name silently yields an unconverted value.
Vertical datum conversion: Unknown datum names pass the value through unchanged · case 03
A typo in the datum name silently yields an unconverted value.
Vertical datum conversion: Unknown datum names pass the value through unchanged · case 04
A typo in the datum name silently yields an unconverted value.
Vertical datum conversion: Unknown datum names pass the value through unchanged · case 05
A typo in the datum name silently yields an unconverted value.
Vertical datum conversion: Drying heights are converted as depths · case 01
Drying banks appear lower after conversion to a higher datum.
Vertical datum conversion: Drying heights are converted as depths · case 02
Drying banks appear lower after conversion to a higher datum.
Vertical datum conversion: Drying heights are converted as depths · case 03
Drying banks appear lower after conversion to a higher datum.
Vertical datum conversion: Drying heights are converted as depths · case 04
Drying banks appear lower after conversion to a higher datum.
Vertical datum conversion: Drying heights are converted as depths · case 05
Drying banks appear lower after conversion to a higher datum.
Tide table zone time to UTC: Zone description is subtracted · case 01
UTC times are off by twice the zone description.
Tide table zone time to UTC: Zone description is subtracted · case 02
UTC times are off by twice the zone description.
Tide table zone time to UTC: Zone description is subtracted · case 03
UTC times are off by twice the zone description.
Tide table zone time to UTC: Zone description is subtracted · case 04
UTC times are off by twice the zone description.
Tide table zone time to UTC: Zone description is subtracted · case 05
UTC times are off by twice the zone description.
Tide table zone time to UTC: Daylight time adds an hour to UTC · case 01
Summer tide times are two hours off in UTC.
Tide table zone time to UTC: Daylight time adds an hour to UTC · case 02
Summer tide times are two hours off in UTC.
Tide table zone time to UTC: Daylight time adds an hour to UTC · case 03
Summer tide times are two hours off in UTC.
Tide table zone time to UTC: Daylight time adds an hour to UTC · case 04
Summer tide times are two hours off in UTC.
Tide table zone time to UTC: Daylight time adds an hour to UTC · case 05
Summer tide times are two hours off in UTC.
Tide table zone time to UTC: Crossing midnight keeps the local date · case 01
Late evening and early morning events are filed on the wrong day.
Tide table zone time to UTC: Crossing midnight keeps the local date · case 02
Late evening and early morning events are filed on the wrong day.
Tide table zone time to UTC: Crossing midnight keeps the local date · case 03
Late evening and early morning events are filed on the wrong day.
Tide table zone time to UTC: Crossing midnight keeps the local date · case 04
Late evening and early morning events are filed on the wrong day.
Tide table zone time to UTC: Crossing midnight keeps the local date · case 05
Late evening and early morning events are filed on the wrong day.
Tide table zone time to UTC: Half-hour zone descriptions are truncated · case 01
Tables for half-hour zones are thirty minutes off.
Tide table zone time to UTC: Half-hour zone descriptions are truncated · case 02
Tables for half-hour zones are thirty minutes off.
Tide table zone time to UTC: Half-hour zone descriptions are truncated · case 03
Tables for half-hour zones are thirty minutes off.
Tide table zone time to UTC: Half-hour zone descriptions are truncated · case 04
Tables for half-hour zones are thirty minutes off.
Tide table zone time to UTC: Half-hour zone descriptions are truncated · case 05
Tables for half-hour zones are thirty minutes off.
Tide table zone time to UTC: UTC output uses a twelve-hour clock · case 01
Afternoon events are indistinguishable from morning ones.
Tide table zone time to UTC: UTC output uses a twelve-hour clock · case 02
Afternoon events are indistinguishable from morning ones.
Tide table zone time to UTC: UTC output uses a twelve-hour clock · case 03
Afternoon events are indistinguishable from morning ones.
Tide table zone time to UTC: UTC output uses a twelve-hour clock · case 04
Afternoon events are indistinguishable from morning ones.
Tide table zone time to UTC: UTC output uses a twelve-hour clock · case 05
Afternoon events are indistinguishable from morning ones.
Tidal coefficient classification: Full range is used where the half range belongs · case 01
Coefficients double and nearly every tide is clamped to 120.
Tidal coefficient classification: Full range is used where the half range belongs · case 02
Coefficients double and nearly every tide is clamped to 120.
Tidal coefficient classification: Full range is used where the half range belongs · case 03
Coefficients double and nearly every tide is clamped to 120.
Tidal coefficient classification: Full range is used where the half range belongs · case 04
Coefficients double and nearly every tide is clamped to 120.
Tidal coefficient classification: Full range is used where the half range belongs · case 05
Coefficients double and nearly every tide is clamped to 120.
Tidal coefficient classification: Spring test shadows the exceptional-tide class · case 01
Grandes marees are never flagged as exceptional.
Tidal coefficient classification: Spring test shadows the exceptional-tide class · case 02
Grandes marees are never flagged as exceptional.
Tidal coefficient classification: Spring test shadows the exceptional-tide class · case 03
Grandes marees are never flagged as exceptional.
Tidal coefficient classification: Spring test shadows the exceptional-tide class · case 04
Grandes marees are never flagged as exceptional.
Tidal coefficient classification: Spring test shadows the exceptional-tide class · case 05
Grandes marees are never flagged as exceptional.
Tidal coefficient classification: Coefficients escape the published 20..120 scale · case 01
Extreme ranges produce coefficients such as 131 or 12.
Tidal coefficient classification: Coefficients escape the published 20..120 scale · case 02
Extreme ranges produce coefficients such as 131 or 12.
Tidal coefficient classification: Coefficients escape the published 20..120 scale · case 03
Extreme ranges produce coefficients such as 131 or 12.
Tidal coefficient classification: Coefficients escape the published 20..120 scale · case 04
Extreme ranges produce coefficients such as 131 or 12.
Tidal coefficient classification: Coefficients escape the published 20..120 scale · case 05
Extreme ranges produce coefficients such as 131 or 12.
Tidal coefficient classification: Coefficient 70 is not classed as spring · case 01
Borderline spring tides are labelled mean.
Tidal coefficient classification: Coefficient 70 is not classed as spring · case 02
Borderline spring tides are labelled mean.
Tidal coefficient classification: Coefficient 70 is not classed as spring · case 03
Borderline spring tides are labelled mean.
Tidal coefficient classification: Coefficient 70 is not classed as spring · case 04
Borderline spring tides are labelled mean.
Tidal coefficient classification: Coefficient 70 is not classed as spring · case 05
Borderline spring tides are labelled mean.
Tidal coefficient classification: Only the preceding low water sets the range · case 01
Asymmetric tides get coefficients from one side of the high water.
Tidal coefficient classification: Only the preceding low water sets the range · case 02
Asymmetric tides get coefficients from one side of the high water.
Tidal coefficient classification: Only the preceding low water sets the range · case 03
Asymmetric tides get coefficients from one side of the high water.
Tidal coefficient classification: Only the preceding low water sets the range · case 04
Asymmetric tides get coefficients from one side of the high water.
Tidal coefficient classification: Only the preceding low water sets the range · case 05
Asymmetric tides get coefficients from one side of the high water.
Slack water from current samples: Slack across a zero run is timed at the next moving sample · case 01
Recorded slack water is late by half the stand.
Slack water from current samples: Slack across a zero run is timed at the next moving sample · case 02
Recorded slack water is late by half the stand.
Slack water from current samples: Slack across a zero run is timed at the next moving sample · case 03
Recorded slack water is late by half the stand.
Slack water from current samples: Slack across a zero run is timed at the next moving sample · case 04
Recorded slack water is late by half the stand.
Slack water from current samples: Slack across a zero run is timed at the next moving sample · case 05
Recorded slack water is late by half the stand.
Slack water from current samples: Slack is interpolated with the wrong velocity ratio · case 01
Slack times are mirrored inside the sample interval.
Slack water from current samples: Slack is interpolated with the wrong velocity ratio · case 02
Slack times are mirrored inside the sample interval.
Slack water from current samples: Slack is interpolated with the wrong velocity ratio · case 03
Slack times are mirrored inside the sample interval.
Slack water from current samples: Slack is interpolated with the wrong velocity ratio · case 04
Slack times are mirrored inside the sample interval.
Slack water from current samples: Slack is interpolated with the wrong velocity ratio · case 05
Slack times are mirrored inside the sample interval.
Slack water from current samples: A zero sample without reversal is reported as slack · case 01
A stream that eases to zero and resumes in the same direction produces two false slacks.
Slack water from current samples: A zero sample without reversal is reported as slack · case 02
A stream that eases to zero and resumes in the same direction produces two false slacks.
Slack water from current samples: A zero sample without reversal is reported as slack · case 03
A stream that eases to zero and resumes in the same direction produces two false slacks.
Slack water from current samples: A zero sample without reversal is reported as slack · case 04
A stream that eases to zero and resumes in the same direction produces two false slacks.
Slack water from current samples: A zero sample without reversal is reported as slack · case 05
A stream that eases to zero and resumes in the same direction produces two false slacks.
Slack water from current samples: Slack labels name the stream that ends · case 01
Flood-begins and ebb-begins are swapped in the tide table.
Slack water from current samples: Slack labels name the stream that ends · case 02
Flood-begins and ebb-begins are swapped in the tide table.
Slack water from current samples: Slack labels name the stream that ends · case 03
Flood-begins and ebb-begins are swapped in the tide table.
Slack water from current samples: Slack labels name the stream that ends · case 04
Flood-begins and ebb-begins are swapped in the tide table.
Slack water from current samples: Slack labels name the stream that ends · case 05
Flood-begins and ebb-begins are swapped in the tide table.
Slack water from current samples: The previous moving sample is only set once · case 01
After the first reversal later slacks are missed or mistimed.
Slack water from current samples: The previous moving sample is only set once · case 02
After the first reversal later slacks are missed or mistimed.
Slack water from current samples: The previous moving sample is only set once · case 03
After the first reversal later slacks are missed or mistimed.
Slack water from current samples: The previous moving sample is only set once · case 04
After the first reversal later slacks are missed or mistimed.
Slack water from current samples: The previous moving sample is only set once · case 05
After the first reversal later slacks are missed or mistimed.
Standard port tidal curve: Spring-neap blend is driven by the high water height · case 01
Ports with a high chart datum always use the spring curve.
Standard port tidal curve: Spring-neap blend is driven by the high water height · case 02
Ports with a high chart datum always use the spring curve.
Standard port tidal curve: Spring-neap blend is driven by the high water height · case 03
Ports with a high chart datum always use the spring curve.
Standard port tidal curve: Spring-neap blend is driven by the high water height · case 04
Ports with a high chart datum always use the spring curve.
Standard port tidal curve: Spring-neap blend is driven by the high water height · case 05
Ports with a high chart datum always use the spring curve.
Standard port tidal curve: Time weight is measured from the later table point · case 01
Heights between table hours are mirrored within each hour.
Standard port tidal curve: Time weight is measured from the later table point · case 02
Heights between table hours are mirrored within each hour.
Standard port tidal curve: Time weight is measured from the later table point · case 03
Heights between table hours are mirrored within each hour.
Standard port tidal curve: Time weight is measured from the later table point · case 04
Heights between table hours are mirrored within each hour.
Standard port tidal curve: Time weight is measured from the later table point · case 05
Heights between table hours are mirrored within each hour.
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 ↗