FAILURE MAP
← Case archive

FA-94364 / Exam timetabling constraints / Member archive

Clash report ordered by period instead of student · case 04

Student letters list clashes in a different order than the contract.

Member previewVariant 4 · 3 implementations · 8 checks per implementation

Case contract

enrol rows [student, exam] (may repeat), period maps scheduled exams to a period, xlist groups cross-listed exams that are one physical paper (canonical name = smallest id in the group). A clash is a student with two or more distinct canonical papers in one period; unscheduled exams are ignored. Return [student, period, sorted papers] ordered by student then period.

Why this case matters

Clash detection is the primary hard constraint of exam timetabling; duplicate enrolments and cross-listing are the usual sources of false clashes.

One recorded failure

Sample boundary fixture

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

Boundary fixtureActualExpectedOutcome
regression: report order 1[["s1", 2, ["BIO130", "PHYS110"]], ["s3", 2, ["BIO130", "PHYS110"]], ["s4", 2, ["BIO130", "MATH101", "PHYS110"]], ["s5", 2, ["MATH101", "PHYS110"]], ["s2", 3, ["CHEM120", "MATH101H"]], ["s3", 3, ["HIST140", "MATH101H"]]][["s1", 2, ["BIO130", "PHYS110"]], ["s2", 3, ["CHEM120", "MATH101H"]], ["s3", 2, ["BIO130", "PHYS110"]], ["s3", 3, ["HIST140", "MATH101H"]], ["s4", 2, ["BIO130", "MATH101", "PHYS110"]], ["s5", 2, ["MATH101", "PHYS110"]]]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 ↗