← rule catalog
cache.volatile-before-static
heuristicunmeasuredseverity: medium
A behavioral claim we believe and have not measured. Labeled unmeasured in every reporter line, excluded from the chaff score, and never fails a build by default.
Claim
A volatile block (dates, version pins) sits ahead of the static bulk of a resident file, so every edit to it invalidates the prefix cache for everything below.
Rationale
Prompt caching is prefix-based: cache reads bill at roughly a 0.1× multiplier, and an early-changing byte forfeits that for the whole remainder. Exact cost quantification lands with pricing manifests (M4).
Fix
Move volatile status to the end of the file, or into an on-demand file.
chaff explain cache.volatile-before-static: same registry, offline, from the CLI.