frank-primary: deploy health gate reads the body (FreeToken 200-loading)

FreeToken's /health returns 200 with {"status":"loading"} while the
engine loads — the FastAPI front end binds before the scheduler is up.
Measured 2026-10-06: the deploy gate went green after 6s while 131 shards
were still paging in (vLLM 503'd during load, which made the bare curl
honest there). The frank-primary gate now loops until status:ok; the
MainPID stray-port guard is unchanged.
This commit is contained in:
Frank committed 2026-10-05 19:27:21 -07:00
1 parent 0ff016a6b2
commit 6ba19f6f48
2 files changed
+27 -2

No files matched your search

+7 -1
View File
@@ -239,7 +239,13 @@ DOCKERFILE="$REPO_ROOT/scripts/docker/frank-primary-freetoken.Dockerfile"
grep -q 'relink_unit frank-primary' "$REMOTE_DEPLOY"
grep -q 'systemctl enable frank-primary.service' "$REMOTE_DEPLOY"
grep -q 'systemctl restart frank-primary.service' "$REMOTE_DEPLOY"
grep -q 'wait_for_health frank-primary http://127.0.0.1:7770/health 1800' "$REMOTE_DEPLOY"
# The health gate reads the BODY, not just the HTTP code: FreeToken
# returns 200 with {"status":"loading"} while the engine loads (the
# FastAPI front end binds before the scheduler is up — a bare 200
# false-greened a deploy at 6 s while 131 shards were still paging in,
# measured 2026-10-06). Only status:"ok" counts.
grep -q 'curl -fsS http://127.0.0.1:7770/health' "$REMOTE_DEPLOY"
grep -q 'never reached /health status ok' "$REMOTE_DEPLOY"
}
@test "the deployer will not report green on a stray port-holder" {