Rename `GitLab::Llm::Cache`
Summary
GitLab::Llm::Cache
by its name pretends to be a caching storage, while in fact it's a repository object for non-existent AiChatMessage
model.
It does NOT:
- caches particular message
- retrieves particular message.
It does:
- stores (even if temporary) user conversations.
- has business knowledge about conversations. I.e.
last_conversation
method. - returns different data type from added value. (payload hash vs
CachedMessage
).
This is very close to general repositories. Like user.projects.create!
and user.projects.find_by(filters)
.
So to improve
Suggestion
Rename Cache
class to something like UserMessagesRepository
or UserMessagesStorage
to reflect that it's not simply caching but general storage mechanism. Obviously the storage should still remain temporary as it is now.