omnigraph/crates
Ragnor Comerford f3331edd51
fix(server): reject remote graph entries at config load
omnigraph-server serves embedded graphs only (RFC-002 §3). Classify each served
graph with the typed `config.resolve_graph(...).is_remote()` — the same locator
classifier the CLI dispatches on — and `bail!` early with a clear "embedded
graphs only" error if a graph sets `server:` or a remote `http(s)://` `uri:`,
instead of accepting it and failing confusingly later at `Omnigraph::open`.

Both modes covered: Single (hoist `selected` above the URI resolution and check
before `cli_uri` is moved) and Multi (per entry, after the `GraphId` check). A new
`ensure_embedded` helper keeps the message in one place. No config-crate change
(reuses existing public `resolve_graph`/`is_remote`); embedded `storage:`/`uri:`
entries pass through unchanged (positive guard test added).

Updates the `server_settings_can_resolve_named_target` lib test, which asserted
the old behavior (server resolves a remote named target); it now uses an embedded
target — the remote case is rejected and covered by
`single_mode_rejects_named_remote_graph`. Turns the previous commit's four red
tests green.
2026-06-03 17:41:38 +02:00
..
omnigraph style: apply rustfmt across the workspace 2026-06-03 15:48:47 +02:00
omnigraph-api-types style: apply rustfmt across the workspace 2026-06-03 15:48:47 +02:00
omnigraph-cli refactor(cli): dispatch remaining commands on the typed locator 2026-06-03 17:14:23 +02:00
omnigraph-compiler fix(optimize): skip blob-bearing tables to avoid Lance compaction crash (#138) 2026-06-02 17:12:00 +02:00
omnigraph-config fix(config): gate unknown-field strictness on version via serde_ignored 2026-06-03 16:26:49 +02:00
omnigraph-policy fix(optimize): skip blob-bearing tables to avoid Lance compaction crash (#138) 2026-06-02 17:12:00 +02:00
omnigraph-queries style: apply rustfmt across the workspace 2026-06-03 15:48:47 +02:00
omnigraph-server fix(server): reject remote graph entries at config load 2026-06-03 17:41:38 +02:00