- Merge TestCreateRun_nonInteractive, TestCreateRun_tty, and related tests
into a single TestCreateRun table with 11 cases
- Add partial-flag cases for missing title, body, and category
- Add tty blank body returns error case
- Add tty does not prompt when all flags provided case
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Move non-interactive flag validation to arg parsing stage
- Add blank title/body/category validation at flag parsing
- Keep interactive blank-title/body checks after prompts
- Always print URL to stdout; success message to stderr in TTY mode
- Consolidate test cases and add isTTY field
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Resolve labels before creating discussion so a bad label name
doesn't leave an orphaned discussion (atomicity fix)
- Validate --title/--category/--body non-interactively before calling
ListCategories to avoid an unnecessary network round-trip
- Set blankAllowed=false so the markdown editor rejects empty bodies
- Clarify help text: --body is required when not running interactively
- Update tests to match new behavior; rename label-not-found test to
make the atomicity guarantee explicit
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>