Extract 2119-line monolithic atlas.rs into 8 focused modules under
src/bin/atlas/: main.rs (thin dispatch), common.rs (shared types and
DB helpers), show.rs, mutate.rs, stats.rs, systems.rs, author.rs,
and sync_wiki.rs. Commands enum stays in main.rs; each match arm
delegates to module::cmd_fn(&conn, args). No behavior change.
Closes#776.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The refactor from &Commands to individual parameters exposed the
13-argument signature to clippy. Allow attribute is appropriate
here — the parameters map 1:1 to DB columns.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Remove erroneous server/CHANGELOG.md and add the atlas split entry
to the project root CHANGELOG.md where it belongs.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Summary
atlas.rs(2119 lines) into 8 focused modules undersrc/bin/atlas/Verification
cargo build --bin atlas— clean, 0 warningscargo clippy -- -D warnings— cleancargo test --lib— 1147 passed, 0 failedstats,corridor-status,show-system,list-bodiesall verified against baselineArchitecture
common.rsis the dependency leaf — shared types + DB helperscommonmain.rsdispatch: each match arm ismodule::cmd_fn(&conn, args...)main.rsonly — no leaking into modulesReview: sprint-31/server -> main (type: code)
Reviewers: Hoshe (code quality), Tyre (architecture)
Hoshe (Code Quality): REQUEST_CHANGES
Refactor is correct — all 16 subcommands present, logic faithfully moved. One structural issue.
server/CHANGELOG.mdCHANGELOG.md. Deleteserver/CHANGELOG.mdand add entry to root.server/src/bin/atlas/mutate.rscmd_add_bodytakes 13 params with#[allow(clippy::too_many_arguments)]— considerBodyArgsstruct in future.Tyre (Architecture): APPROVE
Clean star-topology module decomposition. No circular dependencies. Follows Rust binary crate conventions correctly.
show.rs:48-76cmd_show_bodymanually duplicates 16-column SELECT fromcommon::query_bodies. Should use sharedquery_body_by_idhelper — maintenance trap.systems.rsidxcounter withlet _ = idxsuppression — needs clarifying comment.Verdict: CHANGES REQUESTED
Fix the changelog location (Hoshe #1). The
show.rsSQL duplication (Tyre #1) is a follow-up ticket, not a blocker.Review Round 2: APPROVED
Changelog fix confirmed —
server/CHANGELOG.mddeleted, entry moved to rootCHANGELOG.mdunder[Unreleased].Merged to main.
Pull request closed