Canonical VoxDB / Codex store
What is canonical?
Authoritative relational data (Codex, publication, research, default training telemetry) lives in the user-global database resolved by:
DbConfig::resolve_canonical(same asresolve_standalone), thenVoxDb::connect.
Typical local path: <VOX_DATA_DIR or platform default>/vox/vox.db via default_db_path. Override with VOX_DB_PATH or use VOX_DB_URL + VOX_DB_TOKEN for remote Turso.
What is not canonical?
| Location | Role |
|---|---|
.vox/store.db (repo) | Optional project cache: snippets, share, LSP — open_project_db. Do not treat as cross-repo SSOT. |
vox_training_telemetry.db | Temporary fallback when vox.db is still on a legacy schema_version chain. See Training telemetry sidecar. |
migrating off a legacy chain
If vox codex verify or normal connect reports a non-baseline schema:
vox codex export-legacy backup.jsonl- Point
VOX_DB_PATHat a new file (or delete the old file after backup). vox codex verify(applies current baseline).vox codex import-legacy backup.jsonl
Details: codex-legacy-migration.
Historical vox_training_telemetry.db
Mens training uses VoxDb::connect_default on the canonical store. If vox.db is still on a legacy schema_version chain, connect fails with LegacySchemaChain until you complete export / fresh baseline / import (see codex-legacy-migration). A leftover vox_training_telemetry.db from older releases can be archived after primary cutover.
Deprecation stance
- Canonical: one maintained
BASELINE_VERSIONinmanifest.rs. - Legacy: multi-version
schema_versionchains — export/import only, not incremental SQL bridges.