Skip to content

Companion vLLM caption canary

Result — 2026-11-05

PR #634 merged with all 28 checks passing. The gateway source was fast-forwarded to bc369d891d813d566ab8f0396b0986b71268d2fd through the existing relay lock. The operation preserved the four unrelated dirty tracked files, their hashes and index, and the untracked status.

Exactly one generated 64×64 blank PNG was sent through the private HTTPS gateway to companion-archive-caption-vllm-canary. The request was non-streaming with max_tokens: 512, temperature: 0, seed: 0, and no retry or fallback. It returned HTTP 200 with a valid, nonempty assistant response and finish_reason: stop after 164.243 seconds, including cold model load, generation, and gateway time. No other inference was authorized or performed.

This establishes gateway caption transport, not production promotion or persistent service-lifetime acceptance.

Network and request boundary

The owner-created Windows private-LAN forward remains:

192.168.3.17:18230 -> 127.0.0.1:18230

The owner added the exact UDM Internal-to-Internal allow above the inter-VLAN block:

192.168.6.17 -> 192.168.3.17 TCP 18230

Windows Firewall is disabled by owner choice; that is a personal-LAN tradeoff. The controller remains loopback-only. Before the UDM rule, the gateway host and LiteLLM container network namespace timed out. The agent later repeated an unauthenticated request from the actual LiteLLM container namespace and received HTTP 401.

The canary alias targets the evaluated RTX 3090 V01 model through the forward. It uses COMPANION_VLLM_REQUEST_KEY; the non-sensitive fail-closed Compose default is COMPANION_VLLM_CANARY_UNCONFIGURED, preventing fallback to OPENAI_API_KEY. Naming and routing isolate the canary path, but this is not an ACL audit: other existing unrestricted gateway keys may be able to call the new alias.

Scoped deployment and preserved state

A private root receiver (1c31e86f…) was prepared and its keyless artifact check passed. The owner transferred the actual request key through a direct WSL-to-SSH stdin pipeline into the scoped deployment subprocess environment and then Docker's container environment metadata. The existing WSL key file was unchanged. No gateway credential file or SOPS entry was created, and the value was not printed or placed in argv, source, reports, logs, or chat.

The proxy was recreated with the candidate while retaining LiteLLM SDK 1.106.4. The temporary private Compose overlay made exactly two intentional environment deltas: the request key and DISABLE_SCHEMA_UPDATE=true. All other observed values were preserved. Startup schema updates were disabled; normal accounting writes remain possible. This run does not prove database byte equality or that no SQL queries occurred.

The proxy API and liveness checks passed. The database container, image, mount, and StartedAt were preserved. No virtual key, allowlist, application setting, production alias, queue, speech/video/OCR route, or real media was changed.

Idle result and follow-up observation

The later strict timed idle probe failed. The original caption-result.json remains a failed idle phase and was not rewritten as a success. The approximate wall-clock delay was 117.945 seconds after the gateway response; it is a file-time approximation, not the controller clock. The exact failed predicate was not retained. Potential explanations involving the five-second RPC budget, unload acceptance loop, or source timer anchor are unknown hypotheses, not conclusions.

A separate caption-postcheck.json preserves the original result and records subsequent authenticated read-only observations. The same controller invocation was verified from its attempt-marker hash. Controller health was OK; faulted, paused, active, stopping, and pending_drain were false, model_empty was true, and busy was false. The proxy remained running with zero restarts and the database remained healthy at the baseline identity.

Accepted boundary and remaining work

Accepted:

  • one synthetic gateway caption completed successfully;
  • subsequent controller unload/empty-model state was observed; and
  • the Windows checkout, owner Terminal A attachment, pinned Companion 2c1ba382, and disabled task were unchanged.

Not accepted or promoted:

  • the original strict timed idle probe;
  • full production promotion or persistent lifetime behavior;
  • future logon behavior, application settings, production aliases, queues, or real media; and
  • managed-SOPS key delivery and the image-only application canary.

No further inference is authorized by this result. Do not restore or downgrade the database, recreate the database container, or reinterpret the failed idle result as passing.