Skip to content

Database Collections ​

QDash persists Bunnet documents in MongoDB; this page maps each collection to the class and module that define its fields and indexes.

Use the Code as the Schema ​

src/qdash/dbmodel/document_models.py is the complete registration list used by API startup. Each document's Settings.name defines its collection, and Settings.indexes defines its managed indexes. The document class is the source of truth for fields, defaults, validation, and indexes.

Related model layers serve different contracts:

LayerSourceContract
Persisted MongoDB documentssrc/qdash/dbmodel/Stored fields, collection names, and indexes
Domain modelssrc/qdash/datamodel/Values shared by API, repositories, and workflow code
HTTP schemassrc/qdash/api/schemas/Request and response payloads
Public APIOpenAPIGenerated HTTP operations and schemas

Do not copy a field or index definition into documentation when the code can answer it directly. Explain lifecycle and ownership decisions in the Developer Guide instead.

Identity and Projects ​

CollectionDocumentModule
userUserDocumentuser.py
projectProjectDocumentproject.py
project_membershipProjectMembershipDocumentproject_membership.py

Calibration and Hardware ​

CollectionDocumentModule
backendBackendDocumentbackend.py
chipChipDocumentchip.py
qubitQubitDocumentqubit.py
couplingCouplingDocumentcoupling.py
taskTaskDocumenttask.py
chip_historyChipHistoryDocumentchip_history.py
qubit_historyQubitHistoryDocumentqubit_history.py
coupling_historyCouplingHistoryDocumentcoupling_history.py
cryostatCryostatDocumentcryostat.py
cooldownCooldownDocumentcooldown.py
cooldown_wiring_eventCooldownWiringEventDocumentcooldown_wiring_event.py

The Calibration Data Lifecycle explains how accepted parameters, task results, and history differ.

Executions and Workflows ​

CollectionDocumentModule
execution_historyExecutionHistoryDocumentexecution_history.py
task_result_historyTaskResultHistoryDocumenttask_result_history.py
project_execution_counterProjectExecutionCounterDocumentproject_execution_counter.py
execution_counterExecutionCounterDocumentexecution_counter.py
execution_lockExecutionLockDocumentexecution_lock.py
calibration_noteCalibrationNoteDocumentcalibration_note.py
flowsFlowDocumentflow.py
evaluation_runEvaluationRunDocumentevaluation_run.py
evaluationEvaluationDocumentevaluation.py
evaluation_assetEvaluationAssetDocumentevaluation_asset.py

Workflow Engine Architecture explains the runtime lifecycle, reservations, and terminal state handling.

Notes, Forum, and Notifications ​

CollectionDocumentModule
tagTagDocumenttag.py
chip_noteChipNoteDocumentchip_note.py
metric_noteMetricNoteDocumentmetric_note.py
target_noteTargetNoteDocumenttarget_note.py
note_eventNoteEventDocumentnote_event.py
forum_categoryForumCategoryDocumentforum.py
forum_labelForumLabelDocumentforum.py
forum_postForumPostDocumentforum.py
forum_counterForumCounterDocumentforum.py
slack_forum_threadSlackForumThreadDocumentslack_forum_thread.py
notificationNotificationDocumentnotification.py
copilot_chat_sessionCopilotChatSessionDocumentcopilot_chat_session.py

Notes Architecture explains current-state notes and their audit events.

Agent and Provenance ​

CollectionDocumentModule
agent_sessionsAgentSessionDocumentagent_session.py
agent_actionsAgentActionDocumentagent_session.py
agent_candidate_commitsAgentCandidateCommitDocumentagent_session.py
agent_candidate_set_commitsAgentCandidateSetCommitDocumentagent_session.py
parameter_versionsParameterVersionDocumentprovenance.py
provenance_relationsProvenanceRelationDocumentprovenance.py
provenance_activitiesActivityDocumentprovenance.py

agent_candidate_set_commits was called agent_campaign_commits before the agent plan vocabulary replaced "campaign". The calibration-migration container in compose.yaml runs python -m qdash.dbmodel.migration run --execute before the API starts, and that run moves the records of an existing deployment into the new collection once.

Provenance Architecture explains version, relationship, and activity records.

Released under the Apache 2.0 License.