CI checks
| Check |
What it fails |
Since |
| installer-stop (tools/ci/installer-stop-check.sh): the .iss install path extracts and runs the PAYLOAD's stop-igneum.ps1 with -Install "{app}", the script ends the window host by path before api/quit and waits for every exe to unlock with a STILL LOCKED line. This is a lint on the text; the test of the installer is release rule 14 (docs/plans/release-rules.md): run it end to end on a Windows box over a running older app and assert installed versions, the process set and the first upload. | 7 October 2026, 22:07 BST, PC 2, 0.3.23 take 1: PrepareToInstall preferred the installed 0.3.21 stop script (quit only), the host lived on, Inno could not replace it, the host restarted the old engine 45 s later, every file stayed 0.3.21; the crate's text tests had passed. |
| kill by exact command or pid file (owed as a check) | 6 October 2026, 21:09Z: a Mac-side pkill -f <log file name> matched nothing (the log name was a redirect, not part of the command line), the roll-everything script lived on and wiped a box it had been told to hold. Rule: a job is stopped by its pid file (tools/fleet/fleet-bg.sh start|stop <name>) or by a pattern anchored on its exact command line (^python3 -u /root/fleet/in/box-prover.py), never by a word that may or may not appear in it. The check that flags a pkill -f/pgrep -f whose literal is a path or a name that never starts a command line is owed to the CI lane |