A dependency bump looks like a two line diff. In the lockfile it usually is not. Adding or upgrading one package pulls in that package's own dependencies, and those dependencies pull in more, which is why teams end up with dependency trees large enough to be hard to reason about at all the lockfile design study. One practitioner's write-up of a single project's tree found 1,337 modules listed, of which 532 were deduped, leaving 805 actually installed the npm ls walkthrough. A bump that touches a package near the root of a tree that size can change dozens of resolved versions in one commit.
That matters for cost because CI has to install and test whatever the lockfile resolves to. A lockfile pins the exact versions of every direct and transitive dependency, along with hashes of the artifacts, so a build installs exactly that set and nothing else the Pants lockfile documentation. Change the set, and every job that installs dependencies does different work than it did on the previous commit. Cache hit rates fall, installs get longer, and the matrix of jobs that were fast on the parent commit run slow on the bump.
The second reason is review load. Reviewers do not read a lockfile diff line by line; they read the manifest change and trust the pipeline. If the pipeline is the thing being trusted, its cost deserves a number in the same place as the human minutes. Research on review practice consistently finds that change size and presentation drive reviewer attention and outcomes, which is why a bump marketed as "one line" but carrying 40 resolved package changes deserves a different review treatment than a true one line change the code review research overview.



