Review history

Updated Jul 27, 2026

Review history is stored outside the repository under the XDG state directory:

$XDG_STATE_HOME/dakar/<repo-owner>/<repo-name>/<branch-slug>/reviews.toml

When XDG_STATE_HOME is unset, Dakar uses:

~/.local/state/dakar/<repo-owner>/<repo-name>/<branch-slug>/reviews.toml

The CLI records the reviewed head commit in-process, after the workflow returns a completed result, stamping recorded.recordedBy: "dakar-review". A later run on the same branch reviews only commits after the last recorded head. If the current HEAD has already been recorded, the CLI's host-side prepare step detects this before invoking ODW at all: it prints the skip result (skipped: true) directly and never launches a model call.

To isolate a trial run from normal review history, pass stateRoot:

dakar-review \
  --repo-root "$PWD" \
  --base origin/main \
  --state-root /tmp/dakar-review-state

The equivalent direct ODW invocation, once a matching prepared object has been produced by scripts/review-state.mjs prepare, is:

odw run workflows/dakar-review.js --source . --wait --timeout 3600 \
  --args '{"config":"examples/df12-code-review.yaml","base":"origin/main",
           "repoRoot":"/path/to/dakar","stateRoot":"/tmp/dakar-review-state",
           "prepared":{"...":"see prepare output"}}'