diff --git a/backend/src/routes/sessions.ts b/backend/src/routes/sessions.ts index 7f1299a8..0602cf1f 100644 --- a/backend/src/routes/sessions.ts +++ b/backend/src/routes/sessions.ts @@ -142,7 +142,11 @@ export function sessionRoutes( info(id, "Starting model"); if (d.mgr.get(id) !== rt) return; start(); - } catch { + } catch (error) { + // The client only ever sees the generic BOOTSTRAP_FAILURE_MESSAGE; log the real + // cause server-side so failures (e.g. an unreachable DWH/vector host behind a + // dropped VPN) are diagnosable from the backend console instead of silent. + console.error(`[pi:${id}] bootstrap failed:`, error instanceof Error ? error.message : error); void withSessionLifecycle(id, async () => { // A bootstrap continuation can settle after Close/Delete or after a replacement was // installed. Claim only the runtime identity that actually failed; holding the same