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.
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 fixtureThis sample comes from the broken implementation of a controlled reproducer.
| Boundary fixture | Actual | Expected | Outcome |
|---|---|---|---|
| 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 ↗