"How to use the canonical VoxDB / Codex store"

Canonical VoxDB / Codex store

What is canonical?

Authoritative relational data (Codex, publication, research, default training telemetry) lives in the user-global database resolved by:

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?

LocationRole
.vox/store.db (repo)Optional project cache: snippets, share, LSP — open_project_db. Do not treat as cross-repo SSOT.
vox_training_telemetry.dbTemporary 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:

  1. vox codex export-legacy backup.jsonl
  2. Point VOX_DB_PATH at a new file (or delete the old file after backup).
  3. vox codex verify (applies current baseline).
  4. 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_VERSION in manifest.rs.
  • Legacy: multi-version schema_version chains — export/import only, not incremental SQL bridges.