feat(cli,server): warn on deprecated config at load; scaffold version: 1

Surface the config deprecation notices at load: the CLI prints them via
`eprintln!` in `load_cli_config`; the server logs them via `tracing::warn!` in
`load_server_settings` (a no-op under tests with no subscriber). `omnigraph init`
now scaffolds a `version: 1` config using `storage:` instead of the legacy `uri:`.

Migrate the shared test fixtures (`support::local_yaml_config` →
`version: 1` + `storage:`; `remote_yaml_config` → `version: 1` + `servers:`/`server:`)
to the current schema so they don't trip the new warnings; the resolved `.uri` is
unchanged, so the tests behave identically. The no-`version:` notice is gated on a
loaded config file, so commands with a bare URI and no `omnigraph.yaml` stay quiet
(verified by the existing command-deprecation tests, which still pass). Extends the
`init` test for the scaffold shape and adds a legacy-config-warns test.
This commit is contained in:
Ragnor Comerford 2026-06-04 08:48:04 +02:00
parent 72125c7b4f
commit eb3c36d8aa
No known key found for this signature in database
5 changed files with 46 additions and 4 deletions

View file

@ -119,9 +119,10 @@ fn yaml_string(value: &str) -> String {
pub fn local_yaml_config(graph: &Path) -> String {
format!(
"\
version: 1
graphs:
local:
uri: {}
storage: {}
cli:
graph: local
branch: main
@ -137,9 +138,13 @@ policy: {{}}
pub fn remote_yaml_config(url: &str) -> String {
format!(
"\
version: 1
servers:
dev:
endpoint: {}
graphs:
dev:
uri: {}
server: dev
cli:
graph: dev
branch: main