- RedisCache.put: add pipe.expire() on index sets matching entry TTL, prevents orphaned index entries when cache values expire - Broad purge: delete_indexes_by_prefix() cleans per-param sub-indexes (mizan:idx:ctx:k=v) that previously leaked as dead sets - Move cache imports to top of executor.py (were inline in view functions) - Update KNOWN_ISSUES.md — all 16 issues now resolved or documented Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>