Skip to content

Legacy CLI cutover and removal #239

@SorraTheOrc

Description

@SorraTheOrc

Summary: Complete migration by enforcing framework-only command routing, removing legacy parser/dispatcher code, and validating full parity gates.

User Story

As a maintainer, I can rely on a single CLI framework implementation without dual paths, reducing regression risk and maintenance overhead.

Expected UX Change

  • User experience: no command behavior surprises from mixed routing paths.
  • Player experience: deterministic audio output remains stable due to parity-gated cutover.

Acceptance Criteria

  • All user-facing commands are implemented in yargs and no longer depend on legacy parse/dispatch paths.
  • A command coverage matrix confirms framework ownership of every command/subcommand.
  • Full CLI test suite passes, including text, JSON, and integration parity checks.
  • Legacy code paths (src/cli.ts parser/dispatcher and compatibility shims) are removed or reduced to non-behavioral compatibility exports only.
  • Migration notes/changelog document the cutover and any intentional deltas.

Minimal Implementation

  • Add a migration gate/checklist for command coverage in CI.
  • Flip default routing to framework-only and remove command-level fallbacks.
  • Delete legacy parsing/dispatch code after all feature migrations are complete.
  • Finalize docs and rollback guidance for maintainers.

Dependencies

  • blocked-by:TF-0MMJ892CE0Y4MFFL
  • blocked-by:TF-0MMJ894WA1IHEKV9
  • blocked-by:TF-0MMJ897F20HTCQHE
  • blocked-by:TF-0MMJ899TT0RPVHEG
  • blocked-by:TF-0MMJ89CGG1W2LXI9

Deliverables

  • Removed legacy parser/dispatcher code.
  • CI/parity gate artifacts and passing pipeline.
  • Final migration notes and release/changelog update.

Metadata

Metadata

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions