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
Exam exactly 24 hours later counted in the same window · case 01
Exams at the same time on consecutive days count toward one day's load.
Exam exactly 24 hours later counted in the same window · case 02
Exams at the same time on consecutive days count toward one day's load.
Exam exactly 24 hours later counted in the same window · case 03
Exams at the same time on consecutive days count toward one day's load.
Exam exactly 24 hours later counted in the same window · case 04
Exams at the same time on consecutive days count toward one day's load.
Exam exactly 24 hours later counted in the same window · case 05
Exams at the same time on consecutive days count toward one day's load.
Exam load counted per calendar day instead of rolling 24 hours · case 01
An evening exam followed by two next-morning exams is not reported.
Exam load counted per calendar day instead of rolling 24 hours · case 02
An evening exam followed by two next-morning exams is not reported.
Exam load counted per calendar day instead of rolling 24 hours · case 03
An evening exam followed by two next-morning exams is not reported.
Exam load counted per calendar day instead of rolling 24 hours · case 04
An evening exam followed by two next-morning exams is not reported.
Exam load counted per calendar day instead of rolling 24 hours · case 05
An evening exam followed by two next-morning exams is not reported.
Duplicated sitting rows count as extra exams · case 01
A repeated registration row pushes a student over the daily limit.
Duplicated sitting rows count as extra exams · case 02
A repeated registration row pushes a student over the daily limit.
Duplicated sitting rows count as extra exams · case 03
A repeated registration row pushes a student over the daily limit.
Duplicated sitting rows count as extra exams · case 04
A repeated registration row pushes a student over the daily limit.
Duplicated sitting rows count as extra exams · case 05
A repeated registration row pushes a student over the daily limit.
Student at exactly the daily limit reported · case 01
Students with exactly the allowed number of exams in a day are listed.
Student at exactly the daily limit reported · case 02
Students with exactly the allowed number of exams in a day are listed.
Student at exactly the daily limit reported · case 03
Students with exactly the allowed number of exams in a day are listed.
Student at exactly the daily limit reported · case 04
Students with exactly the allowed number of exams in a day are listed.
Student at exactly the daily limit reported · case 05
Students with exactly the allowed number of exams in a day are listed.
Seating order sorts surnames case-sensitively · case 01
Lower-case surnames are seated after every capitalised surname.
Seating order sorts surnames case-sensitively · case 02
Lower-case surnames are seated after every capitalised surname.
Seating order sorts surnames case-sensitively · case 03
Lower-case surnames are seated after every capitalised surname.
Seating order sorts surnames case-sensitively · case 04
Lower-case surnames are seated after every capitalised surname.
Seating order sorts surnames case-sensitively · case 05
Lower-case surnames are seated after every capitalised surname.
Alternate seating skips the last row of odd-sized halls · case 01
Halls with an odd number of rows lose a row of usable seats.
Alternate seating skips the last row of odd-sized halls · case 02
Halls with an odd number of rows lose a row of usable seats.
Alternate seating skips the last row of odd-sized halls · case 03
Halls with an odd number of rows lose a row of usable seats.
Alternate seating skips the last row of odd-sized halls · case 04
Halls with an odd number of rows lose a row of usable seats.
Alternate seating skips the last row of odd-sized halls · case 05
Halls with an odd number of rows lose a row of usable seats.
Seat labels use zero-based column numbers · case 01
Candidates are directed to seat A0, which does not exist on the floor plan.
Seat labels use zero-based column numbers · case 02
Candidates are directed to seat A0, which does not exist on the floor plan.
Seat labels use zero-based column numbers · case 03
Candidates are directed to seat A0, which does not exist on the floor plan.
Seat labels use zero-based column numbers · case 04
Candidates are directed to seat A0, which does not exist on the floor plan.
Seat labels use zero-based column numbers · case 05
Candidates are directed to seat A0, which does not exist on the floor plan.
Overflow candidates wrap around to occupied seats · case 01
Two candidates are given the same seat when the rooms are full.
Overflow candidates wrap around to occupied seats · case 02
Two candidates are given the same seat when the rooms are full.
Overflow candidates wrap around to occupied seats · case 03
Two candidates are given the same seat when the rooms are full.
Overflow candidates wrap around to occupied seats · case 04
Two candidates are given the same seat when the rooms are full.
Overflow candidates wrap around to occupied seats · case 05
Two candidates are given the same seat when the rooms are full.
Access-arrangement candidates consume main hall seats · case 01
Main hall seats are reserved for candidates who sit in the separate room.
Access-arrangement candidates consume main hall seats · case 02
Main hall seats are reserved for candidates who sit in the separate room.
Access-arrangement candidates consume main hall seats · case 03
Main hall seats are reserved for candidates who sit in the separate room.
Access-arrangement candidates consume main hall seats · case 04
Main hall seats are reserved for candidates who sit in the separate room.
Access-arrangement candidates consume main hall seats · case 05
Main hall seats are reserved for candidates who sit in the separate room.
Same-surname candidates ordered by id instead of given name · case 01
Siblings or common surnames are seated out of alphabetical order.
Same-surname candidates ordered by id instead of given name · case 02
Siblings or common surnames are seated out of alphabetical order.
Same-surname candidates ordered by id instead of given name · case 03
Siblings or common surnames are seated out of alphabetical order.
Same-surname candidates ordered by id instead of given name · case 04
Siblings or common surnames are seated out of alphabetical order.
Same-surname candidates ordered by id instead of given name · case 05
Siblings or common surnames are seated out of alphabetical order.
Front-load set built from the smallest exams · case 01
Small exams are pulled forward while the largest are ignored.
Front-load set built from the smallest exams · case 02
Small exams are pulled forward while the largest are ignored.
Front-load set built from the smallest exams · case 03
Small exams are pulled forward while the largest are ignored.
Front-load set built from the smallest exams · case 04
Small exams are pulled forward while the largest are ignored.
Front-load set built from the smallest exams · case 05
Small exams are pulled forward while the largest are ignored.
First of the final periods not treated as late · case 01
A large exam in the earliest avoided period is not penalised.
First of the final periods not treated as late · case 02
A large exam in the earliest avoided period is not penalised.
First of the final periods not treated as late · case 03
A large exam in the earliest avoided period is not penalised.
First of the final periods not treated as late · case 04
A large exam in the earliest avoided period is not penalised.
First of the final periods not treated as late · case 05
A large exam in the earliest avoided period is not penalised.
Front-load selection takes one exam too few · case 01
The big-th largest exam can be scheduled last without penalty.
Front-load selection takes one exam too few · case 02
The big-th largest exam can be scheduled last without penalty.
Front-load selection takes one exam too few · case 03
The big-th largest exam can be scheduled last without penalty.
Front-load selection takes one exam too few · case 04
The big-th largest exam can be scheduled last without penalty.
Front-load selection takes one exam too few · case 05
The big-th largest exam can be scheduled last without penalty.
Same-duration exams sharing a room penalised · case 01
Two 60-minute exams in one room count as mixed durations.
Same-duration exams sharing a room penalised · case 02
Two 60-minute exams in one room count as mixed durations.
Same-duration exams sharing a room penalised · case 03
Two 60-minute exams in one room count as mixed durations.
Same-duration exams sharing a room penalised · case 04
Two 60-minute exams in one room count as mixed durations.
Same-duration exams sharing a room penalised · case 05
Two 60-minute exams in one room count as mixed durations.
Mixed durations evaluated across all rooms of a period · case 01
Different rooms with different durations are penalised as if they shared a room.
Mixed durations evaluated across all rooms of a period · case 02
Different rooms with different durations are penalised as if they shared a room.
Mixed durations evaluated across all rooms of a period · case 03
Different rooms with different durations are penalised as if they shared a room.
Mixed durations evaluated across all rooms of a period · case 04
Different rooms with different durations are penalised as if they shared a room.
Mixed durations evaluated across all rooms of a period · case 05
Different rooms with different durations are penalised as if they shared a room.
Mixed-duration penalty counts every duration · case 01
A room with two durations costs two instead of one.
Mixed-duration penalty counts every duration · case 02
A room with two durations costs two instead of one.
Mixed-duration penalty counts every duration · case 03
A room with two durations costs two instead of one.
Mixed-duration penalty counts every duration · case 04
A room with two durations costs two instead of one.
Mixed-duration penalty counts every duration · case 05
A room with two durations costs two instead of one.
Subject code taken as the first four characters · case 01
BIO invigilators are allowed to supervise BIO exams, while BIOL staff are blocked from BIO-201.
Subject code taken as the first four characters · case 02
BIO invigilators are allowed to supervise BIO exams, while BIOL staff are blocked from BIO-201.
Subject code taken as the first four characters · case 03
BIO invigilators are allowed to supervise BIO exams, while BIOL staff are blocked from BIO-201.
Subject code taken as the first four characters · case 04
BIO invigilators are allowed to supervise BIO exams, while BIOL staff are blocked from BIO-201.
Subject code taken as the first four characters · case 05
BIO invigilators are allowed to supervise BIO exams, while BIOL staff are blocked from BIO-201.
Daily duty count grouped by slot number · case 01
Morning duties on different days are counted as one day.
Daily duty count grouped by slot number · case 02
Morning duties on different days are counted as one day.
Daily duty count grouped by slot number · case 03
Morning duties on different days are counted as one day.
Daily duty count grouped by slot number · case 04
Morning duties on different days are counted as one day.
Daily duty count grouped by slot number · case 05
Morning duties on different days are counted as one day.
Daily maximum finding repeated for every extra duty · case 01
An invigilator two duties over the limit gets two daily_max findings.
Daily maximum finding repeated for every extra duty · case 02
An invigilator two duties over the limit gets two daily_max findings.
Daily maximum finding repeated for every extra duty · case 03
An invigilator two duties over the limit gets two daily_max findings.
Daily maximum finding repeated for every extra duty · case 04
An invigilator two duties over the limit gets two daily_max findings.
Daily maximum finding repeated for every extra duty · case 05
An invigilator two duties over the limit gets two daily_max findings.
Double-duty check shared across invigilators · case 01
Two different invigilators in the same period are reported as double-booked.
Double-duty check shared across invigilators · case 02
Two different invigilators in the same period are reported as double-booked.
Double-duty check shared across invigilators · case 03
Two different invigilators in the same period are reported as double-booked.
Double-duty check shared across invigilators · case 04
Two different invigilators in the same period are reported as double-booked.
Double-duty check shared across invigilators · case 05
Two different invigilators in the same period are reported as double-booked.
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 ↗