From 1fa94f3ca0b4e5b750052ad897c7861181191936 Mon Sep 17 00:00:00 2001 From: Felix Martin Date: Tue, 26 May 2026 10:33:32 -0400 Subject: [PATCH] Document commitment stage one --- README.md | 25 ++++++++++++++++++------- 1 file changed, 18 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index aa1f3c6..1a6f0e6 100644 --- a/README.md +++ b/README.md @@ -1,13 +1,24 @@ # AntiDrift -Just my personal productivity tool. It asks me about my intention for the next -work session. Until I have provided an intention, duration, and start a -session, it forcefully minimizes all windows. It then records all active -windows during the session. At the end, it allows me to rate how relevant each -window was and calculates a session score from that. +Just my personal productivity tool. + +## Commitment OS Stage 1 + +AntiDrift treats a work session as a commitment: next action, success +condition, timebox, evidence, transition prompts, and review. Stage 1 is +user-space friction, not privileged enforcement. + +The local event log is written to `~/.antidrift_events.jsonl`. It records +commitment creation, policy snapshots, runtime transitions, evidence health, +transition starts, and violation dismissals. The log is append-only and +hash-chained for tamper evidence, but it is not yet protected by a privileged +guardian. + +Linux active-window evidence depends on `xdotool` and is strongest on X11. +Wayland is degraded unless a compositor-specific adapter is added later. To use AntiDrift, run `cargo run --release` directly, or `cargo build --release` and copy the binary into your `PATH`. -Under Linux, we use `xdotool` to get window titles and minimize windows. Under -Windows, we use the package `winapi` for the same functionality. +Under Windows, AntiDrift uses the package `winapi` for window titles and window +minimization.