Menu

#112 Disable local llama-server probing while a cloud text provider is active

open
nobody
None
2026-08-11
2026-08-11
Anonymous
No

Originally created by: yablokolabs

Summary

A cloud-backed Atomic session can start successfully while still probing and warning about http://127.0.0.1:8080. These requests look like an active backend failure even when the selected OpenAI-compatible provider is healthy.

This is finding §9 from Yabloko Labs' evaluation. The behavior spans bootstrap, sidecar session start, per-turn profile refresh, and the TUI health poller.

Current behavior

Runtime bootstrap checks local llama health and resolves a local profile before wiring the active cloud provider:

The sidecar performs another unconditional health check after buildRuntime:

The agent loop refreshes the local profile manager at turn start and between steps, causing /props traffic even when inference uses a cloud provider:

The TUI constructs and always starts a poller against the local llama URL:

Proposed behavior

Resolve the active text provider before initializing local text-model health/profile state.

When the active text provider is cloud/OpenAI-compatible:

  • skip local text /health and /props requests in bootstrap and sidecar startup;
  • do not refresh a local ModelProfileManager during cloud turns;
  • use an explicit cloud/non-local prompt profile;
  • stop the TUI local poller, or label it clearly as inactive local-backend status without probing.

Local embeddings are independent and should still be probed when explicitly enabled. Switching back to local-llama should lazily initialize and refresh its profile, context, and slot state before the first local turn.

Acceptance criteria

  • A cloud-only text configuration makes zero requests to the local text /health or /props endpoints during runtime bootstrap, sidecar session start, and cloud turns.
  • No local-text-backend failure is emitted for a healthy cloud-backed run.
  • The TUI does not present an inactive local backend as the health of the active cloud provider; it either does not poll or labels local status as inactive.
  • Cloud turns use a non-local/plain profile and never refresh the local profile manager.
  • Selecting local-llama preserves or lazily restores health, profile, context-window, and slot probes before local inference.
  • Explicitly enabled local embeddings continue to be probed independently.
  • Tests assert local request counts for CLI bootstrap, sidecar start, TUI startup, cloud turns, local turns, cloud-text-plus-local-embeddings, and cloud-to-local hot switching.

Discussion


Log in to post a comment.