Skip to content

Conversation

@perryqh
Copy link
Contributor

@perryqh perryqh commented Aug 22, 2025

Why

  • Runner had too many responsibilities (public façade + domain logic + types).

What changed

  • Runner façade and types
  • Created src/runner/types.rs with RunConfig, RunResult, Error.
  • Created src/runner/api.rs with public runner functions (re-exported from runner.rs).
  • Updated README with module layout and a “Library usage example”.

@perryqh perryqh requested a review from Copilot August 22, 2025 02:13

This comment was marked as outdated.

@perryqh perryqh requested a review from Copilot August 22, 2025 02:33
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull Request Overview

This PR refactors the runner module to improve separation of concerns by splitting the monolithic runner implementation into a façade pattern with dedicated modules. The main goal is to extract domain logic from the public API and improve code organization.

  • Creates a modular runner architecture with separate API, types, and core functionality
  • Extracts CODEOWNERS query functions into a dedicated module for reusability
  • Adds comprehensive test coverage for the new API functions
  • Updates documentation with module layout and library usage examples

Reviewed Changes

Copilot reviewed 13 out of 14 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
tests/runner_api.rs Comprehensive integration tests for the new runner API functions
src/runner/types.rs Type definitions for RunConfig, RunResult, and Error
src/runner/api.rs Public API functions extracted from the main runner module
src/runner.rs Refactored core runner implementation with simplified public interface
src/path_utils.rs New utility module for path manipulation with tests
src/ownership/file_owner_resolver.rs Updated to use new path utilities
src/ownership/codeowners_query.rs Extracted CODEOWNERS query functions
src/ownership.rs Updated module exports
src/lib.rs Added path_utils module export
src/crosscheck.rs Updated import path
src/config.rs Added Config::load_from_path method
README.md Added module layout documentation and library usage example
Cargo.toml Version bump to 0.2.16

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

@perryqh perryqh force-pushed the refactor-runner branch 2 times, most recently from a0104c4 to cf17a65 Compare August 22, 2025 03:08
@perryqh perryqh enabled auto-merge (squash) August 22, 2025 12:17
@perryqh perryqh disabled auto-merge August 22, 2025 12:17
@perryqh perryqh merged commit 9cee8f0 into main Aug 22, 2025
8 checks passed
@github-project-automation github-project-automation bot moved this from Triage to Done in Modularity Aug 22, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

3 participants