B1: fly-loop-reset runs only /opt/fly/sbin/flysim, a root-owned copy 05-deploy installs from the release tarball after checking it against the tarball's MANIFEST; fixed paths, fly.env parsed as data, env -i. B2: the wrapper pauses fly-watchdog.timer (and waits out a running probe) for the reset, and starts flysim and the timer on every exit. H1: a step that raises or times out is a failed step; the ladder state is saved before the step runs. H2: one --list call computes the build's compatibility once; TimeoutStartSec 25 min. H3: level 2+ resets to the rung below the best or restarts, never lower. Tests run the wrapper against a fake flysim, systemctl and archives.
13 lines
506 B
Desktop File
13 lines
506 B
Desktop File
[Unit]
|
|
Description=Recover confirmed macro loops: flysim restart, then milestone resets
|
|
|
|
[Service]
|
|
Type=oneshot
|
|
User=fly
|
|
EnvironmentFile=-/etc/fly/loop-recovery.env
|
|
# The ladder's state and history outlive a reboot (/run does not).
|
|
StateDirectory=fly-loop-recover
|
|
# A step: the rung list (<=2 min), up to 90 s of model calls, a 60 s on-stream countdown,
|
|
# the reset (<=8 min) and 4 min to verify. systemd must never kill the wrapper mid-reset.
|
|
TimeoutStartSec=25min
|
|
ExecStart=/opt/fly/bin/fly-loop-recover
|