"vox-cli build and feature inventory"

vox-cli build and feature inventory

Single place to see which Cargo features pull which dependency blocks and how that affects compile time. Use with CLI scope policy, trim-build-defer policy, and vox ci build-timings.

Capability Discovery (vox-build-meta)

Starting in v0.1.0, the vox-build-meta crate generates a FEATURES_JSON manifest at build time capturing the exact CARGO_FEATURE_* variables compiled into the binary.

When a user attempts to run a disconnected feature (e.g. vox oratio on a build missing the oratio feature, or vox mens train missing gpu), the CLI dispatches this to a fallback stub. The stub uses vox_build_meta::require("feature_name", "cargo build ...") to gracefully intercept the command and print actionable, copy-pasteable rebuild instructions, rather than crashing with an unhelpful "unrecognized subcommand" error.

Default features (minimal compiler loop)

FeatureDefaultCompile impact (high level)
(none)when using --no-default-featuresCompiler pipeline + vox-db + vox-corpus + vox-runtime (always linked for training JSONL / grammar paths); no vox mens … surface (mens-base off) and no Oratio / native train
mens-baseyesMarker: enables vox mens … CLI (corpus commands, etc.) without linking vox-populi ML / Oratio — vox-corpus / vox-runtime are not feature-gated
orationo (opt-in)mens-base + vox-oratio (Candle Whisper STT) — heavy; enables vox oratio / vox speech
oratio-micno (opt-in)oratio + cpal + hound — adds vox oratio record-transcribe (default microphone → WAV → STT)
gpuno (opt-in)Adds vox-populi (mens, mens-train, …) + vox-tensorlargest incremental cost

Optional features (alphabetical by concern)

FeatureExtra deps / notes
arsvox-skills
coderabbitvox-forge, vox-git, vox-toestub, …
codexvox-eval, walkdir, dirs — DB via vox-db (Codex types)
dashboardNo-op flag (reserved)
execution-apiaxum, tokio-stream, implies script-execution + gpu
extras-ludusvox-ludus, vox-toestub
islandcomfy-table, dirs, walkdir, which
livevox-orchestrator
populivox-populi + transport (axum / reqwest / tokio) — vox populi status / serve
workflow-runtimemens-dei + vox-workflow-runtime — interpreted vox mens workflow run (separate from populi; add populi if you need the HTTP registry / control-plane CLI)
mens-candle-cudagpu + vox-populi/mens-candle-qlora-cuda (nvcc / CUDA toolkit at build time)
mens-candle-metalgpu + Metal Candle stack (macOS)
mens-deivox-tensor/train without full Mens (legacy vox train path)
mens-qloraAlias for gpu (QLoRA is in the train feature chain)
script-executionwasmtime, wasmtime-wasi, landlock / win32job, …
stub-checkvox-toestub, vox-ludus, … — DB via vox-db

Workspace binaries (vox-cli)

Binaryrequired-featuresPurpose
vox(none)Main CLI
vox-compilerd(none)Watch / compile daemon
vox-mensmens-basePrepends mens only; speech remains vox oratio / vox speech

Crate categories (where “like lives with like”)

BucketCratesRationale
Compilervox-compiler (lexer/parser/HIR/typeck/codegen modules)Monolith crate
Data planevox-db, vox-pmTurso / Arca / Codex vox_db::VoxDb
ML / trainingvox-populi (mens + mesh), vox-tensor; vox-corpus linked always; native stack gated behind gpuFormer vox-mens absorbed into vox-populi
Agent / MCPvox-mcp, vox-orchestrator, vox-repositoryOptional tooling surfaces

Keyring / secrets

OS keyring helpers live on vox-db as vox_db::secrets.

Measuring build time

  • Local / CI: vox ci build-timings (human table or --json). Add --crates for extra isolated cargo check -p … lanes (vox-cli --no-default-features, vox-db, vox-oratio, vox-populi --features mens-train) — see crate-build-lanes migration.
  • CUDA lane is skipped unless nvcc is on PATH (same policy as vox ci cuda-features).