omnigraph/crates/omnigraph/tests
Ragnor Comerford b999ae3753
feat(engine)!: provider-independent embedding client (RFC-012 Phase 2)
Replace the Gemini-only EmbeddingClient with one resolved EmbeddingConfig { provider, model, base_url, api_key } behind a sealed Provider enum (OpenAiCompatible | Gemini | Mock). OpenAiCompatible (POST {base}/embeddings, bearer, {model, input, dimensions}) covers OpenRouter — the new default gateway — OpenAI direct, and self-hosted endpoints; Gemini keeps its RETRIEVAL_QUERY/RETRIEVAL_DOCUMENT task types; Mock is offline/deterministic. EmbedRole replaces the task-type string.

from_env() resolves provider via OMNIGRAPH_EMBED_PROVIDER (default openai-compatible), base/model via OMNIGRAPH_EMBED_BASE_URL/_MODEL, and the api key from OPENROUTER_API_KEY/OPENAI_API_KEY or GEMINI_API_KEY. BREAKING (pre-release, no back-compat): the default provider is now OpenRouter, OMNIGRAPH_GEMINI_BASE_URL is dropped, and Gemini-only users set OMNIGRAPH_EMBED_PROVIDER=gemini.

Folds in RFC-012 Phase 1 NFR floor: a total-operation OMNIGRAPH_EMBED_QUERY_DEADLINE_MS deadline (default 60s; 0=unbounded) bounds the ~121s worst case, and tracing spans (target omnigraph::embedding) record provider/model/dim/attempt/elapsed/outcome. The offline 'omnigraph embed' CLI follows the resolved provider (its hardcoded gemini-only bail removed). 17 engine embedding unit tests, 4 CLI embed tests, and the search integration suite (22) pass.

Cross-query client reuse and the docs refresh land in follow-up commits.
2026-06-15 17:27:49 +02:00
..
fixtures feat(engine): indexed graph traversal (#149) 2026-06-09 18:09:13 +02:00
helpers Recovery liveness, storage fault-injection matrix, and one storage implementation over object_store (#203) 2026-06-13 11:20:08 +02:00
aggregation.rs Implement aggregate execution with wide-batch model 2026-04-12 20:59:13 +00:00
branching.rs fix(loader): enforce composite @unique(a, b) as a true composite key (#133) 2026-06-09 17:17:31 +03:00
changes.rs Initial public Omnigraph repository 2026-04-10 20:49:41 +03:00
composite_flow.rs fix: optimize publishes compaction; recovery roll-back converges manifest (#141) 2026-06-08 02:50:12 +03:00
consistency.rs (feat) convert engine call sites to &dyn TableStorage; demote legacy TableStore methods to pub(crate) (#86) 2026-06-09 23:03:08 +02:00
end_to_end.rs fix: optimize publishes compaction; recovery roll-back converges manifest (#141) 2026-06-08 02:50:12 +03:00
export.rs Initial public Omnigraph repository 2026-04-10 20:49:41 +03:00
failpoints.rs Recovery liveness, storage fault-injection matrix, and one storage implementation over object_store (#203) 2026-06-13 11:20:08 +02:00
forbidden_apis.rs (feat) convert engine call sites to &dyn TableStorage; demote legacy TableStore methods to pub(crate) (#86) 2026-06-09 23:03:08 +02:00
lance_surface_guards.rs test(engine): pin Lance 7 immutable-PK behavior + sharpen native-namespace alignment notes (#240) 2026-06-15 11:33:25 +02:00
lance_version_columns.rs build(deps): bump Lance 6.0.1 → 7.0.0 (correct-by-design substrate alignment) (#229) 2026-06-14 20:42:24 +02:00
lifecycle.rs (feat): multi-graph server mode (#119) 2026-05-28 16:19:31 +02:00
literal_filters.rs fix(engine): scalar index coverage + filter literal coercion (query latency) (#216) 2026-06-14 16:31:19 +02:00
maintenance.rs fix(engine): scalar index coverage + filter literal coercion (query latency) (#216) 2026-06-14 16:31:19 +02:00
merge_truth_table.rs feat(engine): indexed graph traversal (#149) 2026-06-09 18:09:13 +02:00
ordering.rs docs(user): restructure user docs into topic sections (Phase 1) (#223) 2026-06-14 13:52:14 +03:00
point_in_time.rs Initial public Omnigraph repository 2026-04-10 20:49:41 +03:00
policy_engine_chassis.rs feat(engine): unify load/ingest — load_as gains an optional fork base 2026-06-11 03:53:22 +03:00
proptest_equivalence.rs feat(engine): indexed graph traversal (#149) 2026-06-09 18:09:13 +02:00
recovery.rs Recovery liveness, storage fault-injection matrix, and one storage implementation over object_store (#203) 2026-06-13 11:20:08 +02:00
s3_storage.rs feat(storage): versioned CAS, conditional replace, and prefix delete on StorageAdapter 2026-06-11 05:09:45 +03:00
scalar_indexes.rs fix(engine): scalar index coverage + filter literal coercion (query latency) (#216) 2026-06-14 16:31:19 +02:00
schema_apply.rs Rename repo terminology to graph (#118) 2026-05-24 16:46:00 +01:00
search.rs feat(engine)!: provider-independent embedding client (RFC-012 Phase 2) 2026-06-15 17:27:49 +02:00
staged_writes.rs build(deps): bump Lance 6.0.1 → 7.0.0 (correct-by-design substrate alignment) (#229) 2026-06-14 20:42:24 +02:00
traversal.rs feat(engine): indexed graph traversal (#149) 2026-06-09 18:09:13 +02:00
traversal_indexed.rs feat(engine): indexed graph traversal (#149) 2026-06-09 18:09:13 +02:00
validators.rs (feat): multi-graph server mode (#119) 2026-05-28 16:19:31 +02:00
writes.rs (feat) convert engine call sites to &dyn TableStorage; demote legacy TableStore methods to pub(crate) (#86) 2026-06-09 23:03:08 +02:00