# Module guide - A module is a unit with an interface and an implementation; its interface includes invariants, ordering, errors, configuration, and performance obligations as well as types. - Prefer depth: useful behavior behind a small interface. Assess what callers must learn and where future changes will concentrate. - A seam is where the interface lives. Name the dependency that varies there and the concrete adapters that justify it; do not add a speculative port for one fixed implementation. - Test proposed behavior through the interface visible to callers. Identify the existing tests that would stay meaningful after an internal refactor. - Classify dependencies as in-process, locally substitutable, owned remote, or external before recommending an adapter or verification seam. - State what each candidate hides, what it exposes, and how an implementer can prove the selected behavior. A diagram or example may clarify a design, but it is not verification evidence.