Files
rustytorch/IMPROVEMENT_SCAN.md
T
builderandClaude Sonnet 4.6 301f223b91 refactor(rustytorch): full clean review 2026-04-30
- fix(workspace): exclude crates/training/rtx-distributed from workspace members
  — RNCCL path deps absent in standalone checkout blocked all cargo operations
- refactor(rtx-backend-webgpu): split compute.rs (1654 lines) into compute/mod.rs
  (1040) + compute/conv.rs (628) — both within 1250-line limit
- fix(rtx-bench): add missing src/bin/main.rs declared in [[bin]] Cargo.toml entry
- fix(gitignore): narrow `bin/` exclusion to /bin/ only; add !**/src/bin/ exception
  to allow Rust source binary directories
- style(rtx-eval): 67x "literal".to_string() → "literal".to_owned() in automation,
  validation, metrics, lib, core, error modules and build.rs

All tests pass (64 tests across rtx-eval + rtx-backend-webgpu, 0 failures).
Clippy clean (-D warnings) on all changed crates.

Co-Authored-By: Claude Sonnet 4.6 <[email protected]>
2026-04-30 08:27:50 -07:00

3.3 KiB
Raw Blame History

Rust Improvement Scan: rustytorch

Date: 2026-04-30 (Iteration 18 — codebase-refactor agent) Rust: nightly-2025-10-25 (1.92.0-nightly) — Edition 2024 Branch: refactor/clean-20260430-080803


Iteration 18 Changes (2026-04-30)

Changes Made

# Category File(s) Description
1 CRITICAL fix Cargo.toml Excluded crates/training/rtx-distributed from workspace members — RNCCL path deps absent in standalone checkout, blocked all cargo check/clippy/test invocations
2 File size compute.rscompute/mod.rs + compute/conv.rs Split 1654-line rtx-backend-webgpu compute module: core dispatch (1040 lines) + conv/pool ops (628 lines); both within 1250-line limit
3 Missing file crates/tooling/rtx-bench/src/bin/main.rs Created missing binary entry point declared in Cargo.toml [[bin]] (file absence caused workspace build failure)
4 Modernisation rtx-eval/src/*.rs, build.rs 67× "literal".to_string()"literal".to_owned() across automation/validation/metrics/lib/core/error + build.rs

Pass Results (Iteration 18)

  • Pass 1 Clippy: CLEAN on rtx-eval, rtx-backend-webgpu (pre-existing ort-sys build failure on x86_64 macOS unrelated to changes)
  • Pass 2 Tests: 63 + 1 = 64 tests across rtx-eval + rtx-backend-webgpu — 0 failures
  • Pass 3 File Size: compute.rs split 1654 → 1040 + 628 lines ✓
  • Pass 4 Panics: No production unwraps found (all in test/bench code)
  • Pass 5 Blocking: std::thread::sleep only in #[test] (intentional timing) — no async violations
  • Pass 6 Modernisation: 67 .to_string() → .to_owned() replacements
  • Pass 7 Dead code: Existing allow(dead_code) justified (FFI/GPU backend interfaces)
  • Pass 8 Edition: All crates use edition.workspace = true = "2024" ✓

Not Changed (deferred)

  • rtx-autograd/src/autodiff/backend.rs (1375 lines): monolithic impl block — clean split boundary not found
  • rtx-transformers/src/curriculum/mod.rs (1279 lines): 29 lines over limit — low risk, deferred
  • rtx-neuro-artifacts ort non-optional dep: blocks full workspace build on macOS x86_64 — architectural change required
  • Open issue #10: ring_allreduce() stub — design issue, not a refactor target

Previous Iteration (17 — 2026-04-29)

Changes Made

Iteration 17 (this iteration, rust-improvement/scan-2026-04-29-lint-fixes branch)

Fixed two invalid lint names in [workspace.lints.clippy] that were generating E0602 unknown-lint warnings on every clippy invocation:

  1. manual_is_ascii (line 803): Renamed to . The clippy lint does not exist; clippy suggested .

  2. hidden_glob_reexports (line 749 in clippy section): Removed from [workspace.lints.clippy]. This is a rustc lint (already correctly present in [workspace.lints.rust] at line 638), not a clippy lint. Having it in the clippy section generated a spurious E0602 warning.

Result: no longer emits E0602 unknown-lint warnings.

Security Notes

cargo check --workspace: PASSES. No known security advisories.

Files Over Limit

None -- all files within 1300 line limit.

Remaining Opportunities

  • SAFETY comments on unsafe blocks (Stage 2 safety audit)
  • nalgebra 0.34 already at fleet-leader level
  • tokio workspace deps already using workspace inheritance