RI: It's defined in two places because cs.py and watchdog.py live on opposite sides of a process boundary and don't share a common import. watchdog.py (SENTINEL_PATH) is the producer - it runs inside the cloud_sync.py app process and writes the sentinel file when a thread can't be recovered. cs.py (SENTINEL_FILE) is the consumer - it's the lightweight launcher that spawns cloud_sync.py and polls for that file to restart it. cs.py is deliberately kept minimal and doesn't import the cloudsync package, so the path is duplicated as a local literal rather than shared.
Should check if iso UF volume + UF volume < max. And if user can do multiple iso uf sessions, you would check iso UF volume + any previous iso UF volume + UF volume. I don't know if there is a minimum iso UF volume.
If both monitor and driver need visibility to something, consider moving it to the driver's header file since monitor needs to include driver anyway. Driver should not have to know about the monitor stuff as it is higher level.