Support two-phase canary release flow: - --canary: publishes packages under @canary npm tag, skips git commit/tag - --promote <version>: moves canary packages to @latest, then commits and tags Both flags work with --dry-run. Existing behavior unchanged when neither flag is passed. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>