The Physics of Context
Why navigation is the silent tax on engineering.
The “Paging In” Problem
Every engineer knows the feeling of “paging in” a codebase. You return from lunch, open your editor, and spend fifteen minutes clicking through the call stack just to get back to the mental state you were in before you left.
We’ve accepted this as a natural part of the job. We use grep,
Find All References, and our own memory to bridge the gaps between files
But these are manual, high-effort actions.
Unfault is built on the idea that this context shouldn’t be manual. It should be ambient.
The Anatomy of a “Fact”
The difference is provenance and relationship. An IDE tells you that function A is called by file B. Unfault’s Fact engine tells you that function A is a critical node in your Checkout flow and that it currently lacks a timeout, which is a problem because its caller doesn’t handle errors.
It’s not just a link; it’s a weighted relationship.
Living in the Sidebar: Impact vs. Being Impacted
Instead of a “dashboard,” we focus on the Sidebar. It provides a vertical slice of the code’s reality based on your cursor’s position:
Upstream: “You are being called by a route with a 99.9% SLO.” This isn’t an “alert”; it’s context. It changes how careful you choose to be with your refactor.
Downstream: “The function you are calling doesn’t have retries.” Again, this isn’t a “bug report.” It’s an observation that helps you write more resilient code in the moment.
Designed for the “Calm” Workflow
The most important technical feature of Unfault is what it doesn’t do.
It doesn’t scream at you. It doesn’t underline your whole file in red. It lives in the CLI, Code Lenses or the Status Bar. If you want to know the “File Centrality” (how much of the system relies on this specific file), you look at the status bar. If you want to know the “Heads Up” for a function, you glance at the lens.
It respects the sanctity of the “Flow State.”
The CLI as a Source of Truth
For those of you who prefer the terminal, the CLI isn’t a secondary tool; it’s a primary one. | unfault ask “What is the impact of changing the payment schema?”
This isn’t AI magic; it’s a query against a semantic graph of your code. It’s for the moments when you need to step back from the editor and see the “macro” view of your architecture.