{"version":"2.1.223","anchor":"stats-cache-is-sanitised-before-it-is-trusted","canonical_anchor":"stats-cache-is-sanitised-before-it-is-trusted","heading":"Stats cache is sanitised before it is trusted","tier":"notice","area":"Usage & Limits","scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.223\/e\/stats-cache-is-sanitised-before-it-is-trusted","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.223","markdown":"### Stats cache is sanitised before it is trusted\n\nCorrupt usage-stats cache is repaired or rebuilt instead of showing you garbage numbers.\n\n**What**\n\nThe cached usage-stats aggregate is normalised defensively on load, and falls back to a full rescan when it cannot be repaired.\n\n**Details**\n\n- Non-finite numbers are coerced to 0.\n- `__proto__` model keys are dropped.\n- Dates must survive a strict `YYYY-MM-DD` round-trip to be accepted.\n- If no usable date can be recovered, aggregates are reset for a full rescan and a debug line is emitted.\n\n**Evidence**\n\n`resetting aggregates for a full rescan`\n\n- Area: Usage & Limits\n- Tier: You'll notice\n- Useful: 2\/5\n- Signal: 0\/5"}