plano/cli/test
Musa 897fda2deb
fix(routing): auto-migrate v0.3.0 inline routing_preferences to v0.4.0 top-level (#912)
* fix(routing): auto-migrate v0.3.0 inline routing_preferences to v0.4.0 top-level

Lift inline routing_preferences under each model_provider into the
top-level routing_preferences list with merged models[] and bump
version to v0.4.0, with a deprecation warning. Existing v0.3.0
demo configs (Claude Code, Codex, preference_based_routing, etc.)
keep working unchanged. Schema flags the inline shape as deprecated
but still accepts it. Docs and skills updated to canonical top-level
multi-model form.

* test(common): bump reference config assertion to v0.4.0

The rendered reference config was bumped to v0.4.0 when its inline
routing_preferences were lifted to the top level; align the
configuration deserialization test with that change.

* fix(config_generator): bump version to v0.4.0 up front in migration

Move the v0.3.0 -> v0.4.0 version bump to the top of
migrate_inline_routing_preferences so it runs unconditionally,
including for configs that already declare top-level
routing_preferences at v0.3.0. Previously the bump only fired
when inline migration produced entries, leaving top-level v0.3.0
configs rejected by brightstaff's v0.4.0 gate. Tests updated to
cover the new behavior and to confirm we never downgrade newer
versions.

* fix(config_generator): gate routing_preferences migration on version < v0.4.0

Short-circuit the migration when the config already declares v0.4.0
or newer. Anything at v0.4.0+ is assumed to be on the canonical
top-level shape and is passed through untouched, including stray
inline preferences (which are the author's bug to fix). Only v0.3.0
and older configs are rewritten and bumped.
2026-04-24 12:31:44 -07:00
..
source add support for background trace collection and tracing output (#749) 2026-02-24 19:17:33 -08:00
__init__.py restructure cli (#656) 2025-12-25 14:55:29 -08:00
test_config_generator.py fix(routing): auto-migrate v0.3.0 inline routing_preferences to v0.4.0 top-level (#912) 2026-04-24 12:31:44 -07:00
test_defaults.py feat(providers): add Vercel AI Gateway and OpenRouter support (#902) 2026-04-23 15:54:39 -07:00
test_init.py Overhaul demos directory: cleanup, restructure, and standardize configs (#760) 2026-02-17 03:09:28 -08:00
test_obs_collector.py planoai obs: live LLM observability TUI (#891) 2026-04-17 14:03:47 -07:00
test_obs_pricing.py Improve obs model name matching, latency metrics, and error reporting (#900) 2026-04-18 21:21:15 -07:00
test_obs_render.py Improve obs model name matching, latency metrics, and error reporting (#900) 2026-04-18 21:21:15 -07:00
test_trace_cmd.py add support for background trace collection and tracing output (#749) 2026-02-24 19:17:33 -08:00
test_version_check.py Introduce brand new CLI experience with tracing and quickstart (#724) 2026-02-10 13:17:43 -08:00