Split the 5,400-line registry-casework review.rs module

Open
#1,218 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
48/100
Issue type
Refactor
Clarity
Mostly clear
Activity status
Active
Tech stack
rust
Domain
backend

Research direction

Start by reading crates/registry-casework/src/review.rs and comparing its existing logical seams with the sibling modules store.rs, http.rs, clocks.rs, and assignment.rs. Split the review handling into modules under a review/ directory, covering assignment and decision recording, result polling and correlation, and history or accountability recording without changing behavior.

Written by the indexing model from the issue text.

Description

area:casework enhancement rust

crates/registry-casework/src/review.rs has grown into a single 5,466-line file with roughly 112 top-level functions, as of PR #1189. For comparison, its sibling modules in the same crate are store.rs (3,624 lines), http.rs (2,265 lines), clocks.rs (2,147 lines), and assignment.rs (1,995 lines); review.rs is now noticeably larger than any of them.

Failure scenario: two contributors touching different parts of review handling (say, decision recording and result correlation) end up editing the same file, producing avoidable merge conflicts, and a reviewer looking at a diff against this file has to load a 5,000+ line module for context on a change that may only touch one narrow function.

Suggested fix:

  • Split review.rs along its existing logical seams (for example: task assignment/decision recording, result polling/correlation, and history/accountability recording) into separate modules under a review/ directory, mirroring how the crate already separates store.rs, http.rs, clocks.rs, and assignment.rs.

Filed from the review of #1189; not merge-blocking.

Dominant language
Rust
Stars
2
Forks
0
Avg merge
3h 45m
Merged PRs (30d)
134

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from registrystack/registry-stack

All issues in registrystack/registry-stack

Similar issues

More Rust issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.