omnigraph/docs/user
Ragnor Comerford c594aeb868
feat(engine): frontier-size Expand dispatcher + lazy CSR build
Replace the env-only mode switch with an auto policy: Expand uses the
BTREE-indexed path when the source frontier is small and the hop count bounded
(OMNIGRAPH_EXPAND_INDEXED_MAX_FRONTIER=1024, OMNIGRAPH_EXPAND_INDEXED_MAX_HOPS=6),
else the in-memory CSR. OMNIGRAPH_TRAVERSAL_MODE=indexed|csr still forces a mode.

Make the CSR index lazy: thread a GraphIndexHandle (memoizing OnceCell over a
Cached/Direct/None builder) through execute_query/execute_pipeline/
execute_rrf_query/execute_anti_join instead of a pre-built Option<&GraphIndex>.
A query served entirely by the indexed path with no AntiJoin never pays the
O(|E|) CSR build — the perf win of Tier 3. AntiJoin still realizes the index
(its negation uses CSR has_neighbors).

Net effect: selective traversals (the common case) skip the whole-graph CSR
build and resolve neighbors from the persisted, incrementally-maintained
src/dst BTREE. Existing traversal/aggregation/end_to_end/search suites now run
the indexed path by default and stay green.

Docs: constants.md (new env knobs), query-language.md (Expand dual path),
indexes.md (graph index is lazy + the indexed alternative).
2026-06-08 11:32:06 +02:00
..
audit.md feat(engine): sweep & remove legacy __run__ branch guard (MR-770) (#132) 2026-06-07 18:33:14 +03:00
branches-commits.md feat(engine): sweep & remove legacy __run__ branch guard (MR-770) (#132) 2026-06-07 18:33:14 +03:00
changes.md docs: split user and developer docs (#93) 2026-05-15 03:45:22 +03:00
cli-reference.md fix(optimize): skip blob-bearing tables to avoid Lance compaction crash (#138) 2026-06-02 17:12:00 +02:00
cli.md feat: inline query strings in CLI and HTTP server (#110) 2026-05-29 13:41:54 +02:00
constants.md feat(engine): frontier-size Expand dispatcher + lazy CSR build 2026-06-08 11:32:06 +02:00
deployment.md feat(server): compose OMNIGRAPH_TARGET_URI with OMNIGRAPH_CONFIG in entrypoint (#129) 2026-05-30 20:17:55 +01:00
embeddings.md Rename repo terminology to graph (#118) 2026-05-24 16:46:00 +01:00
errors.md docs: rename runs.md/runs.rs → writes and repoint all references (#131) 2026-05-30 23:20:56 +02:00
index.md Rename repo terminology to graph (#118) 2026-05-24 16:46:00 +01:00
indexes.md feat(engine): frontier-size Expand dispatcher + lazy CSR build 2026-06-08 11:32:06 +02:00
install.md Add Windows release binaries (#127) 2026-05-30 14:23:40 +02:00
maintenance.md fix(optimize): skip blob-bearing tables to avoid Lance compaction crash (#138) 2026-06-02 17:12:00 +02:00
policy.md Stored-query registry foundation + config/CLI RFC-002 (#128) 2026-06-01 22:50:31 +02:00
query-language.md feat(engine): frontier-size Expand dispatcher + lazy CSR build 2026-06-08 11:32:06 +02:00
schema-language.md schema: HTTP allow_data_loss exposure + e2e drop coverage (MR-694 follow-up) (#107) 2026-05-19 01:56:46 +03:00
schema-lint.md docs: split user and developer docs (#93) 2026-05-15 03:45:22 +03:00
server.md Stored-query registry foundation + config/CLI RFC-002 (#128) 2026-06-01 22:50:31 +02:00
storage.md feat(engine): sweep & remove legacy __run__ branch guard (MR-770) (#132) 2026-06-07 18:33:14 +03:00
transactions.md docs: rename runs.md/runs.rs → writes and repoint all references (#131) 2026-05-30 23:20:56 +02:00