A launch can name one instance its simulated-time source, fed to every machine, with one clock source enforced across the fleet.
Released on September 2, 2026
Breaking changes
-
In Rust, read a clock tick's instant with
tick.time()instead of thetick.timefield; Python keeps the.timeattribute. -
Reading simulated time now requires a daemon that serves it, so an instance with
use_sim_time: trueis refused on a wall-mode daemon instead of running; start it with--clock-source=sim. -
Declare one launch instance its simulated-time source with
framework: { publishes_sim_time: true }; peppy hands itsSimTimePublisherevery machine of the launch so one clock reaches the whole fleet. -
Federated launches require every machine to serve the same clock source; a sim/wall disagreement is refused at preflight, naming the machine and the flag that fixes it.
-
A launch may declare only one simulated-time source; a second is refused when the launcher is checked, including by
peppy stack resolve. -
Launch feedback names the simulated-time source, and warns when a declared source runs on a wall launch or when a simulated launch declares none.