Background
getProjectId() resp. getProjectIdByProject() ('src/ReadingListRepository.php:1556-1589') query reading_list_project on every call, and the same @local project is resolved several times per request. The table is tiny and practically immutable.
Goal
Resolve a given project to its ID at most once per request.
Acceptance criteria for done
- Resolved project → rlp_id is memoized on the repository instance (optionally also via WANObjectCache).
- Repeated resolutions in one request issue no extra queries (verified via the POC harness).