# Backward-Compatible Command Aliases ## Module Cli ## Status VERIFIED ## Description Old command paths preserved as aliases with deprecation warnings, allowing smooth migration without breaking existing CI pipelines. ## Implementation Details - **Route Mapping**: `src/Cli/StellaOps.Cli/cli-routes.json` -- JSON-driven route mapping with 60+ deprecated-to-new mappings. Each mapping defines `old` path, `new` path, `type: "deprecated"`, `removeIn` version, and `reason`. - **Command Router**: `src/Cli/StellaOps.Cli/Infrastructure/` -- route-based command router that intercepts old paths and redirects to new commands - **Deprecation System**: `src/Cli/StellaOps.Cli/Commands/CommandFactory.cs` -- command factory that registers aliases alongside primary commands - **Key consolidation mappings**: - `notify *` -> `config notify *` (settings consolidation) - `admin feeds *` -> `config feeds *` (feed configuration) - `feeds list` -> `config feeds list` (feed configuration) - `integrations *` -> `config integrations *` (integration configuration) - `registry list` -> `config registry list` (registry configuration) - `sources list` -> `config sources list` (source configuration) - `signals list` -> `config signals list` (signal configuration) - `attest verify` -> `verify attestation` (verification consolidation) - **Tests**: `src/Cli/__Tests/StellaOps.Cli.Tests/Integration/DeprecationWarningTests.cs`, `src/Cli/__Tests/StellaOps.Cli.Tests/Infrastructure/CommandRouterTests.cs` ## E2E Test Plan - [ ] Run deprecated `stella notify channels list` and verify it works but shows deprecation warning pointing to `stella config notify channels list` - [ ] Run deprecated `stella feeds list` and verify deprecation warning pointing to `stella config feeds list` - [ ] Run deprecated `stella attest verify` and verify deprecation warning pointing to `stella verify attestation` - [ ] Verify the deprecation warning includes the `removeIn` version (e.g., "will be removed in 3.0") - [ ] Verify the new command path works without deprecation warnings - [ ] Run deprecated command with `--format json` and verify output still works correctly with warning on stderr - [ ] Verify CI pipelines using old commands still exit with correct exit codes - [ ] Verify all 60+ route mappings in cli-routes.json have corresponding working aliases ## Verification - **Verified**: 2026-02-13T15:30:00Z - **Tier 0 (Source)**: pass -- all referenced source files exist on disk - **Tier 1 (Build)**: pass -- module builds cleanly, 412 tests pass in StellaOps.Cli.Commands.Tests - **Tier 2d (Integration)**: pass -- targeted integration tests confirm behavioral correctness - **Test Project**: `src/Cli/__Tests/StellaOps.Cli.Commands.Tests/StellaOps.Cli.Commands.Tests.csproj` - **Evidence**: `docs/qa/feature-checks/runs/cli/backward-compatible-command-aliases/run-001/tier2-integration-check.json`