The 14 rules

Each rule is deterministic static analysis over the prompt text and the request payload. No model calls, no heuristics that change between runs.

SeverityRuleIn corpus
critical A timestamp is inside the cached prefix 76 · 32.2%
critical Per-request identifiers are inside the cached prefix 7 · 3%
critical Prefix is below the provider minimum, so caching is silently skipped 68 · 28.8%
critical No cache breakpoint marker found
high Per-user personalisation is inside the cached prefix 11 · 4.7%
high Mutable working memory lives in the system prompt 27 · 11.4%
high Volatile content sits ahead of stable content 4 · 1.7%
high Tool definitions can change between calls 2 · 0.8%
high No cache-hit-rate instrumentation found
medium Requests in this set may land on different models or tiers
medium Cache TTL may not match your request cadence
medium Error-retry path appears to rebuild the prefix
medium Prefix content is serialised non-deterministically
medium The cached prefix is far larger than it needs to be 36 · 15.3%

Corpus: 236 system prompts, 16 vendors, drawn from a CC0 public-domain archive. 177 non-prompt files were excluded before counting.