Modules (i.e., builders, analyzers, and reporters) can contact (read and/or write) the graph database in two ways:
- Through the Quartermaster orchestrator via the
qmstr run ... wrapper (green arrow)
- Directly (red arrow)

Contacting the graph database through the Orchestrator causes the latter to be responsible for database management, a task that it shouldn't be responsible for. Therefore, modules should contact the graph database directly (as it already happens for the JSON reporter, purple arrow).
The qmstr run ... wrapper will continue to exist as long as it's more convenient for us.