008364e922
Per Codex: generate_summary treated why_belongs alone as a complete explanation, but get_explanation requires all three — so a partial older row (e.g. only why_belongs) would never top up and the page would fall back forever. Now the fully-cached check requires summary + what_happened + why_matters + why_belongs. Test covers the partial-row top-up. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>