omnigraph/crates
Devin AI 0949f28794 fix(MR-656): address Devin Review findings on /query and /change
Two issues raised by Devin Review on PR #110:

1. `POST /query` mutation-rejection error pointed at the deprecated
   `/change` endpoint instead of the canonical `/mutate`. Fixed in
   three places: the runtime error message in `server_query`, the
   utoipa 400-response description, and the handler doc comment. The
   `QueryRequest` schema docstrings in `api.rs` got the same update so
   the openapi.json bodies match. Server and openapi tests updated.

2. `execute_change_remote` serialized `ChangeRequest` directly, which
   emits the new canonical field names `query` / `name` on the wire.
   `#[serde(alias = "query_source")]` only affects deserialization, so
   a newer CLI talking to an older server would have its `/change`
   POST body fail with "missing field: query_source". Fixed by
   extracting a `legacy_change_request_body` helper that hand-rolls
   the JSON with the legacy keys (`query_source` / `query_name`), the
   same byte-stable contract `execute_read_remote` already uses
   against `/read`. Added two unit tests on the helper to lock the
   wire shape in.

Co-Authored-By: Ragnor Comerford <ragnor.comerford@gmail.com>
2026-05-23 13:48:21 +00:00
..
omnigraph tests: policy chassis e2e gap-fills (MR-722 follow-up) (#106) 2026-05-18 22:25:04 +03:00
omnigraph-cli fix(MR-656): address Devin Review findings on /query and /change 2026-05-23 13:48:21 +00:00
omnigraph-compiler schema-lint v1 commit 4: emit + apply DropType { Soft } (#99) 2026-05-16 20:25:42 +03:00
omnigraph-policy policy: chassis core — omnigraph-policy crate + Omnigraph::enforce() (MR-722) (#102) 2026-05-18 00:36:36 +03:00
omnigraph-server fix(MR-656): address Devin Review findings on /query and /change 2026-05-23 13:48:21 +00:00