Per-user personalisation is inside the cached prefix
PrefixAudit rule personalisation-in-prefix · v0.1.0
Why it breaks your cache
A name, locale, timezone or currency in the system prompt splits your cache into one cold entry per user segment. Each segment pays a full-price write before it ever reads. Teams that moved a 300-token user block out of the system prompt took their hit rate from 23% to 71%.
How to fix it
Keep the system prompt a policy document, not a render target for user state. Move name/locale/timezone/currency/plan into the trailing user message. Use a separate cache breakpoint if you must cache per-user context.
How common is it?
Detected in 11 of 236 production system prompts (4.7%) across 16 vendors.
Estimated impact
Modelled as invalidating 0% of the cached prefix.
Is your prompt affected?
Paste it and find out. Static analysis, in-browser, nothing leaves the page.
Run the audit →