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
Splits issue handling into responsibility-focused modules while retaining registry dispatch and public exports.
Routes diagnostics, pagination, file-transfer output, and schema freshness warnings through injected streams.
Defines last-occurrence precedence for the --max and --limit aliases and documents the download commit boundary.
Adds regression coverage for injected dependencies, concurrent invocation isolation, pagination aliases, and file-transfer cancellation behavior.
Confidence Score: 5/5
The PR appears safe to merge, with no outstanding actionable defects identified in the changes since the previous review.
The pagination follow-up keeps each winning value paired with its alias metadata across option segments, and the file-transfer follow-up accurately documents the existing atomic commit behavior. No repository-rule violations or accepted new security findings remain.
Important Files Changed
Filename
Overview
src/cli/main.ts
Forwards injected runtime dependencies and normalizes pagination aliases according to argument order.
src/core/runtime/command-context.ts
Provides the shared command lifecycle for profile resolution, transport, retries, and output.
src/commands/issue.ts
Retains issue registry dispatch and public contracts while delegating implementation to focused modules.
src/core/io/file-transfer.ts
Documents the non-cancellable atomic rename boundary without changing its established success semantics.
tests/cli/runtime.test.ts
Covers injected runtime behavior and pagination-alias precedence across option positions.
Addressed the pagination-alias finding: aliases now normalize in token order before merging leading and command-position options, so the last --max/--limit wins. Regression tests cover both orders, both positions, equals syntax, repetitions, and validation diagnostics. Docs and bundled skills are updated.
For the summary's final-rename observation: the existing cancellation check immediately before rename is intentional. Node/filesystem rename has no cancellation API, and racing it against abort would allow a destination replacement after reporting failure. The atomic commit must report its actual result once dispatched. Added an explicit code/docs contract and a regression test proving cancellation during rename still reports the successful committed replacement. No unsafe rollback or misleading post-commit abort was introduced.
Validation after merging current main and these changes: typecheck/build pass; 933 tests passed, 1 skipped.
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
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
Closes #183
Validation
bun run typecheckbun run buildbun run test— 933 passed, 1 skippedgit diff --checkGreptile Summary
This PR consolidates command execution around a shared runtime context while preserving command contracts.
--maxand--limitaliases and documents the download commit boundary.Confidence Score: 5/5
The PR appears safe to merge, with no outstanding actionable defects identified in the changes since the previous review.
The pagination follow-up keeps each winning value paired with its alias metadata across option segments, and the file-transfer follow-up accurately documents the existing atomic commit behavior. No repository-rule violations or accepted new security findings remain.
Important Files Changed
Flowchart
%%{init: {'theme': 'neutral'}}%% flowchart LR CLI[CLI argument parsing] --> Registry[Command registry] Registry --> Options[Shared command options] Options --> Context[CommandContext] Context --> Profile[Profile resolution] Context --> Retry[Retry normalization] Context --> Transport[Injected transport] Context --> IO[Injected stdout and stderr] Context --> Handler[Curated or generated handler] Handler --> Output[Stable command output]Reviews (3): Last reviewed commit: "address greptile review feedback (greplo..." | Re-trigger Greptile