omnigraph/docs/releases
Ragnor Comerford 00522d6fc1
mr-668: remove ServerMode, registry field, and the SINGLE_GRAPH sentinel
C-1/C-2 introduced `GraphRouting` and pointed the middleware at it.
This commit removes the legacy shape that's now dead:

* `ServerMode` enum — deleted. Single mode's `uri` lives on
  `handle.uri`; multi mode's `config_path` lives on the
  `GraphRouting::Multi` arm.
* `AppState.mode: ServerMode` field — deleted.
* `AppState.registry: Arc<GraphRegistry>` field — deleted. Multi
  mode's registry is on `GraphRouting::Multi { registry, .. }`;
  single mode has no registry at all.
* `AppState::mode()`, `AppState::uri()`, `AppState::registry()`
  accessors — deleted. New `AppState::routing() -> &GraphRouting`
  is the single public entry point.
* `SINGLE_GRAPH_KEY_ID` constant — deleted. `GraphHandle.key` is
  still required by the struct, but in single mode the key is now
  only a tracing label (`"default"`, inlined with a comment naming
  its sole remaining purpose). Single-mode flat routes never carry
  a `{graph_id}` parameter, so the key is never compared against
  user input, and there is no registry where it could be a map
  key. C-1/C-2 already removed the registry walk that the sentinel
  was named for.

Callers migrated:
* `build_app` (lib.rs:944) — matches on `state.routing()` instead
  of `state.mode()`.
* `server_graphs_list` (lib.rs:1162) — destructures the Multi arm
  to get the registry; Single arm short-circuits to 405.
* `server_openapi` (lib.rs:1217) — matches the Multi arm for the
  cluster-prefix rewrite.
* `tests/server.rs:3735` — the B2 footgun regression test now
  matches on `state.routing()` to extract the single-mode handle
  (the test's earlier `state.registry().list().next()` shape was
  the closest pre-fix analog to "embedded consumer reaches the
  engine"; the new shape is more direct).

Closes the entire "single mode forced through a multi-mode
abstraction" class. After this commit:
* No magic sentinel as a routing key.
* No `single_mode_handle` walk-and-assert helper.
* No 500-class "programmer error" branch in the middleware.
* No two-field discriminant on `AppState` where one would do.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-27 13:50:25 +02:00
..
v0.2.0.md Prepare v0.2.0 release 2026-04-12 20:35:34 +03:00
v0.2.1.md Prepare v0.2.1 release 2026-04-14 19:19:00 +03:00
v0.2.2.md Prepare v0.2.2 release 2026-04-14 20:13:00 +03:00
v0.3.0.md release: prepare omnigraph 0.4.2 2026-05-10 14:02:28 +00:00
v0.3.1.md Refactor AGENTS.md from encyclopedia to map; move spec into docs/ 2026-04-28 23:31:08 +02:00
v0.4.0.md docs: split user and developer docs (#93) 2026-05-15 03:45:22 +03:00
v0.4.1.md docs: split user and developer docs (#93) 2026-05-15 03:45:22 +03:00
v0.4.2.md docs: expand 0.4.2 release notes 2026-05-10 14:37:58 +00:00
v0.5.0.md release: v0.5.0 (#115) 2026-05-23 13:59:42 +01:00
v0.6.0.md Rename repo terminology to graph (#118) 2026-05-24 16:46:00 +01:00
v0.7.0.md mr-668: remove ServerMode, registry field, and the SINGLE_GRAPH sentinel 2026-05-27 13:50:25 +02:00