How drift detection works in Vibeless
A look at how Vibeless watches your file system and compares live changes against your specs to catch divergence early.
How drift detection works in Vibeless
One of the persistent frustrations with AI-assisted development is that agents make changes that look correct locally but quietly diverge from the design you agreed on. The agent was not wrong, exactly — it just lacked the information it needed to stay aligned. Drift detection is our answer to that problem.
The basic mechanism
Vibeless runs a file watcher on your project directory. When a file changes, Vibeless reads the diff and compares it against the active spec for the affected part of the codebase.
The comparison is deterministic. There is no model making a judgment call. Vibeless looks at the classification rules attached to each spec section — file patterns, module boundaries, interface contracts — and checks whether the incoming change satisfies them, violates them, or falls outside their scope.
If a violation is found, Vibeless emits a drift event. The event describes exactly which spec clause the change conflicts with, the file that changed, and what the delta was.
What you do with a drift event
Drift events surface in the Vibeless panel in the desktop app. You have three choices for each one:
- Accept the change and update the spec. The implementation was right and the spec was wrong or outdated. Vibeless updates the relevant clause so future comparisons use the new baseline.
- Revert the change. The spec was right. You want to undo what the agent did.
- Flag for review. You are not sure yet. Vibeless marks the event as open so it shows up in the next session's handoff digest.
Per-change, not per-session
During the private alpha that preceded 0.1.0-beta, drift detection ran at session end. With 0.1.0-beta — shipping later this week — we are moving to reactive per-change detection. Every file write triggers a check rather than waiting for you to ask. This means you catch divergence as it happens, while the context is still fresh, rather than discovering it after the agent has built two more modules on top of a flawed assumption.
What drift detection does not do
Drift detection does not execute code or run tests. It works entirely on static structure — file contents, spec clauses, and the rules that connect them. It will not catch a bug that is technically consistent with the spec but wrong for another reason. Use your test suite for that.