The codebase has TWO cost caching mechanisms:
- Database fields (
rating_current,stash_current,dirty) - KEEP - central to facts system - In-memory Django cache (
caches["core_list_cache"]) - REMOVE - no longer needed
The in-memory cache is updated by signals on every List/ListFighter/Assignment change. These signals are expensive and redundant now that the facts system uses DB fields.