Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

Consolidate discovery module ownership and split JSONRPC orchestration responsibilities

オープン
#538 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

評価

難易度
5/5
見積もり時間
1週間以上
初心者へのやさしさ
25/100
issue の種類
リファクタリング
明瞭さ
おおむね明確
活発さ
活発
技術スタック
rust
領域
backend, cli

調査の方向性

Start with the binary module declarations in crates/pet/src/main.rs, the public modules in crates/pet/src/lib.rs, and the orchestration in crates/pet/src/jsonrpc.rs. Review the landing order in #528 and dependencies #536, #539, and #540 before separating responsibilities. Done means behavior, ordering, state-sync semantics, coverage, documentation, formatting, tests, and warnings-as-errors checks remain intact.

索引モデルが issue の本文から書いたものです。

説明

debt

Tracking plan: #528
Priority: P3. Evidence: source-confirmed maintainability and duplicate-compilation concern; no runtime speedup is assumed.

Problem

The JSONRPC orchestration module combines handlers, configuration publication/rollback, refresh coordination, locator state transfer, and telemetry follow-up. The binary also declares find/locators modules that are already public modules in the library, creating parallel module instances instead of using one implementation boundary.

Sources: binary module declarations, library modules, JSONRPC orchestration.

Scope

Use the library discovery/locator implementation from both CLI and server entry points. Extract configuration publication and refresh coordination into independently testable components, leaving RPC handlers as thin adapters. Keep locator crates and priority ordering; avoid a workspace-wide crate merger or async rewrite.

Separate behavior changes from code movement so reviewers can verify this is behavior-preserving. Update architecture/state documentation to the final ownership model, including actual transient-versus-persistent cache lifetimes and all current locators such as Hatch. Move tests with their responsibilities without losing coverage or weakening assertions.

Acceptance criteria

  • Binary and library no longer compile separate find/locators module instances; public interfaces remain deliberate and minimal.
  • Configuration publication, refresh coordination, and handler adaptation have distinct, directly testable responsibilities.
  • Existing CLI/JSONRPC output, error behavior, locator order, coalescing, generation checks, and state-sync semantics remain unchanged.
  • Full default-feature tests, relevant feature/platform jobs, formatting, and warnings-as-errors lint pass.
  • #531/#533 performance and #534 production coverage do not regress; no unmeasured runtime-speedup claim is used to justify the refactor.
  • Documentation reflects the implementation and the change does not introduce generic abstractions used only once.

Dependencies

Perform after #536, bounded scheduling #539, and output ownership #540 stabilize; the complete landing order is in #528. Use #534 coverage and #531/#533 measurements as guardrails. Smaller purely mechanical library-module reuse can be split out earlier if isolated and separately reviewed.

主要言語
Rust
スター
207
フォーク
45
平均マージ
8時間 19分
マージ済み PR(30日)
2

コントリビューションガイド

このリポジトリのコントリビューションガイドは索引されていません

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

microsoft/python-environment-tools のほかの issue

microsoft/python-environment-tools の issue をすべて見る

似ている issue

Rust の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。