From e4a84f24072e6d85005ec99cdff8f5f48be3580c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=96mer=20TEKTA=C5=9E?= Date: Mon, 17 Aug 2026 20:21:24 +0300 Subject: [PATCH] test: harden Goal host cold bootstrap --- scripts/host-goal-steering-canary.mjs | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/scripts/host-goal-steering-canary.mjs b/scripts/host-goal-steering-canary.mjs index 86b3f88..2720d3a 100644 --- a/scripts/host-goal-steering-canary.mjs +++ b/scripts/host-goal-steering-canary.mjs @@ -12,6 +12,7 @@ const repoRoot = path.resolve(path.dirname(fileURLToPath(import.meta.url)), ".." const isWindows = process.platform === "win32" const GOAL_OBJECTIVE = "queued steering real host goal objective" const USER_STEERING = "queued user steering must run before goal continuation" +const SESSION_BOOTSTRAP_TIMEOUT_MS = 90_000 function resolveOpenCodeBinary() { if (!isWindows) return path.join(repoRoot, "node_modules", ".bin", "opencode") @@ -331,7 +332,13 @@ async function main() { try { return JSON.parse(text) } catch { return text } } - const sessionsPayload = await api("/session", { method: "GET", signal: AbortSignal.timeout(45_000) }) + let sessionsPayload + try { + sessionsPayload = await api("/session", { method: "GET", signal: AbortSignal.timeout(SESSION_BOOTSTRAP_TIMEOUT_MS) }) + } catch (error) { + const message = error instanceof Error ? `${error.name}: ${error.message}` : String(error) + throw new Error(`OpenCode session bootstrap failed after ${SESSION_BOOTSTRAP_TIMEOUT_MS}ms: ${message}\nserver log:\n${serverLog}`) + } assert.ok(Array.isArray(sessionsPayload?.data ?? sessionsPayload), "GET /session bootstrap did not return an array") const createdPayload = await api("/session", { method: "POST", body: JSON.stringify({ title: "opencode-loop Goal steering canary" }) }) const session = createdPayload?.data ?? createdPayload @@ -417,4 +424,4 @@ async function main() { main().catch((error) => { console.error(error?.stack || error) process.exitCode = 1 -}) +}) \ No newline at end of file