fix(caching): honor prompt_caching.enabled across model switch + fallback

@janrenz's PR #35862 added prompt_caching.enabled=false at init only. But
_anthropic_prompt_cache_policy re-derives _use_prompt_caching on every /model
switch (agent_runtime_helpers) and fallback-model swap (chat_completion_helpers),
which re-enabled markers and re-broke the strict proxy the toggle was meant to fix.

Move the kill switch into anthropic_prompt_cache_policy so it returns (False, False)
on every path. Drop the now-redundant init-time override (kept @janrenz's isinstance
hardening on the cache_ttl read). Add policy-level tests + docs for the toggle.

Follow-up to salvaged PR #35862.
This commit is contained in:
teknium1 2026-06-30 23:32:27 -07:00 committed by Teknium
parent c1c1a12fe6
commit 36f9f50145
6 changed files with 109 additions and 6 deletions

View file

@ -362,6 +362,7 @@ Prompt caching is automatically enabled when:
```yaml
# config.yaml — TTL is configurable (must be "5m" or "1h")
prompt_caching:
enabled: true # set false to stop sending cache_control markers (strict-proxy escape hatch)
cache_ttl: "5m"
```