Omnigraph

Constants & tunables

Expand traversal dispatch. With OMNIGRAPHTRAVERSALMODE unset, the engine

NameValueWhere
MANIFEST_DIR__manifestdb/manifest/layout.rs
Commit graph dir_graph_commits.lancedb/commit_graph.rs
Run registry dir (legacy, removed MR-771)_graph_runs.lanceinert post-v0.4.0; bytes remain until a delete_prefix primitive lands
Run branch prefix (legacy, removed MR-771/MR-770)__run__swept off __manifest by the v2→v3 migration; no longer a reserved name
Schema apply lock__schema_apply_lock__db/mod.rs
Manifest publisher retry budgetPUBLISHER_RETRY_BUDGET = 5db/manifest/publisher.rs
Internal manifest schema versionINTERNAL_MANIFEST_SCHEMA_VERSION = 3db/manifest/migrations.rs
Merge stage batchMERGE_STAGE_BATCH_ROWS = 8192exec/merge.rs
Maintenance concurrencyOMNIGRAPH_MAINTENANCE_CONCURRENCY=8db/omnigraph/optimize.rs
Lance blob compaction supportLANCE_SUPPORTS_BLOB_COMPACTION = falsedb/omnigraph/optimize.rs
Graph index cache size8 (LRU)runtime_cache.rs
Expand indexed-path frontier ceilingOMNIGRAPH_EXPAND_INDEXED_MAX_FRONTIER=1024exec/query.rs
Expand indexed-path hop ceilingOMNIGRAPH_EXPAND_INDEXED_MAX_HOPS=6exec/query.rs
Expand CSR-build cost factorCSR_BUILD_FACTOR = 1.5exec/query.rs
Expand mode overrideOMNIGRAPH_TRAVERSAL_MODE (indexed|csr; unset = cost-based auto)exec/query.rs
Default body limit1 MBomnigraph-server/lib.rs
Ingest body limit32 MBomnigraph-server/lib.rs
Engine embed modelgemini-embedding-2-previewomnigraph/embedding.rs
Compiler embed modeltext-embedding-3-smallomnigraph-compiler/embedding.rs
Embed timeout30 000 msboth clients
Embed retries4both clients
Embed retry backoff200 msboth clients
LANCE memory pool default1 GB (raised in v0.3.0)runtime

Expand traversal dispatch. With OMNIGRAPH_TRAVERSAL_MODE unset, the engine chooses the indexed (per-hop BTREE) vs CSR (whole-graph in-memory) path with a cost model over cheap manifest counts (frontier size, |E|, source-vertex count, hops) plus the index-coverage signal: the indexed path is preferred when its frontier-relative work beats building the CSR (≈ when hops × frontier is a small fraction of the source-vertex set), and CSR is preferred for dense/deep traversals or when the BTREE coverage is degraded and a full scan would be paid per hop. The two ceilings bound the initial dispatch frontier/hops (beyond them CSR is always used); they are not a hard per-hop bound — the cost model estimates total indexed work as ~hops × frontier × fanout, so dense fan-out is priced toward CSR rather than capped mid-traversal. The override flag forces a path (the auto result is identical either way; only the path differs).