You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
## Summary
- Adds `lc issue status ISSUE_ID` to change an issue's workflow state
- `--status`/`-s` sets the state by name (case-insensitive exact match,
then unique prefix); prompts interactively when omitted
- `--comment`/`-m` adds a comment alongside the status change
- `"s"` subcommand alias mirrors other single-letter issue aliases (`c`,
`d`, `l`, `u`)
- Resolves ISSUE_ID via the existing `expand_issue_id/1` convention
- Errors clearly on unknown or ambiguous status names (exit 22 via
`{:smells_bad, …}`)
- JSON output emits the updated issue struct only; text mode adds a
confirmation line
## Implementation
- New `:set_status` Ash action on `LinearCli.Linear.Issue` with a
dedicated `LinearCli.Linear.Issue.Update.SetStatus` manual update module
(mirrors the pattern of `:close`, `:assign`, `:attach_to_project`)
- `set_issue_status/2` domain code interface in `LinearCli.Linear`
- `status` subcommand entry in the Optimus spec with `ISSUE_ID`
positional arg and `--status`/`--comment` options
- `Commands.issue_status/1` orchestrates the full flow: expand id →
fetch issue → fetch team states → resolve target state → optional
comment → transition → display
## Test plan
- [x] Exact name match (case-insensitive via `--status done`)
- [x] Short `-s` flag
- [x] Unique prefix match (e.g. `--status in` → "In Progress")
- [x] Unknown status name → exit 22 + clear message
- [x] Ambiguous prefix → exit 22 + clear message
- [x] `--comment`/`-m` adds comment before transitioning
- [x] Interactive selection (no `--status`): prompts sorted by position
- [x] `--output json` emits parseable JSON only
- [x] `"s"` alias routes correctly
Closes
https://linear.app/cryptokairos/issue/CRY-47/add-lc-issue-status-command
🤖 Generated with [Claude Code](https://claude.com/claude-code)
---------
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
0 commit comments