Skip to content

feat(cli): align flag names across commands with deprecated aliases (#309-314) - #333

Merged
scttfrdmn merged 1 commit into
mainfrom
audit/phase2a-launch-flags
Jul 11, 2026
Merged

feat(cli): align flag names across commands with deprecated aliases (#309-314)#333
scttfrdmn merged 1 commit into
mainfrom
audit/phase2a-launch-flags

Conversation

@scttfrdmn

Copy link
Copy Markdown
Contributor

Closes #309, #310, #311, #312, #313, #314. Part of the audit tracker #328 (Phase 2 — flag standardization batch). Every rename ships a deprecated (hidden) alias, so no existing invocation breaks.

Canonical names (one per concept, everywhere)

Concept Canonical Deprecated aliases Commands
Subnet --subnet-id --subnet launch (#311)
SSH key --key-name --key-pair launch (#313)
Security groups --security-group-ids --security-group, --security-groups, --security-group-id launch, autoscale launch, burst, image import (#312)
Tags --tag (repeatable key=value) --tags (StringToString) autoscale launch (#310)
Output path --output-file / --output-dir --output/-o queue results, queue template generate/init, slurm convert, pipeline collect (#309)

Functional fixes bundled in

Regression lock

flag_conventions_test.go gains a check that fails if any historical spelling (subnet, key-pair, security-group{,s,-id}, tags) is reintroduced without MarkDeprecated — so this drift can't creep back (directly on the "reduce confusion" goal).

Scope note

Deliberately not in this PR (deferred to doc-only per the Phase 2 scoping decision): the cosmetic verb renames (#304 describe→show, #307 policy/activity, #308 cost flatten, #316 --on-idle, #317 --wait). Grouping regroupings (#305, #306) are their own follow-up PRs.

Verification

  • go build ./..., go vet ./cmd, gofmt clean.
  • TestFlagConventions (extended) passes; affected cmd tests green.
  • Manual: canonical flags shown in --help on launch/autoscale/burst/image import; deprecated aliases still accepted (no "unknown flag"). Pre-existing unrelated TestCatalogValid (feat(plugin): permissions declaration block (#388) #392) still fails on main.

CHANGELOG under Deprecated.

…309-314)

One canonical flag name per concept, everywhere; old spellings kept as
deprecated (hidden) aliases so nothing breaks. Part of the 2026-07-11
audit (#328, Phase 2).

- --subnet → --subnet-id (launch) [#311]
- --key-pair → --key-name (launch) [#313]
- --security-group{,s,-id} → --security-group-ids (launch/autoscale/burst/
  image import); launch now accepts MULTIPLE security groups [#312]
- --tags → --tag (autoscale launch), repeatable key=value like launch [#310]
- path --output/-o → --output-file / --output-dir (queue results, queue
  template generate/init, slurm convert, pipeline collect); these shadowed
  the root -o/--output format flag [#309]
- pipeline launch --detached deprecated: launch is always async, flag was a
  no-op (use --wait) [#314]

flag_conventions_test.go gains a check that fails if any historical
spelling is reintroduced without MarkDeprecated. All aliases verified
accepted; canonical names shown in --help; go build/vet/test green.
@codecov

codecov Bot commented Jul 11, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 68.33333% with 19 lines in your changes missing coverage. Please review.

Files with missing lines Patch % Lines
cmd/autoscale.go 47.05% 9 Missing ⚠️
cmd/queue.go 46.66% 8 Missing ⚠️
cmd/launch.go 83.33% 2 Missing ⚠️

📢 Thoughts on this report? Let us know!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[audit] Flags: local --output/-o in queue/slurm/pipeline shadow the root format flag with a different meaning

1 participant