feat(issue): add --priority flag to lc issue update - #278
Merged
Merged
Conversation
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.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
lc issue update --priority PRIORITYfor non-interactive priority changes on Linear issuesnone | urgent | high | medium | low(case-insensitive), mapped to Linear GraphQL integers 0–4:set_priorityAsh update action andset_issue_prioritycode interface in the Linear domainash-domain-erd.adocto document the new action and code interfaceDesign note
Priority validation was placed in
Mutations.issue_update/1(not the Optimus parser layer) so that invalid values route through the CLI's ownhandle_errorpath — 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 confusingFunctionClauseError.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 diagnosticCloses EXT-65
🤖 Generated with Claude Code