Skip to content

fix(ticket new): robust title parsing and concise ticket aliases #942

Description

@heum-ilgugim

Goal

Make gira ticket new reliable for natural positional-title command lines and provide concise aliases for the daily ticket-creation path.

Scope

  • Fix positional-title parsing so every value-taking ticket new flag consumes its value before title detection, including --release-impact, --release-impact-reason, and --body-file -.
  • Add concise, documented aliases for the daily ticket creation path without removing the canonical commands.
  • Keep positional title and --title compatibility.
  • Add table-driven CLI regressions for flag ordering, stdin body input, and aliases.

Non-goals

  • Do not redesign all Gira command groups or remove canonical command names.
  • Do not change ticket lifecycle policy, GitHub mutation behavior, or branch policy.

Acceptance Criteria

  • gira ticket new "title" --release-impact internal --dry-run produces a ticket preview.
  • gira ticket new --title "title" --release-impact internal --dry-run produces a ticket preview.
  • --body-file - with a positional title and release-impact reads stdin and produces a preview.
  • A concise alias can create the same dry-run ticket preview as gira ticket new, and help/guide output documents it.
  • Existing canonical invocations remain compatible and go test ./... passes.

Doctor Impact

No doctor rule changes.

Expected Delivery

  • One focused PR with CLI and documentation regression coverage.

Verification

  • Focused CLI parser and alias tests.
  • go test ./... and git diff --check.

Evidence

The v3.1.3 reproduction originally attributed the failure to --body-file -, but isolated verification shows stdin body input works. The standalone-space form --release-impact internal is parsed as an extra positional title; --release-impact=internal succeeds.

base_branch: main
base_source: branch_policy.repo_local_contract.default
branch_policy_mode: github-flow
target: default
work_branch: issue-942-fix-ticket-new-robust-title-parsing-and-concise-ticket-aliases
work_branch_source: current

Metadata

Metadata

Assignees

No one assigned

    Labels

    status:in-progressWork has started on a branch or active implementation.type:bugDefect report that should be reproduced and fixed.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions