omnigraph/crates/omnigraph-cli
Andrew Altshuler d2340f19e9
feat(cli)!: schema apply refuses a cluster-managed graph (RFC-011 D10) (#253)
`omnigraph schema apply` against a cluster-managed graph's storage root bypassed
the cluster ledger/recovery/approvals. Mirror `init`'s refusal: on the embedded
(direct-store) path, if the resolved URI is inside a cluster
(`cluster_root_for_graph_uri`), bail and point at `cluster apply`. The served
(`--server`) path is unaffected — it addresses a server, not a storage root.
`schema plan`/`show` (read-only) are untouched.

Two e2e tests injected "out-of-band drift" via this exact CLI path; since the
CLI now refuses it, they inject drift via a direct engine `apply_schema` against
the storage root instead — a faithful control-plane bypass, which is what
out-of-band drift is. New regression:
`schema_apply_refuses_a_cluster_managed_graph_and_signposts_cluster_apply`.

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-15 23:11:42 +03:00
..
src feat(cli)!: schema apply refuses a cluster-managed graph (RFC-011 D10) (#253) 2026-06-15 23:11:42 +03:00
tests feat(cli)!: schema apply refuses a cluster-managed graph (RFC-011 D10) (#253) 2026-06-15 23:11:42 +03:00
Cargo.toml refactor(cli): consume omnigraph-api-types directly; unify the load mapping 2026-06-13 17:05:32 +03:00