---
title: "Evaluate Caveman while keeping your Bifrost gateway"
description: "Begin with one agent or staging caller. Keep the production Bifrost deployment available throughout the experiment. The first decision is whether you want to test context compression or replace a gate"
canonical: https://caveman.so/switch/bifrost
last-updated: 2026-09-07
---

# Evaluate Caveman while keeping your Bifrost gateway

Begin with one agent or staging caller. Keep the production Bifrost deployment available throughout the experiment. The first decision is whether you want to test context compression or replace a gateway responsibility; those require different validation.

Caveman's public local proxy is a loopback service. Router and Platform access are separate private pilots, not an anonymous hosted substitute for your gateway.

## Save the gateway configuration

Record provider mappings, model names, virtual-key permissions, budgets, rate limits, fallbacks, load-balancing rules, cache settings, and plugins. Include headers added by the client or gateway.

Check whether your application uses Bifrost's unified API, a provider-specific compatibility path, or the embedded Go SDK. Those entry points are not interchangeable. Save the existing client URL and authentication method.

Use [Bifrost's current project and documentation](https://github.com/maximhq/bifrost) for the deployment you run. Preserve configuration through its supported storage or export path; a screenshot of a model list is not enough to restore governance.

## Start with a local agent trial

For a supported coding agent on a developer machine:

```bash
npm install -g @caveman-ai/cli
caveman setup --install
caveman doctor codex
caveman codex
```

Run a task with known output in a fresh session. Compare it with the same task through the original launcher and configuration. Keep model and reasoning settings fixed.

This launcher does not automatically inherit every Bifrost setting. If it uses a direct provider path, that arm is a separate experiment with its own credentials and policy. Do not describe it as a governed gateway replacement.

For an initial test that makes no model request, inspect a saved payload:

```bash
caveman shrink --file ./fixtures/tool-output.json
```

Verify any emitted recovery handle before integrating the view into an agent. [The compression guide](/guides/prompt-compression) covers that check.

## Map a combined path explicitly

If the agent must keep Bifrost as its upstream, review [Caveman's compatibility mounts](https://docs.caveman.so/docs/proxy/configure) and provider requirements. Configure the exact upstream API root and secret environment reference used by the test client.

Private upstream hosts require an explicit allowlist. Keep the Caveman listener on loopback, and account for container network namespaces. A remote application cannot reach a proxy through your laptop's `127.0.0.1`.

Do not copy a Bifrost model string into a different provider mount without checking its meaning. Preserve tool support, structured-output settings, provider restrictions, and streaming behavior. Native recovery or a supported proxy-side recovery path is required before expecting lossy compression to apply.

## Test policy and failure behavior

| Case | What should remain true |
| --- | --- |
| Allowed model | Reaches the intended provider deployment |
| Disallowed model | Remains refused on the governed path |
| Provider error | Retry and fallback ownership is understood |
| Cached response | Identified separately from a provider call |
| Tool-heavy request | Tool IDs and results remain valid |
| Recovery request | Required original content is available |
| Cancelled stream | Stops without hidden extra work |

Keep the original Bifrost path as the control. Check gateway records and provider usage for duplicate requests, not only a successful final answer.

## Decide from the complete task

Compare quality, total usage, latency, recovery, and retries across repeated tasks. Include a small request likely to pass through unchanged and a long result with a required omitted detail.

If the combined path has no supported compression behavior for your protocol, record that result and keep the baseline. A successful HTTP response does not prove context reduction happened.

## Roll back

Restore the saved caller URL, model string, and authentication settings. Start fresh agent sessions through Bifrost and verify their policy behavior. Remove candidate configuration only after no active caller depends on it.

For a broader private pilot, map gateway and Platform responsibilities separately. Read [the comparison](/compare/bifrost) and [gateway migration checklist](/guides/gateway-migration) before changing production defaults.
