When a user asks for the latest cached movie list → return merged movie catalog.
GET /api/movies. If the user wants one specific title not in the list, answer from the returned list or say it is not in the cached set — do not invent movies.GET /api/movies.GET /api/movies already returned 200 in this conversation and the user asks again without needing fresher data, reuse data.GET /api/movies.{ code, message, data }.data.movies, data.cachedAt (ms timestamp when cache updated).GET /api/movies — read-only; does not trigger upstream writes.
data.movies: array of merged movie objects (fields such as name, score, sources, posters, URLs — see live response).sources / fields may vary./api/movies → summarize data.movies (verify live).data.movies.Single GET; follow Steps; do not call external TMDB/Maoyan if this list suffices.