feat(campaign): kill a run that outlives --run-timeout

A wedged run holds its worker for the rest of the sweep, and on an unattended
host nothing else will send it a signal. Defaults to three times --duration and
must exceed it. A killed run is recorded as timed_out rather than as a generic
failure, so the analysis can tell a lost cell from a real crash.

Claude-Session: https://claude.ai/code/session_01A5KmftdEJ49A9z5mF5ESrX
This commit is contained in:
pj committed 2026-08-12 21:39:09 +05:30
1 parent 808d607eac
commit 024913ceeb
4 files changed
+68 -1

No files matched your search

+2
View File
@@ -26,6 +26,7 @@ type manifest struct {
BundleID string `json:"bundle_id"`
MaxSteps int `json:"max_steps"`
DurationMillis int64 `json:"duration_millis"`
RunTimeoutMillis int64 `json:"run_timeout_millis"`
Seeds []int64 `json:"seeds"`
Devices []string `json:"devices"`
Host string `json:"host"`
@@ -48,6 +49,7 @@ func buildManifest(configuration config, host, binaryPath, version string, start
BundleID: configuration.bundleID,
MaxSteps: configuration.maxSteps,
DurationMillis: configuration.duration.Milliseconds(),
RunTimeoutMillis: configuration.runTimeout.Milliseconds(),
Seeds: configuration.seeds,
Devices: devices,
Host: host,