omnigraph/docs/user/constants.md
Ragnor Comerford d54bccb940
Some checks failed
CI / Classify Changes (push) Has been cancelled
CI / Check AGENTS.md Links (push) Has been cancelled
CI / Container Entrypoint (push) Has been cancelled
Release Edge / Prepare edge release (push) Has been cancelled
CI / Test Workspace (push) Has been cancelled
CI / Test omnigraph-server --features aws (push) Has been cancelled
CI / Test Windows release binaries (push) Has been cancelled
CI / RustFS S3 Integration (push) Has been cancelled
Release Edge / Build edge omnigraph-linux-x86_64 (push) Has been cancelled
Release Edge / Build edge omnigraph-macos-arm64 (push) Has been cancelled
Release Edge / Build edge omnigraph-windows-x86_64 (push) Has been cancelled
Release Edge / Smoke Windows installer (push) Has been cancelled
fix(optimize): skip blob-bearing tables to avoid Lance compaction crash (#138)
* test(optimize): pin Lance blob-column compaction failure as a surface guard

Lance compact_files mis-decodes blob-v2 columns under its forced BlobHandling::AllBinary read ("more fields in the schema than provided column indices"), failing even a pristine uniform-V2_2 multi-fragment blob table; reads use descriptor handling and are unaffected.

Guard 10 reproduces this and is self-retiring: it turns red on the Lance bump that fixes the bug, forcing LANCE_SUPPORTS_BLOB_COMPACTION to flip.

* fix(optimize): skip blob-bearing tables instead of crashing compaction

omnigraph optimize aborted the whole sweep when any node/edge table had a Blob property: Lance compact_files cannot decode blob-v2 columns under AllBinary (the column-index error pinned by the surface guard). Skip blob-bearing tables behind a LANCE_SUPPORTS_BLOB_COMPACTION gate and report them via TableOptimizeStats.skipped / SkipReason (surfaced in the CLI and a tracing::warn) instead of erroring, which also isolates the failure so the other tables still compact.

Reads/writes are unaffected; only fragment/space reclamation on blob tables is deferred until the upstream Lance fix. Adds a maintenance.rs regression test (validated red with the column-index symptom before the fix, green after), a concise v0.6.1 release note, and updates docs (maintenance, cli-reference, AGENTS capability matrix, invariants Known Gaps, lance.md audit, constants).

* refactor(optimize): make TableOptimizeStats and SkipReason non_exhaustive

Both are returned result types, never built by callers, so #[non_exhaustive] makes this the last field/variant addition that can break downstream literal construction and keeps future ones non-breaking (review feedback on the public-field addition). The v0.6.1 Compatibility Notes call out the source-level change.

Also drops the now-stale "RED today / GREEN after the fix lands" narration in the optimize_skips_blob_table_and_reports_skip test (historical regression context now that the fix is in this branch), and folds in the expanded v0.6.1 release note.

* chore(release): bump workspace to v0.6.1

Coherent version bump to accompany the v0.6.1 release note: all five crate manifests + path-dependency constraints, Cargo.lock, the AGENTS.md surveyed-version line, and openapi.json info.version move 0.6.0 -> 0.6.1. Matches the established release pattern (#118 landed the v0.6.0 note + bump together) and resolves the Codex/Devin review flag that a v0.6.1 note without a bump leaves CARGO_PKG_VERSION reporting 0.6.0 and mixed package versions.
2026-06-02 17:12:00 +02:00

1.5 KiB

Constants & Tunables (cheat sheet)

Name Value Where
MANIFEST_DIR __manifest db/manifest/layout.rs
Commit graph dir _graph_commits.lance db/commit_graph.rs
Run registry dir (legacy, removed MR-771) _graph_runs.lance inert post-v0.4.0; reclaimed by MR-770
Run branch prefix (legacy, removed MR-771) __run__ filtered by is_internal_run_branch defense-in-depth
Schema apply lock __schema_apply_lock__ db/mod.rs
Manifest publisher retry budget PUBLISHER_RETRY_BUDGET = 5 db/manifest/publisher.rs
Internal manifest schema version INTERNAL_MANIFEST_SCHEMA_VERSION = 2 db/manifest/migrations.rs
Merge stage batch MERGE_STAGE_BATCH_ROWS = 8192 exec/merge.rs
Maintenance concurrency OMNIGRAPH_MAINTENANCE_CONCURRENCY=8 db/omnigraph/optimize.rs
Lance blob compaction support LANCE_SUPPORTS_BLOB_COMPACTION = false db/omnigraph/optimize.rs
Graph index cache size 8 (LRU) runtime_cache.rs
Default body limit 1 MB omnigraph-server/lib.rs
Ingest body limit 32 MB omnigraph-server/lib.rs
Engine embed model gemini-embedding-2-preview omnigraph/embedding.rs
Compiler embed model text-embedding-3-small omnigraph-compiler/embedding.rs
Embed timeout 30 000 ms both clients
Embed retries 4 both clients
Embed retry backoff 200 ms both clients
LANCE memory pool default 1 GB (raised in v0.3.0) runtime