Runon requests now always carry an explicit timeout derived from AFT's hard-kill limit, rounded up to whole seconds so the runner never stops earlier than a caller's millisecond timeout. The timeout parameter in build_remote_request is now required rather than optional, and existing callers and tests pass the default 30-minute limit.
Long explicit timeouts (e.g., 7,201,000 ms) are preserved as-is in seconds (7,201).
Local bash background tasks keep their caller-provided timeout and are unaffected by the remote dispatch path.
Adds a slice descriptor for benchmark search coverage.
Confidence Score: 5/5
The PR appears safe to merge; it preserves existing timeout behavior.
Summary
Makes the timeout argument required in build_remote_request without changing the timeout sent for production jobs.
Remote request construction always requires a run-time limit.
The search benchmark records this slice as harness work.