| id | repowise-render-request-split |
|---|---|
| title | Render Request Module Split Cleanup |
| status | complete |
| branch | refactor/render-request-real-module |
| worktree | /Users/randlee/Documents/github/sc-compose-worktrees/refactor/render-request-real-module |
| target | develop |
This standalone Repowise-hotspot cleanup replaces the 730-line
render_request.rs monolith with a real render_request/ module directory.
The PR description is the authoritative implementation scope. The assignment
stated:
no dedicated sprint doc exists for this item -- it is a standalone Repowise-hotspot cleanup pass; PR #156's own description is the authoritative scope source for this task. If a documented closeout gate applies (sprint doc + docs/project-plan.md entry), satisfy it the same way you did for publish-manifest-split-merge-review-010.
This document records the completed closeout for that item.
This was not a pure relocation. As an intentional, narrowly scoped addition,
blocks.rs introduces the pub(super) read_optional_block_with seam and the
read_stdin_to_string / read_file_to_string helpers so unit tests can cover
inline, file, and stdin success paths without touching process I/O. The
production read_optional_block wrapper retains the pre-split observable
behavior; the seam exists solely to make those paths directly testable.
blocks.rsowns guidance/prompt input sources and stdin-read validation.mode.rsowns mode, profile, runtime, and confinement-root construction.request.rsowns composition request assembly.vars.rsowns CLI, var-file, environment, and pass-variable handling.tests.rsowns focused unit coverage for each helper group.mod.rsremains a thin crate-internal re-export boundary.
cargo test --workspace— passed, 0 failures.cargo build --workspace— passed.cargo fmt --all --check— passed.cargo clippy --all-targets --all-features -- -D warnings— passed.git diff --check— passed.
The split follows genuine responsibility boundaries, introduces no material
duplication or awkward coupling, and keeps visibility appropriately narrow.
The refactor is complete and ready for independent regression QA by
quality-mgr.