Skip to content

ALL-ARCH1001 · module_cohesion

Assess whether a module mixes unrelated responsibilities.

This is a contextual rule for all languages. Read its implementation.

Compare the exact source of every top-level declaration in one module. Mark it mixed only when at least two declarations implement unrelated domain outcomes. Mark an explicit facade, adapter, registry, or composition root intentional_integration. Otherwise keep a single responsibility as cohesive and missing semantic evidence as uncertain. minimum_members keeps very small modules out of this semantic pass.

Findings retain the model reasoning and the exact declaration records it cited.

Composition roots, facades, adapters, and deliberate integration modules may coordinate several systems while retaining one architectural responsibility. A smaller module remains excluded unless minimum_members is lowered.

Parsing invoices and sending unrelated email campaigns in one module is mixed. A composition root wiring both systems is intentional_integration.

  • Cites “Clean Architecture”, chapters 7 and 10
  • Cites “Agile Software Development”, chapter 8
  • Cites “A Philosophy of Software Design”, chapter 10