Summary
Current main only gates Clippy through the root workspace. That leaves two gaps: workspace members do not declare a shared lint policy, and the three guest crates are excluded from the workspace lint run.
This matters for LEZ programs because unchecked panics, broad casts, vague lint suppressions, and implicit arithmetic can hide consensus-relevant behavior in account-state and zkVM code.
Affected Area
- Root
Cargo.toml has no shared [workspace.lints] policy.
- Workspace member manifests do not opt into inherited lints.
token/methods/guest, amm/methods/guest, and ata/methods/guest are excluded from the root workspace.
- Existing lint suppressions can use low-quality reasons without CI noticing.
Suggested Direction
Start with a staged baseline: enforce hard blockers first, keep noisy documentation and pedantic rules out of the initial gate, and lint guest crates separately. For guest target linting, check what stable Rust and the RISC Zero toolchain need before wiring a riscv32im-risc0-zkvm-elf CI step.
Acceptance Criteria
- Root workspace members inherit one lint baseline.
- Excluded guest crates have their own lint baseline and are checked in CI.
- CI rejects placeholder lint-suppression reasons.
- The initial gate passes on current code without hiding follow-up cleanup behind broad allowances.
Summary
Current
mainonly gates Clippy through the root workspace. That leaves two gaps: workspace members do not declare a shared lint policy, and the three guest crates are excluded from the workspace lint run.This matters for LEZ programs because unchecked panics, broad casts, vague lint suppressions, and implicit arithmetic can hide consensus-relevant behavior in account-state and zkVM code.
Affected Area
Cargo.tomlhas no shared[workspace.lints]policy.token/methods/guest,amm/methods/guest, andata/methods/guestare excluded from the root workspace.Suggested Direction
Start with a staged baseline: enforce hard blockers first, keep noisy documentation and pedantic rules out of the initial gate, and lint guest crates separately. For guest target linting, check what stable Rust and the RISC Zero toolchain need before wiring a
riscv32im-risc0-zkvm-elfCI step.Acceptance Criteria