docs(planning): add phase 17 doc to break up the beasts - #263
Merged
Conversation
There was a problem hiding this comment.
🟡 Changes recommended
The plan contains unresolved critical and moderate issues that must be addressed before approval.
Get a fresh assessment by requesting another Copilot review.
Pull request overview
Adds a Phase 17 plan for splitting monolithic CLI helpers and commands into workflow-focused modules while preserving behavior.
Changes:
- Defines module boundaries, migration steps, testing, and acceptance criteria.
- Adds Phase 17 to
AGENTS.md. - Review findings include one critical, two moderate, and two nit issues concerning command routing, matching logic, test scope, API naming, and development-flow reuse.
File summaries
| File | Description |
|---|---|
documents/phase-17-plan.adoc |
Adds the Phase 17 refactoring plan and acceptance criteria. |
AGENTS.md |
Adds Phase 17 to the plan index. |
Review details
Suppressed comments (3)
documents/phase-17-plan.adoc:33
issue_helpers_test.exsdoes not cover bare-ID expansion; that behavior is in the separateexpand_issue_id_test.exs(which also owns the profile/favorites setup). Calling it part of this 916-line file makes the baseline and test-split scope inaccurate; please name the separate file explicitly.
public operations. Its 916-line test file covers comment, close/cancel,
workflow-state selection, pull requests, project attachment, update dispatch,
creation, bare-ID expansion, and self-assignment.
documents/phase-17-plan.adoc:140
- This names a function that does not exist in the current helper or in the naming examples below. The existing operation is
IssueHelpers.update_issue/2, and its callers/tests use that name; implementing this line literally could introduce a new API instead of preserving the documented contract. Please keep the renamed operation asActions.update_issue/2.
* `Actions.update/2` returns `:ok | {:error, reason}`, while the other
mutation functions retain their existing `{:ok, value} | {:error, reason}`
documents/phase-17-plan.adoc:309
issue_create/2's--developbranch currently calls the privaterun_develop/2, which is also the implementation behindissue_develop/2and in turnfinish_pull_or_push/2(app/lib/linear_cli/cli/commands.ex:360-428). Moving private helpers with one command family leaves either a cross-family private call or a duplicated development flow. Specify a named internal entry point inIssues.Developmentfor both callers so the refactor preserves one implementation and the--devbehavior.
Move each `Commands` function with its private helpers into the command-family
module that owns its user-facing command. Preserve injectable options used by
tests (`cwd`, `me`, `runner`, and `halt` where applicable), function arities,
and parser-result input shapes. Private helpers stay with their command family;
they do not become broad shared utilities merely to reduce a few lines of
repetition.
- Files reviewed: 2/2 changed files
- Comments generated: 2
- Review effort level: Lite
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
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.
No description provided.