Skip to content

feat(issue): add --priority flag to lc issue update - #278

Merged
ruby-automation merged 2 commits into
mainfrom
EXT-65-issue-update-priority
Sep 14, 2026
Merged

ruby-automation merged 2 commits into
mainfrom
EXT-65-issue-update-priority

Conversation

@ruby-automation

Copy link
Copy Markdown
Contributor

Summary

  • Adds lc issue update --priority PRIORITY for non-interactive priority changes on Linear issues
  • Accepts friendly names none | urgent | high | medium | low (case-insensitive), mapped to Linear GraphQL integers 0–4
  • Supports multiple issue IDs; validation fails fast with exit 22 and a clear diagnostic to stderr before any API call
  • Implements a new :set_priority Ash update action and set_issue_priority code interface in the Linear domain
  • Updates ash-domain-erd.adoc to document the new action and code interface

Design note

Priority validation was placed in Mutations.issue_update/1 (not the Optimus parser layer) so that invalid values route through the CLI's own handle_error path — printing to stderr, exiting 22 — rather than Optimus's formatter, which behaves differently under the test no-op halt stub and would cascade into a confusing FunctionClauseError.

Test plan

  • mix test → 551 passed (17 new tests across unit, domain, and integration layers)
  • mix precommit → format ✓, credo ✓, tests ✓
  • lc issue update --priority high EXT-65 (manual smoke test, requires live API key)
  • lc issue update --priority critical EXT-65 → exits 22 with stderr diagnostic

Closes EXT-65

🤖 Generated with Claude Code

ruby-automation and others added 2 commits September 14, 2026 14:28
Adds `lc issue update --priority PRIORITY` for non-interactive priority
updates. Accepts `none|urgent|high|medium|low` (case-insensitive), maps
to Linear GraphQL integers 0–4, supports multiple issue IDs, and fails
fast with a clear diagnostic and exit 22 on invalid input.

Validation is handled in `Mutations.issue_update/1` (not the Optimus
parser layer) so that invalid values route through the CLI's own
`handle_error` path — printing to stderr and exiting 22 — rather than
Optimus's formatter which behaves differently under the test halt stub.
@bougyman
bougyman requested a balanced review from Copilot September 14, 2026 19:30

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@ruby-automation
ruby-automation merged commit d967a0f into main Sep 14, 2026
3 checks passed
@ruby-automation
ruby-automation deleted the EXT-65-issue-update-priority branch September 14, 2026 19:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants