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
UNTIL value forms and COUNT/UNTIL precedence for timed series: date until · case 01
A date-only UNTIL drops the instance at 09:00 on the UNTIL date.
UNTIL value forms and COUNT/UNTIL precedence for timed series: date until · case 02
A date-only UNTIL drops the instance at 09:00 on the UNTIL date.
UNTIL value forms and COUNT/UNTIL precedence for timed series: date until · case 03
A date-only UNTIL drops the instance at 09:00 on the UNTIL date.
UNTIL value forms and COUNT/UNTIL precedence for timed series: date until · case 04
A date-only UNTIL drops the instance at 09:00 on the UNTIL date.
UNTIL value forms and COUNT/UNTIL precedence for timed series: date until · case 05
A date-only UNTIL drops the instance at 09:00 on the UNTIL date.
UNTIL value forms and COUNT/UNTIL precedence for timed series: until compare · case 01
An instance exactly at a date-time UNTIL is missing.
UNTIL value forms and COUNT/UNTIL precedence for timed series: until compare · case 02
An instance exactly at a date-time UNTIL is missing.
UNTIL value forms and COUNT/UNTIL precedence for timed series: until compare · case 03
An instance exactly at a date-time UNTIL is missing.
UNTIL value forms and COUNT/UNTIL precedence for timed series: until compare · case 04
An instance exactly at a date-time UNTIL is missing.
UNTIL value forms and COUNT/UNTIL precedence for timed series: until compare · case 05
An instance exactly at a date-time UNTIL is missing.
UNTIL value forms and COUNT/UNTIL precedence for timed series: count stop · case 01
A series with both COUNT and UNTIL runs past COUNT until UNTIL is reached.
UNTIL value forms and COUNT/UNTIL precedence for timed series: count stop · case 02
A series with both COUNT and UNTIL runs past COUNT until UNTIL is reached.
UNTIL value forms and COUNT/UNTIL precedence for timed series: count stop · case 03
A series with both COUNT and UNTIL runs past COUNT until UNTIL is reached.
UNTIL value forms and COUNT/UNTIL precedence for timed series: count stop · case 04
A series with both COUNT and UNTIL runs past COUNT until UNTIL is reached.
UNTIL value forms and COUNT/UNTIL precedence for timed series: count stop · case 05
A series with both COUNT and UNTIL runs past COUNT until UNTIL is reached.
Parsing and validating RRULE property text: name case · case 01
A rule written as "freq=weekly" is rejected as missing FREQ.
Parsing and validating RRULE property text: name case · case 02
A rule written as "freq=weekly" is rejected as missing FREQ.
Parsing and validating RRULE property text: name case · case 03
A rule written as "freq=weekly" is rejected as missing FREQ.
Parsing and validating RRULE property text: name case · case 04
A rule written as "freq=weekly" is rejected as missing FREQ.
Parsing and validating RRULE property text: name case · case 05
A rule written as "freq=weekly" is rejected as missing FREQ.
Parsing and validating RRULE property text: duplicate part · case 01
A rule with two COUNT parts silently keeps the last one.
Parsing and validating RRULE property text: duplicate part · case 02
A rule with two COUNT parts silently keeps the last one.
Parsing and validating RRULE property text: duplicate part · case 03
A rule with two COUNT parts silently keeps the last one.
Parsing and validating RRULE property text: duplicate part · case 04
A rule with two COUNT parts silently keeps the last one.
Parsing and validating RRULE property text: duplicate part · case 05
A rule with two COUNT parts silently keeps the last one.
Parsing and validating RRULE property text: interval validity · case 01
INTERVAL=0 is accepted and later makes expansion loop forever.
Parsing and validating RRULE property text: interval validity · case 02
INTERVAL=0 is accepted and later makes expansion loop forever.
Parsing and validating RRULE property text: interval validity · case 03
INTERVAL=0 is accepted and later makes expansion loop forever.
Parsing and validating RRULE property text: interval validity · case 04
INTERVAL=0 is accepted and later makes expansion loop forever.
Parsing and validating RRULE property text: interval validity · case 05
INTERVAL=0 is accepted and later makes expansion loop forever.
Parsing and validating RRULE property text: byday pattern · case 01
BYDAY=+2TU is rejected as malformed.
Parsing and validating RRULE property text: byday pattern · case 02
BYDAY=+2TU is rejected as malformed.
Parsing and validating RRULE property text: byday pattern · case 03
BYDAY=+2TU is rejected as malformed.
Parsing and validating RRULE property text: byday pattern · case 04
BYDAY=+2TU is rejected as malformed.
Parsing and validating RRULE property text: byday pattern · case 05
BYDAY=+2TU is rejected as malformed.
Parsing and validating RRULE property text: ordinal range · case 01
BYDAY=0MO is accepted as if it had no ordinal.
Parsing and validating RRULE property text: ordinal range · case 02
BYDAY=0MO is accepted as if it had no ordinal.
Parsing and validating RRULE property text: ordinal range · case 03
BYDAY=0MO is accepted as if it had no ordinal.
Parsing and validating RRULE property text: ordinal range · case 04
BYDAY=0MO is accepted as if it had no ordinal.
Parsing and validating RRULE property text: ordinal range · case 05
BYDAY=0MO is accepted as if it had no ordinal.
Rendering a recurrence rule as a human-readable sentence: interval phrase · case 01
A weekly rule is rendered as "every 1 weeks".
Rendering a recurrence rule as a human-readable sentence: interval phrase · case 02
A weekly rule is rendered as "every 1 weeks".
Rendering a recurrence rule as a human-readable sentence: interval phrase · case 03
A weekly rule is rendered as "every 1 weeks".
Rendering a recurrence rule as a human-readable sentence: interval phrase · case 04
A weekly rule is rendered as "every 1 weeks".
Rendering a recurrence rule as a human-readable sentence: interval phrase · case 05
A weekly rule is rendered as "every 1 weeks".
Rendering a recurrence rule as a human-readable sentence: negative ordinal · case 01
BYDAY=-1FR is rendered as "the 1st to last Friday".
Rendering a recurrence rule as a human-readable sentence: negative ordinal · case 02
BYDAY=-1FR is rendered as "the 1st to last Friday".
Rendering a recurrence rule as a human-readable sentence: negative ordinal · case 03
BYDAY=-1FR is rendered as "the 1st to last Friday".
Rendering a recurrence rule as a human-readable sentence: negative ordinal · case 04
BYDAY=-1FR is rendered as "the 1st to last Friday".
Rendering a recurrence rule as a human-readable sentence: negative ordinal · case 05
BYDAY=-1FR is rendered as "the 1st to last Friday".
Rendering a recurrence rule as a human-readable sentence: weekday collapse · case 01
A five-day list including Saturday is rendered as "on weekdays".
Rendering a recurrence rule as a human-readable sentence: weekday collapse · case 02
A five-day list including Saturday is rendered as "on weekdays".
Rendering a recurrence rule as a human-readable sentence: weekday collapse · case 03
A five-day list including Saturday is rendered as "on weekdays".
Rendering a recurrence rule as a human-readable sentence: weekday collapse · case 04
A five-day list including Saturday is rendered as "on weekdays".
Rendering a recurrence rule as a human-readable sentence: weekday collapse · case 05
A five-day list including Saturday is rendered as "on weekdays".
Rendering a recurrence rule as a human-readable sentence: day order · case 01
BYDAY=MO,WE,FR is rendered as "Friday, Monday and Wednesday".
Rendering a recurrence rule as a human-readable sentence: day order · case 02
BYDAY=MO,WE,FR is rendered as "Friday, Monday and Wednesday".
Rendering a recurrence rule as a human-readable sentence: day order · case 03
BYDAY=MO,WE,FR is rendered as "Friday, Monday and Wednesday".
Rendering a recurrence rule as a human-readable sentence: day order · case 04
BYDAY=MO,WE,FR is rendered as "Friday, Monday and Wednesday".
Rendering a recurrence rule as a human-readable sentence: day order · case 05
BYDAY=MO,WE,FR is rendered as "Friday, Monday and Wednesday".
Rendering a recurrence rule as a human-readable sentence: list join · case 01
Three weekdays are rendered as "Monday and Wednesday and Friday".
Rendering a recurrence rule as a human-readable sentence: list join · case 02
Three weekdays are rendered as "Monday and Wednesday and Friday".
Rendering a recurrence rule as a human-readable sentence: list join · case 03
Three weekdays are rendered as "Monday and Wednesday and Friday".
Rendering a recurrence rule as a human-readable sentence: list join · case 04
Three weekdays are rendered as "Monday and Wednesday and Friday".
Rendering a recurrence rule as a human-readable sentence: list join · case 05
Three weekdays are rendered as "Monday and Wednesday and Friday".
Rendering a recurrence rule as a human-readable sentence: count phrase · case 01
COUNT=1 is rendered as "1 times".
Rendering a recurrence rule as a human-readable sentence: count phrase · case 02
COUNT=1 is rendered as "1 times".
Rendering a recurrence rule as a human-readable sentence: count phrase · case 03
COUNT=1 is rendered as "1 times".
Rendering a recurrence rule as a human-readable sentence: count phrase · case 04
COUNT=1 is rendered as "1 times".
Rendering a recurrence rule as a human-readable sentence: count phrase · case 05
COUNT=1 is rendered as "1 times".
Closed-form final date of a COUNT-limited weekly BYDAY series: empty count · case 01
COUNT=0 reports a final date although the series is empty.
Closed-form final date of a COUNT-limited weekly BYDAY series: empty count · case 02
COUNT=0 reports a final date although the series is empty.
Closed-form final date of a COUNT-limited weekly BYDAY series: empty count · case 03
COUNT=0 reports a final date although the series is empty.
Closed-form final date of a COUNT-limited weekly BYDAY series: empty count · case 04
COUNT=0 reports a final date although the series is empty.
Closed-form final date of a COUNT-limited weekly BYDAY series: empty count · case 05
COUNT=0 reports a final date although the series is empty.
Closed-form final date of a COUNT-limited weekly BYDAY series: first week filter · case 01
With WKST=SU a Sunday in the first week is miscounted and the end date shifts by a week.
Closed-form final date of a COUNT-limited weekly BYDAY series: first week filter · case 02
With WKST=SU a Sunday in the first week is miscounted and the end date shifts by a week.
Closed-form final date of a COUNT-limited weekly BYDAY series: first week filter · case 03
With WKST=SU a Sunday in the first week is miscounted and the end date shifts by a week.
Closed-form final date of a COUNT-limited weekly BYDAY series: first week filter · case 04
With WKST=SU a Sunday in the first week is miscounted and the end date shifts by a week.
Closed-form final date of a COUNT-limited weekly BYDAY series: first week filter · case 05
With WKST=SU a Sunday in the first week is miscounted and the end date shifts by a week.
Closed-form final date of a COUNT-limited weekly BYDAY series: full weeks · case 01
When the remaining count is a multiple of the weekday count, the end date is one week early.
Closed-form final date of a COUNT-limited weekly BYDAY series: full weeks · case 02
When the remaining count is a multiple of the weekday count, the end date is one week early.
Closed-form final date of a COUNT-limited weekly BYDAY series: full weeks · case 03
When the remaining count is a multiple of the weekday count, the end date is one week early.
Closed-form final date of a COUNT-limited weekly BYDAY series: full weeks · case 04
When the remaining count is a multiple of the weekday count, the end date is one week early.
Closed-form final date of a COUNT-limited weekly BYDAY series: full weeks · case 05
When the remaining count is a multiple of the weekday count, the end date is one week early.
Closed-form final date of a COUNT-limited weekly BYDAY series: remainder index · case 01
The final weekday is one position too late in the week pattern.
Closed-form final date of a COUNT-limited weekly BYDAY series: remainder index · case 02
The final weekday is one position too late in the week pattern.
Closed-form final date of a COUNT-limited weekly BYDAY series: remainder index · case 03
The final weekday is one position too late in the week pattern.
Closed-form final date of a COUNT-limited weekly BYDAY series: remainder index · case 04
The final weekday is one position too late in the week pattern.
Closed-form final date of a COUNT-limited weekly BYDAY series: remainder index · case 05
The final weekday is one position too late in the week pattern.
Closed-form final date of a COUNT-limited weekly BYDAY series: week scale · case 01
An every-other-week series reports an end date halfway through the real series.
Closed-form final date of a COUNT-limited weekly BYDAY series: week scale · case 02
An every-other-week series reports an end date halfway through the real series.
Closed-form final date of a COUNT-limited weekly BYDAY series: week scale · case 03
An every-other-week series reports an end date halfway through the real series.
Closed-form final date of a COUNT-limited weekly BYDAY series: week scale · case 04
An every-other-week series reports an end date halfway through the real series.
Closed-form final date of a COUNT-limited weekly BYDAY series: week scale · case 05
An every-other-week series reports an end date halfway through the real series.
Re-keying instance overrides after a series start or interval change: instance check · case 01
An override for a date before the series start survives the edit as a phantom exception.
Re-keying instance overrides after a series start or interval change: instance check · case 02
An override for a date before the series start survives the edit as a phantom exception.
Re-keying instance overrides after a series start or interval change: instance check · case 03
An override for a date before the series start survives the edit as a phantom exception.
Re-keying instance overrides after a series start or interval change: instance check · case 04
An override for a date before the series start survives the edit as a phantom exception.
Re-keying instance overrides after a series start or interval change: instance check · case 05
An override for a date before the series start survives the edit as a phantom exception.
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 ↗