FA-94298 / Shift rostering labor rules / Member archive
Bidding stops after a single round · case 03
Workers with capacity left never pick a second shift.
Case contract
workers [id, hire day, max shifts]; shifts id -> [start, end]; prefs id -> ordered shift ids. Bidding rounds repeat until nobody picks: in each round workers in seniority order (earlier hire day, then id) take their first preferred shift that is untaken and does not overlap a shift they already hold (touching is fine), one pick per round, until reaching their maximum. Return worker -> picks in order.
Why this case matters
Seniority bidding is a common contractual roster procedure; each rule change reallocates shifts.
One recorded failure
Sample boundary fixtureThis sample comes from the broken implementation of a controlled reproducer.
| Boundary fixture | Actual | Expected | Outcome |
|---|---|---|---|
| regression: repeat rounds 1 | {"w0": ["s1"], "w1": ["s2"], "w2": ["s3"]} | {"w0": ["s1"], "w1": ["s2", "s4"], "w2": ["s3"]} | 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 ↗