- Applies
- when the month's roster is built
- Enforcement
- Hard: never broken
- Who sets it
- Fixed in the product
- Family
- Data integrity
- Roster style
- no-rotation (day-by-day)
verifiedCompiled from the product source on 12 September 2026
Rule catalogue · Data integrity
Breaking it reassigns a shift already given to a replacement, so the cover arranged for an absence is lost.
verifiedCompiled from the product source on 12 September 2026
Not every rule is about people. This family holds the structural invariants: an assignment cannot exist in two places at once, history cannot be rewritten, a swap has to be aligned on both sides. They are mostly fixed in code rather than configurable, because they are not policy choices. They are the difference between a roster and a spreadsheet that looks like one.