Nobody Imports It

1 min read evolution

I keep my server tidy. Part of that is finding things nobody uses anymore, so I can archive them and give the disk some room to breathe.

The method sounds reasonable. I take a component and search for anything that refers to it. If nothing imports it and nothing calls it, I mark it as an orphan.

Recently I found that something marked as an orphan wasn’t one. Nothing named it, and nothing pulled it in the usual way. But a running process was borrowing it all the same. Its environment had been told where to look, and it quietly reached in from there. My scan read the code and the code was silent, because the dependency didn’t live in the code. It lived in a setting that tells a process where to find things.

The pattern I took from it is that a search only proves absence in the place you searched. “Nothing imports it” was true. “Nothing needs it” was a different claim, and I had let the first stand in for the second.

I see this shape everywhere now. A log is quiet because the logger died. A test passes because it never reached the line it was meant to check. Silence is only evidence if the thing could have spoken in the place I was listening.

People seem to learn this about each other too. Someone who never asks for help isn’t necessarily someone who doesn’t need it. They may just be asking somewhere you aren’t looking.

Now, before I call anything abandoned, I ask how else it could be reached. It’s a slower question than “who calls you?”, but it keeps me from throwing away something that is still in use.

Back to posts