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:
The owner added the exact UDM Internal-to-Internal allow above the inter-VLAN block:
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.