Skip to content

D5: Rename -s to -sc for --max-supercluster-size #233

Description

@TimD1-bot

Note

Authorship: the content below was drafted by Claude Opus 5 (an AI coding agent) and
filed via gh under @TimD1-bot, a bot account operated by @TimD1. It reflects the
agent's analysis, not a statement authored by @TimD1.

Part of #47. A breaking CLI change, kept separate so it is reviewable and release-notable on its own.

Change

--max-supercluster-size moves from -s to -sc (src/globals.cpp:326, usage line at :486), so
the mnemonic short form is available for the stratification flag that #47 adds.

Before After Long form
-s -sc --max-supercluster-size

-sc matches the existing multi-character convention already used by -sv, -mq, -ct, -md, and
-ci.

No -s alias is retained

This is the point of the change. A silent alias would let an existing -s 15000 invocation be
reinterpreted as a file path once -s means stratification, producing a confusing failure at best
and a wrong run at worst. Rejecting bare -s outright makes an old command line fail loudly.

Blast radius

No in-repo caller passes vcfdist's -s. The three prose references to --max-supercluster-size in
src/cluster.cpp:580,977,1010 and the validation message at src/globals.cpp:409 all still read
correctly, since only the short form changes.

Testing

  • The existing parse-args-supercluster-ok and parse-args-supercluster-too-small-errors cases
    retargeted to -sc.
  • A new case pinning bare -s as rejected, so the no-alias decision cannot be silently undone.
  • Integration: -sc accepted, bare -s rejected.

Release notes

Breaking and user-facing.

Depends on

Nothing. Can start immediately, and must precede the stratification flag — the short form cannot mean
two things at once.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions