We run four services that have to be on air continuously. Everything below exists because we needed it working before we needed it finished.
Scheduling and clocks
Each station has its own clock: rotation categories, timed events and the rules that decide what follows what. Schedules are built once and applied across services rather than maintained four times over.
Continuity
Handover between sources is the part that has to fail safe. Silence detection triggers the same code path as a manual cut, so the rare case and the common case share one implementation — there is no emergency branch that only runs when things are already going wrong.
Compliance logging
Output is captured continuously across all services, with retention and retrieval built in rather than bolted on as a second product.