diff --git a/README.md b/README.md index 045b83b..951c76c 100644 --- a/README.md +++ b/README.md @@ -23,6 +23,14 @@ go test ./... ## Status +M3 (drift interceptor): while a commitment is Active, the daemon watches the +focused window. A cheap local match against the session's allowed window classes +is authoritative for on-task; only unmatched windows are sent to the LLM drift +judge (debounced and cached per class, run asynchronously). When it judges you +off-task, the active view shows a dismissible interrupt: "Back to task", "This is +on task" (which adds the app to the session's allowed list), or "End session". +The drift judge degrades gracefully — without it, local matching still runs. + M2 (AI planning coach): in the Planning view, a rough intent is "sharpened" into a structured commitment (next action, success condition, timebox) by an LLM CLI backend (claude or codex, selectable via `ANTIDRIFT_AI_BACKEND`). The