Hold the code-review cleanups in place, and unblind the doc gate - #51
Conversation
The 2026-08-29 code-review run added `#[must_use]` to 39 public accessors and narrowed 115 `pub(crate)` items inside private modules. Neither lint is on by default here — one is pedantic, the other nursery — so `-D warnings` saw neither, and nothing would have failed when the next accessor or `pub(crate)` drifted back. The workspace is already clean for both, so `deny` costs nothing to adopt and is what turns the cleanup into a checked property. Mirrored into `fuzz/Cargo.toml`, which restates the table as its own workspace root; `scripts/lint-sync-check.sh` passes. Closes TASK-0734 Closes TASK-0737 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
`cargo doc` without `--document-private-items` warned on five links that render as bare text for a downstream reader: `dbsec` to `cli`, `logging`, `config::load_config` and `serve`, and `VaultConfig::validate_addr` to `redacted_addr`. `ops verify` passes that flag, so the local gate was blind to all five. Each is now plain code text. Making the referents public would fix the links by changing the API to suit the docs — and the proxy's own crate prose states every module below it stays private (ARCH-8). Closes TASK-0736 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (1)
Included review availability: Your plan provides up to 10 included reviews per hour; 9 remain after this review. 📝 WalkthroughWalkthroughThe change adds two denied Clippy lints at workspace and fuzz-package scope. It also updates Rust documentation references for private modules and a crate-private function without changing runtime behavior. ChangesClippy policy and documentation cleanup
Estimated code review effort: 1 (Trivial) | ~5 minutes Merge Risk: ⚪ Minimal · up to The PR enables two documented lint checks, updates documentation text to avoid invalid private-item links, and keeps the workspace and fuzz checks green; no actionable merge-blocking risk remains after normal checks and review. 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 inconclusive)
✅ Passed checks (4 passed)
Full details: Docstring CoverageExplanation No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 2 files. (1 skipped: 1 unsupported.)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
Lost when the check-and-set prose was moved onto the new method: the splice replaced the old doc comment and took the attribute with it. The lint that catches it landed in #51, so the two branches only disagreed once they met. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Follow-ups from the 2026-08-29 code-review run (PR #50), which were deliberately kept out
of the waves: two are repo-wide
Cargo.tomledits that every concurrent wave was landingagainst, and the third is unrelated to any single wave's scope.
build(lints)— TASK-0734, TASK-0737The run added
#[must_use]to 39 public accessors (wave92) and narrowed 115pub(crate)items inside private modules (wave90). Neither lint is enabled by default here —
must_use_candidateis pedantic,redundant_pub_crateis nursery — so-D warningssawneither, and nothing would have failed when the next public accessor or
pub(crate)drifted back. Both cleanups were one-shot.
The workspace is already clean for both, so
denycosts nothing to adopt now. Mirroredinto
fuzz/Cargo.toml, which restates the table as its own workspace root;scripts/lint-sync-check.shpasses.TASK-0737's criterion allowed either enabling the lint or recording the decision not to.
It is enabled — with the comment beside the table noting it is nursery, and that a future
noisy toolchain should be answered by dropping the line and writing down why, not by
scattering
#[allow].Both were negative-tested rather than assumed: a public
fn probe_must_use() -> u32indbsec-coreand apub(crate) fnin the privateclimodule each fail the build with theexpected lint.
docs— TASK-0736cargo docwithout--document-private-itemswarned on five links from public prose toprivate items.
ops verifypasses that flag, so the local gate was blind to all five whilea docs.rs-shaped build showed them as bare text.
Each is now plain code text rather than a link. The alternative — making the referents
public — would fix the links by changing the API to suit the docs, and the proxy's own
crate prose states every module below it stays private (ARCH-8).
Verification
ops verify8/8 andmake fuzz-checkgreen (the fuzz crate's lint table changed, and itis gated separately).
cargo doc --workspace --no-deps --all-featuresis now warning-free.Still open in Triage
clippy.tomlsets nomsrv. Left out on purpose: the file isshared across repos and states msrv "belongs in the consumer's own file", but this repo's
copy is that shared one and
scripts/forge-sync-check.shgates its drift; andmsrvis single-valued while the workspace is not (root
1.85,dbsec-vault1.86). Thatneeds a decision, not an edit.
thiserrorviavaultrs→rustify; not fixable in-tree.🤖 Generated with Claude Code
Summary by CodeRabbit
Code Quality
must_useguidance and unnecessary visibility declarations.Documentation