ruvnet/ruflo · error

[arch] router returned error

Error message

[arch] router returned error

What it means

Log warning in archSelectRoute: the arch router HTTP call returned a non-OK status; the message (OpenAI-style error body if present, otherwise status text) is extracted so routing can degrade to the failure/fallback route.

Source

Thrown at ruflo/src/ruvocal/src/lib/server/router/arch.ts:196

		});
		clearTimeout(to);
		if (!resp.ok) {
			// Extract error message from response
			let errorMessage = `arch-router ${resp.status}`;
			try {
				const errorData = await resp.json();
				// Try to extract message from OpenAI-style error format
				if (errorData.error?.message) {
					errorMessage = errorData.error.message;
				} else if (errorData.message) {
					errorMessage = errorData.message;
				}
			} catch {
				// If JSON parsing fails, use status text
				errorMessage = resp.statusText || errorMessage;
			}

			logger.warn(
				{ status: resp.status, error: errorMessage, traceId },
				"[arch] router returned error"
			);

			return {
				routeName: "arch_router_failure",
				error: {
					message: errorMessage,
					statusCode: resp.status,
				},
			};
		}
		const data: { choices: { message: { content: string } }[] } = await resp.json();
		const text = (data?.choices?.[0]?.message?.content ?? "").toString().trim();
		const raw = parseRouteName(text);

		const other = config.LLM_ROUTER_OTHER_ROUTE || "casual_conversation";
		const chosen = raw === "other" ? other : raw || "casual_conversation";

View on GitHub (pinned to fa13ee4ad6)

Solutions

  1. Check the router's upstream model catalog is reachable and loaded; retry after the model list loads successfully.
  2. Inspect router logs for the underlying selection error and fix the failing candidate/endpoint.
Defensive patterns

Strategy: fallback

When it happens

Trigger: Thrown at ruflo/src/ruvocal/src/lib/server/router/arch.ts:196 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of ruvnet/ruflo@fa13ee4ad6 (2026-08-18). Data as JSON: /api/errors/f1e131666b93661e. Report an issue: GitHub.