To allow ourselves to reason better on how to decouple Wikibase Repo and Clients parts, we intend to visualize the points of coupling.
For each of areas/"types" of decoupling (see list below) we intend to have have a more clear understanding what kind of logic and elements are shared/coupled, some possible numbers on the amount of these (when makes sense - e.g. i18n messages), description of characteristics of dependencies (when applicable).
Possibly incomplete list of known types
* Coupling in PHP code
* Coupling in the front end code
* Coupling of i18n messages used in both places
* Coupling of ResourceLoader modules used in both places
* Coupling in cache layer (shared cache entries in WMF environment?)
* Coupling in data access layer
...
Solving those dependencies is not subject of this task. They will be addressed systematically in a way defined based on the outcome of this investigation.
Suggested approach: timebox investigation (limited to N person hours), each of team members to be included in investigating at least 2 different areas of Wikibase.
Acceptance criteria:
[ ] There is a list provided (in this task) of all existing types of Repo-Client coupling
[ ] For each type of coupling there is an overview of details of dependencies in this area - free form/depending on the contents - included in or linked from this task