- 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>