Understanding and controlling what a codebase depends on - internal module coupling and cycles, and external package risk, versions, and upgrade cost. Use before adding a dependency, when an upgrade breaks things, when build times or binary sizes grow, when modules cannot be built or tested in isolation, and when auditing a project you did not write.