SIGN IN SIGN UP

fix(playbooks): retry the runner control-plane readiness probe

deploy-worker-dev failed on run 32385110520 one second after reporting
agentsfleet-runner.service active: the gate's single-shot
`curl -fsS https://api-dev.agentsfleet.net/readyz` took an HTTP 530 from
Cloudflare — error 1033, no cloudflared connector registered for the
hostname — and exit 22 killed the job. The runner was fine; /readyz
answered 200 moments later and the four preceding runs were green.

The development lane ships the API and the runner in the same run, and
the verify-dev job that restarts cloudflared-dev runs alongside the
worker job, so the probe lands inside the connector's reconnect window.
`-f` also discarded the status, leaving `exit code 22` as the only
diagnostic.

verify_control_plane now probes up to six times at ten-second spacing and
reports what the edge answered on every attempt. A genuine outage still
fails, naming the last status. The script is shared, so the prod canary
and fleet lanes gain the same behaviour.

The suite split to make room: runner_test.sh was 439 lines, over the
350-line cap (RULE FLL). The stub harness moves to runner_test_support.sh
so both suites share one `tailscale` stub, and the verify cases move to
runner_verify_test.sh alongside two new ones — a 530 that clears must
pass while reporting the retry, and a 530 that never clears must fail
after exactly N probes with the status named.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
K
Kishore Kumar committed
92ad82faca5b636aac8452f55fed9d1af3c75d14
Parent: d09243b