A user trying to connect OptiLLM’s proxy to a local llama.cpp server reported broken logging, model discovery and a crash with the Crush coding agent. They had tried an AI-assisted local repair, then abandoned it without saving the logs. The report was a useful lead, not a reproducible account of every failure.
The resulting September 28 repair exposed a concrete configuration mistake. When the user’s proxy configuration was absent, the loader could select the bundled example file. Its sample providers became routing configuration. The commit records both Claude authorship and a Claude co-author credit, with Asankhaya Sharma as committer: public evidence of coding-agent participation, not a measure of how much work any participant performed.
Test the installation that has nothing configured
We loaded the configuration module before the repair and at the prepared current revision, substituting a fresh temporary home directory in each run. The earlier loader returned six provider entries from the bundled example. The current loader returned an empty provider list and created a user configuration file. This experiment made no network requests; it proves configuration selection, not that a particular user’s prompt reached an unintended service.
The repository’s new regression test checks that same missing-configuration boundary. It also adds separate tests for preserving tool-call structure and for retrying an unhealthy configured provider before using the default client. The engineering problem is larger than getting a chat response back: a coding agent needs its message structure and chosen route to survive the intermediary.
Our run found a qualification the empty-list assertion does not catch. The generated template writes a providers: key with only commented examples beneath it. YAML reads that as null. The defaults code tries to iterate it, logs a load error and returns its minimal fallback configuration. The result is empty, but it arrived through error recovery rather than a successfully parsed empty list.
And “empty” does not mean “send nothing.” The proxy entry point still sends requests through the original client when no providers are configured. The repair removes the bundled examples from automatic discovery; it does not establish a universal stop on outbound traffic.
A transferable skill: separate examples, defaults and authority
Test configuration loading with an empty user directory, then assert both the selected endpoints and the absence of a load error. A populated developer machine can hide an unintended fallback for years. Next, trace what consumes an empty or invalid configuration. An assertion that no providers were loaded says nothing about a later default client.
Keep demonstration files outside automatic discovery. Give the generated empty template an explicit empty collection, and test that it reaches the normal path. Finally, use a fake transport to record every destination under missing, invalid and unreachable-provider cases. That last test is the bridge from configuration correctness to routing behavior; we did not run a live Crush or provider integration.
The repair itself went through revision. A follow-up removed a newly introduced environment-variable config path after a static-analysis finding and added the proxy tests to CI. The current tree therefore does not support that short-lived option. The useful next receipt is a test that catches the template’s error path while confirming exactly which client receives a request. A sample file should teach configuration, not quietly acquire authority to route it.