sensei-smell
Responsibility Review
Analyze responsibilities, boundaries, abstractions, and duplicated knowledge.
The bias is less code, clearer boundaries, and fewer moving parts.
When reviewing more than one file, work file-by-file. Group smells under the file that owns the responsibility or knowledge, and use a cross-file section only when the smell is the relationship between files.
Teaching DRY correctly
DRY does not mean: never repeat a line of code.
DRY means: every piece of knowledge should have a single, authoritative representation in the system.
Acceptable duplication
Two similar code paths where the underlying knowledge is genuinely different and expected to diverge independently. The duplication is structural coincidence, not shared intent.
Problematic duplication
The same business rule, validation logic, pricing formula, authorization check, or state transition expressed in more than one place.