omnigraph/crates
Ragnor Comerford 7d412988b5
feat(cluster): per-graph embedding profile config (RFC-012 Phase 5)
Engine: factor the alias->(provider, base_url, model, key-envs) defaults into a shared provider_profile, used by both from_env and a new pub from_parts(provider, base_url, model, api_key) so the cluster path applies identical defaults (DRY).

Cluster: GraphConfig gains an optional per-graph embeddings: profile (EmbeddingProfile { provider?, base_url?, model?, api_key }). EmbeddingProfile::resolve() resolves the api_key from a ${NAME} env ref (resolve_secret_ref rejects inline values and unset vars) and builds an engine EmbeddingConfig via from_parts.

Parse + resolve + validate only; wiring the profile through the applied cluster state into the served handle (the config-free s3:// boot reads applied state, not cluster.yaml) follows. 21 engine + 4 cluster tests pass.
2026-06-15 22:03:10 +02:00
..
omnigraph feat(cluster): per-graph embedding profile config (RFC-012 Phase 5) 2026-06-15 22:03:10 +02:00
omnigraph-api-types refactor(api): extract omnigraph-api-types crate (RFC-009 Phase 2) 2026-06-13 17:03:20 +03:00
omnigraph-cli feat(compiler): @embed model kwarg in grammar/AST/parser (RFC-012 Phase 3) 2026-06-15 21:09:15 +02:00
omnigraph-cluster feat(cluster): per-graph embedding profile config (RFC-012 Phase 5) 2026-06-15 22:03:10 +02:00
omnigraph-compiler feat(compiler): record @embed model in the catalog (RFC-012 Phase 3) 2026-06-15 21:09:34 +02:00
omnigraph-policy release: bump workspace to 0.7.0 2026-06-12 14:12:33 +03:00
omnigraph-server docs(user): restructure user docs into topic sections (Phase 1) (#223) 2026-06-14 13:52:14 +03:00