Skip to content
SkyRosterBook a working session

Rule catalogue · Data integrity

A swap cannot change a shift already in the past

Breaking it rewrites a shift that has already been worked, so the roster stops matching what actually happened.

Applies
when someone asks to exchange a shift
Enforcement
Hard: never broken
Who sets it
Fixed in the product
Roster style
published baseline (shift exchange)

verifiedCompiled from the product source on 12 September 2026

What data integrity rules protect

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.