I built Sift because coding agents often spend too much time reading noisy command output and rediscovering the same failure again and again.
Sift is a local-first CLI that sits between command output and the agent. It starts with heuristics, groups repeated failures, surfaces likely root causes, and points to the next useful step.
If the local pass is not enough, it can go deeper only when needed.
So far it has been most useful on pytest and vitest loops, but I am also using the same idea for typecheck, lint, build, and other noisy command output.
I built Sift because coding agents often spend too much time reading noisy command output and rediscovering the same failure again and again.
Sift is a local-first CLI that sits between command output and the agent. It starts with heuristics, groups repeated failures, surfaces likely root causes, and points to the next useful step.
If the local pass is not enough, it can go deeper only when needed.
So far it has been most useful on pytest and vitest loops, but I am also using the same idea for typecheck, lint, build, and other noisy command output.
[dead]