FAILURE MAP
← Case archive

FA-94600 / Exam timetabling constraints / Member archive

Double-duty check shared across invigilators · case 05

Two different invigilators in the same period are reported as double-booked.

Member previewVariant 5 · 3 implementations · 8 checks per implementation

Case contract

duties [invigilator, exam, period]; teach invigilator -> busy periods; subj invigilator -> subject code; exam subject is the part of the exam id before "-". Findings: busy (duty in a busy period), own_subject, double (same invigilator already on duty that period), daily_max (reported once, on the first duty that exceeds maxday on a day = period // spd). Return sorted [invigilator, exam, finding] rows.

Why this case matters

Invigilation rosters must respect teaching commitments, conflict-of-interest rules and daily limits.

One recorded failure

Sample boundary fixture

This sample comes from the broken implementation of a controlled reproducer.

Boundary fixtureActualExpectedOutcome
regression: double duty key 1[["ann", "BIO-201", "daily_max"], ["ann", "BIOL-300", "busy"], ["bob", "BIO-201", "busy"], ["bob", "CHEM-110", "daily_max"], ["cy", "CHEM-110", "busy"], ["cy", "CHEM-110", "daily_max"], ["cy", "CHEM-110", "double"]][["ann", "BIO-201", "daily_max"], ["ann", "BIOL-300", "busy"], ["bob", "BIO-201", "busy"], ["bob", "CHEM-110", "daily_max"], ["cy", "CHEM-110", "busy"], ["cy", "CHEM-110", "daily_max"]]Failed

MEMBER ARCHIVE

The complete case is available to members.

This record includes three runnable implementations, regression fixtures, execution results, and source hashes.

Member access is invitation-based. Sign in with your invited account to inspect the sources.

Sign in to the archive ↗