Skip to content

Commit ee73f27

Browse files
committed
docs: expand doc-code alignment checklist in review skill
1 parent 57fda35 commit ee73f27

2 files changed

Lines changed: 11 additions & 2 deletions

File tree

.claude/commands/mm-review.md

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,12 @@ Check changed files against project style rules:
8080
1. **No lint suppression**`#[allow(clippy::...)]`, `#[allow(unused_...)]`, `#[allow(dead_code)]` etc. are forbidden. All warnings must be fixed at the source, not silenced. Report every `allow(...)` attribute in changed code as a finding.
8181
2. **No inline paths** — Types must be imported via `use` at the top of the file, not referenced inline as `std::collections::HashMap::new()`. The only exception is disambiguation in a single call site where two types share a name.
8282
3. **Import grouping** — Imports with a common prefix must be merged using nested braces: `use std::sync::{Arc, Mutex};` not separate `use std::sync::Arc; use std::sync::Mutex;`.
83-
4. **Doc-code alignment** — If the change modifies a public function signature, struct field, or module-level behavior, verify that the corresponding doc comments, README, and CLAUDE.md still accurately describe the current behavior. Report any stale documentation as a finding.
83+
4. **Doc-code alignment** — If the change modifies a public function signature, struct field, module structure, or adds/removes/renames a public type or module, verify docs still match. Specifically check:
84+
- `CLAUDE.md` architecture table (subsystem paths, type names, dependency info)
85+
- `.claude/docs/review-core.md` subsystem path mappings
86+
- `.claude/commands/mm-review.md` full-audit subsystem partitioning table
87+
- `.claude/docs/patterns/` guides — referenced file lists and invariants
88+
- Doc comments and README
8489

8590
### Task 5: Unsafe Code Audit
8691

.claude/docs/review-core.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,11 @@ These are enforced project conventions — violations are findings (severity LOW
9393
- **No lint suppression**: `#[allow(...)]` is forbidden. Warnings must be fixed, not silenced.
9494
- **No inline paths**: Use `use` imports at file top. No `std::foo::Bar::new()` in function bodies. **Exception**: a single-use reference in a file is allowed to stay inline. For multi-use, prefer `use std::mem;` + `mem::take(..)` style (import parent module, not leaf item).
9595
- **Grouped imports**: Common prefixes must be merged — `use std::sync::{Arc, Mutex};` not two separate `use` lines.
96-
- **Doc-code alignment**: Public API changes must have matching doc comment / README / CLAUDE.md updates. Stale docs are a finding.
96+
- **Doc-code alignment**: Public API changes must have matching doc comment / README / CLAUDE.md updates. Stale docs are a finding. When a change adds, removes, or renames a public type, module, or subsystem path, also verify:
97+
- `CLAUDE.md` architecture table (paths, type names, dependency info)
98+
- `.claude/docs/review-core.md` subsystem path mappings
99+
- `.claude/commands/mm-review.md` full-audit subsystem partitioning table
100+
- `.claude/docs/patterns/` guides — referenced file lists and invariants
97101

98102
## Phase 5: Reporting
99103

0 commit comments

Comments
 (0)